diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,24 @@
+1.17.1 --> 1.18.0
+===================
+
+* Remove simplified AST
+* GHC 8.0 update: Overloaded labels, type applications, pattern synonym
+extensions, StrictData, injective type families
+
+AST changes:
+
+* Add TyQuasiQuote (#279).
+
+Other changes:
+
+* Only treat 'role' as a keyword in certain contexts (#286).
+* Prettyprint '!' in patterns correctly when BangPatterns are enabled (#287).
+* Parse magic hash with multiple trailing hashes (#300).
+* Apply fixities inside pattern synonym builders
+* Fix lexing of idents with multiple trailing #
+
+** 1.17.x
+
 1.17.0 --> 1.17.1
 =================
 
@@ -162,16 +183,16 @@
 
 * Modernize the Extension datatype in L.H.E.Extension, following the lead
   of Cabal, to allow negative and positive extension modifiers (turning
-  features on and off). You need to worry about backwards-incompatible 
+  features on and off). You need to worry about backwards-incompatible
   changes if any of the following pertains to you:
   1) If you use the Extension datatype programmatically - it has changed
      significantly (see documentation).
   2) The ParseMode record now has one more field
      (baseLanguage :: Language), which might give you a type error.
   3) The behavior of the (extensions :: [Extension]) field has changed,
-     which could bite you if you pass custom extensions in the ParseMode. 
-     Previously, the ParseMode defaulted to the list of extensions accepted 
-     by Haskell2010, and if you set the list explicitly you would override 
+     which could bite you if you pass custom extensions in the ParseMode.
+     Previously, the ParseMode defaulted to the list of extensions accepted
+     by Haskell2010, and if you set the list explicitly you would override
      this. Now, the defaults are { baseLanguage = Haskell2010, extensions = [] },
      and explicitly setting a list of extensions will be interpreted on top of
      Haskell2010. See further the documentation for L.H.E.Extension.
@@ -216,7 +237,7 @@
 
 * Expose Language.Haskell.Exts.Lexer, which implements
   a standalone token stream lexer. The module is
-  re-exported both by Language.Haskell.Exts and by 
+  re-exported both by Language.Haskell.Exts and by
   Language.Haskell.Exts.Annotated.
 
 
@@ -224,12 +245,12 @@
 ===============
 
 * Fix bug where operators starting with # written in
-  parentheses would not be parsed when UnboxedTuples is 
+  parentheses would not be parsed when UnboxedTuples is
   turned on. Now works.
 
-* Allow 'family' and 'forall' as (non-type) varid's. This 
-  adds one more shift/reduce conflict to the parser, and 
-  its resolution means that '{-# RULES "name" forall = ... #-}' 
+* Allow 'family' and 'forall' as (non-type) varid's. This
+  adds one more shift/reduce conflict to the parser, and
+  its resolution means that '{-# RULES "name" forall = ... #-}'
   is not allowed.
 
 * Complete the set of FFI calling conventions from the Haskell
@@ -390,12 +411,12 @@
 1.9.3 --> 1.9.4
 ===============
 
-* Pretty-printer now inserts parentheses in clever places when 
+* Pretty-printer now inserts parentheses in clever places when
   printing kinds.
 
 * Pretty-printing expressions is now far more accurate in inserting
   (and not inserting) parentheses when needed.
-  
+
 * Pretty-printing negative expressions no longer inserts a superfluous
   space between the - and the expression.
 
@@ -461,11 +482,11 @@
 
 * Export knownExtensions from .Extension.
 
-* Remove support for CFILES and INCLUDE pragmas. The support wasn't 
-  correct anyway, as it assumed the pragmas appeared at the top of 
-  files. As CFILES/INCLUDE pragmas can (and do) appear anywhere, 
-  there's no hope to support them in the AST. Better to remove the 
-  support altogether. Files with CFILES/INCLUDE pragmas can still 
+* Remove support for CFILES and INCLUDE pragmas. The support wasn't
+  correct anyway, as it assumed the pragmas appeared at the top of
+  files. As CFILES/INCLUDE pragmas can (and do) appear anywhere,
+  there's no hope to support them in the AST. Better to remove the
+  support altogether. Files with CFILES/INCLUDE pragmas can still
   be parsed of course, but those pragmas will be handled as comments.
 
 * Parsing with ignoreLinePragmas = False now correctly updates the
@@ -475,7 +496,7 @@
   declarations. The InsInline constructor is removed, and is now
   represented by InsDecl (InlineSig ...).
 
-* Fix a bug with line numbering and quasi quotes, and a similar one 
+* Fix a bug with line numbering and quasi quotes, and a similar one
   with line numbering and CDATA.
 
 * Fix a few minor bugs in the exactPrinter.
@@ -499,21 +520,21 @@
 ===============
 
 * Operators defined on the form
-  
+
      (a `op` b) c = ...
-  
-  could not be handled by the (annotated) AST, nor the parser. I had to 
+
+  could not be handled by the (annotated) AST, nor the parser. I had to
   change the definition of the AST node for InfixMatch to allow a list
   of right-hand subpatterns, i.e.
-  
+
      InfixMatch l (Pat l) (Name l) (Pat l) ...
-  
+
   has become
-  
+
      InfixMatch l (Pat l) (Name l) [Pat l] ...
 
   I also had an epiphany and fixed the issue that would arise with
-  exact printing of prefix definitions including parentheses, so 
+  exact printing of prefix definitions including parentheses, so
   that now works too!
 
 ** 1.6.x
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -16,38 +16,18 @@
 -----------------
 
 The modules that comprise haskell-src-exts all reside in the hierarchic
-namespace Language.Haskell.Exts, or its more feature-rich sibling
-Language.Haskell.Exts.Annotated. Notable exposed modules include:
+namespace Language.Haskell.Exts. Notable exposed modules include:
 
-* `Language.Haskell.Exts[.Annotated]` - Imports and re-exports all the below,
+* `Language.Haskell.Exts` - Imports and re-exports all the below,
   and also defines some functions that combine functionality from several
   modules.
-* `Language.Haskell.Exts[.Annotated].Syntax` - The abstract syntax tree
+* `Language.Haskell.Exts.Syntax` - The abstract syntax tree
   that the other modules work on.
-* `Language.Haskell.Exts[.Annotated].Build` - Combinators for building
+* `Language.Haskell.Exts.Build` - Combinators for building
   abstract syntax.
-* `Language.Haskell.Exts[.Annotated].Parser` - Functions for parsing Haskell
+* `Language.Haskell.Exts.Parser` - Functions for parsing Haskell
   source code into an abstract syntax representation.
 
-Non-comprehensive list of supported extensions
-----------------------------------------------
-
-* Multi-parameter type classes (MPTCs)
-* Functional dependencies
-* Associated types, type families
-* Liberal class and instance heads
-* Implicit parameters (ghc and hugs)
-* Explicit kind signatures
-* Pattern guards
-* Generalized algebraic data types (GADTs)
-* Template Haskell (TH)
-* Universal and existential quantification (forall)
-* Empty data type declarations
-* Unboxed tuples `(# #)`
-* Standalone deriving
-* Regular patterns
-* Haskell XML, HSX style
-* Pragmas
 
 License
 -------
diff --git a/RELEASENOTES-1.17.0 b/RELEASENOTES-1.17.0
new file mode 100644
--- /dev/null
+++ b/RELEASENOTES-1.17.0
@@ -0,0 +1,35 @@
+I am pleased to announce the release of haskell-src-exts-1.17.0! 
+
+Hackage: https://hackage.haskell.org/package/haskell-src-exts-1.17.0 
+GitHub:  https://github.com/haskell-suite/haskell-src-exts 
+
+This release brings bugfixes, as well as the following language 
+features: 
+
+* Type wildcards and expression holes (#252).
+* Pattern Synonyms (#197).
+
+The full changelog is available at 
+
+https://github.com/haskell-suite/haskell-src-exts/blob/1.17.0/CHANGELOG
+
+This release is brought to you by:
+
+Matthew Pickering
+Michael Walker
+Simon Marlow
+Neil Mitchell
+JP Moresmau
+Артур Файзрахманов
+phischu
+Michael Sloan
+m00nlight
+Niklas Broberg
+Stijn van Drongelen
+Jakub Kozlowski
+Leonid Onokhov
+
+Matthew Pickering is a force of nature who deserves a special mention
+for all his contributions to this release.
+
+Peter
diff --git a/dist/build/Language/Haskell/Exts/InternalParser.hs b/dist/build/Language/Haskell/Exts/InternalParser.hs
--- a/dist/build/Language/Haskell/Exts/InternalParser.hs
+++ b/dist/build/Language/Haskell/Exts/InternalParser.hs
@@ -27,9203 +27,9587 @@
               ngparsePragmasAndModuleHead,
               ngparsePragmasAndModuleName
               ) where
-import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Exp(..), Asst(..), XAttr(..), FieldUpdate(..) )
-import Language.Haskell.Exts.Annotated.Syntax ( Type, Exp, Asst )
-import Language.Haskell.Exts.ParseMonad
-import Language.Haskell.Exts.InternalLexer
-import Language.Haskell.Exts.ParseUtils
-import Language.Haskell.Exts.Annotated.Fixity
-import Language.Haskell.Exts.SrcLoc
-import Language.Haskell.Exts.Extension
-
-import Control.Monad ( liftM, (<=<), when )
-import Control.Applicative ( (<$>) )
-import Data.Maybe
-import qualified Data.Array as Happy_Data_Array
-import qualified GHC.Exts as Happy_GHC_Exts
-import Control.Applicative(Applicative(..))
-import Control.Monad (ap)
-
--- parser produced by Happy Version 1.19.5
-
-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 :: (QName L) -> (HappyAbsSyn )
-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn34 #-}
-happyOut34 :: (HappyAbsSyn ) -> (QName L)
-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut34 #-}
-happyIn35 :: (([ImportDecl L],[S])) -> (HappyAbsSyn )
-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn35 #-}
-happyOut35 :: (HappyAbsSyn ) -> (([ImportDecl L],[S]))
-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut35 #-}
-happyIn36 :: (ImportDecl L) -> (HappyAbsSyn )
-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn36 #-}
-happyOut36 :: (HappyAbsSyn ) -> (ImportDecl L)
-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut36 #-}
-happyIn37 :: ((Bool,[S])) -> (HappyAbsSyn )
-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn37 #-}
-happyOut37 :: (HappyAbsSyn ) -> ((Bool,[S]))
-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut37 #-}
-happyIn38 :: ((Bool,[S])) -> (HappyAbsSyn )
-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn38 #-}
-happyOut38 :: (HappyAbsSyn ) -> ((Bool,[S]))
-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 :: ((Maybe String,[S])) -> (HappyAbsSyn )
-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn40 #-}
-happyOut40 :: (HappyAbsSyn ) -> ((Maybe String,[S]))
-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut40 #-}
-happyIn41 :: ((Maybe (ModuleName L),[S],Maybe L)) -> (HappyAbsSyn )
-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn41 #-}
-happyOut41 :: (HappyAbsSyn ) -> ((Maybe (ModuleName L),[S],Maybe L))
-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut41 #-}
-happyIn42 :: (Maybe (ImportSpecList L)) -> (HappyAbsSyn )
-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn42 #-}
-happyOut42 :: (HappyAbsSyn ) -> (Maybe (ImportSpecList L))
-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut42 #-}
-happyIn43 :: (ImportSpecList L) -> (HappyAbsSyn )
-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn43 #-}
-happyOut43 :: (HappyAbsSyn ) -> (ImportSpecList L)
-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut43 #-}
-happyIn44 :: ((Bool, Maybe L,[S])) -> (HappyAbsSyn )
-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn44 #-}
-happyOut44 :: (HappyAbsSyn ) -> ((Bool, Maybe L,[S]))
-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut44 #-}
-happyIn45 :: (([ImportSpec L],[S])) -> (HappyAbsSyn )
-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn45 #-}
-happyOut45 :: (HappyAbsSyn ) -> (([ImportSpec L],[S]))
-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut45 #-}
-happyIn46 :: (ImportSpec L) -> (HappyAbsSyn )
-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn46 #-}
-happyOut46 :: (HappyAbsSyn ) -> (ImportSpec L)
-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut46 #-}
-happyIn47 :: (([CName L],[S])) -> (HappyAbsSyn )
-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn47 #-}
-happyOut47 :: (HappyAbsSyn ) -> (([CName L],[S]))
-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut47 #-}
-happyIn48 :: (CName L) -> (HappyAbsSyn )
-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn48 #-}
-happyOut48 :: (HappyAbsSyn ) -> (CName L)
-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut48 #-}
-happyIn49 :: (Decl L) -> (HappyAbsSyn )
-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn49 #-}
-happyOut49 :: (HappyAbsSyn ) -> (Decl L)
-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut49 #-}
-happyIn50 :: ((Maybe Int, [S])) -> (HappyAbsSyn )
-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn50 #-}
-happyOut50 :: (HappyAbsSyn ) -> ((Maybe Int, [S]))
-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut50 #-}
-happyIn51 :: (Assoc L) -> (HappyAbsSyn )
-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn51 #-}
-happyOut51 :: (HappyAbsSyn ) -> (Assoc L)
-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut51 #-}
-happyIn52 :: (([Op L],[S],L)) -> (HappyAbsSyn )
-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn52 #-}
-happyOut52 :: (HappyAbsSyn ) -> (([Op L],[S],L))
-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut52 #-}
-happyIn53 :: (([Decl L],[S])) -> (HappyAbsSyn )
-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn53 #-}
-happyOut53 :: (HappyAbsSyn ) -> (([Decl L],[S]))
-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut53 #-}
-happyIn54 :: (([Decl L],[S])) -> (HappyAbsSyn )
-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn54 #-}
-happyOut54 :: (HappyAbsSyn ) -> (([Decl L],[S]))
-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut54 #-}
-happyIn55 :: (Decl L) -> (HappyAbsSyn )
-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn55 #-}
-happyOut55 :: (HappyAbsSyn ) -> (Decl L)
-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut55 #-}
-happyIn56 :: (Decl L) -> (HappyAbsSyn )
-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn56 #-}
-happyOut56 :: (HappyAbsSyn ) -> (Decl L)
-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut56 #-}
-happyIn57 :: ([(Maybe String, L)]) -> (HappyAbsSyn )
-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn57 #-}
-happyOut57 :: (HappyAbsSyn ) -> ([(Maybe String, L)])
-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut57 #-}
-happyIn58 :: ((Maybe String, L)) -> (HappyAbsSyn )
-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn58 #-}
-happyOut58 :: (HappyAbsSyn ) -> ((Maybe String, L))
-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut58 #-}
-happyIn59 :: (Maybe (Overlap L)) -> (HappyAbsSyn )
-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn59 #-}
-happyOut59 :: (HappyAbsSyn ) -> (Maybe (Overlap L))
-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut59 #-}
-happyIn60 :: (Maybe ([TypeEqn L], S)) -> (HappyAbsSyn )
-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn60 #-}
-happyOut60 :: (HappyAbsSyn ) -> (Maybe ([TypeEqn L], S))
-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut60 #-}
-happyIn61 :: ([TypeEqn L]) -> (HappyAbsSyn )
-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn61 #-}
-happyOut61 :: (HappyAbsSyn ) -> ([TypeEqn L])
-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut61 #-}
-happyIn62 :: ([TypeEqn L]) -> (HappyAbsSyn )
-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn62 #-}
-happyOut62 :: (HappyAbsSyn ) -> ([TypeEqn L])
-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut62 #-}
-happyIn63 :: (TypeEqn L) -> (HappyAbsSyn )
-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn63 #-}
-happyOut63 :: (HappyAbsSyn ) -> (TypeEqn L)
-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut63 #-}
-happyIn64 :: (DataOrNew L) -> (HappyAbsSyn )
-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn64 #-}
-happyOut64 :: (HappyAbsSyn ) -> (DataOrNew L)
-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut64 #-}
-happyIn65 :: (([Type L],[S])) -> (HappyAbsSyn )
-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn65 #-}
-happyOut65 :: (HappyAbsSyn ) -> (([Type L],[S]))
-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut65 #-}
-happyIn66 :: (([Decl L],[S])) -> (HappyAbsSyn )
-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn66 #-}
-happyOut66 :: (HappyAbsSyn ) -> (([Decl L],[S]))
-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut66 #-}
-happyIn67 :: (([Decl L],[S])) -> (HappyAbsSyn )
-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn67 #-}
-happyOut67 :: (HappyAbsSyn ) -> (([Decl L],[S]))
-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut67 #-}
-happyIn68 :: (Decl L) -> (HappyAbsSyn )
-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn68 #-}
-happyOut68 :: (HappyAbsSyn ) -> (Decl L)
-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut68 #-}
-happyIn69 :: (Binds L) -> (HappyAbsSyn )
-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn69 #-}
-happyOut69 :: (HappyAbsSyn ) -> (Binds L)
-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut69 #-}
-happyIn70 :: (Decl L) -> (HappyAbsSyn )
-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn70 #-}
-happyOut70 :: (HappyAbsSyn ) -> (Decl L)
-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut70 #-}
-happyIn71 :: (Decl L) -> (HappyAbsSyn )
-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn71 #-}
-happyOut71 :: (HappyAbsSyn ) -> (Decl L)
-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut71 #-}
-happyIn72 :: (Decl L) -> (HappyAbsSyn )
-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn72 #-}
-happyOut72 :: (HappyAbsSyn ) -> (Decl L)
-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut72 #-}
-happyIn73 :: (([Type L],[S])) -> (HappyAbsSyn )
-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn73 #-}
-happyOut73 :: (HappyAbsSyn ) -> (([Type L],[S]))
-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut73 #-}
-happyIn74 :: (Type L) -> (HappyAbsSyn )
-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn74 #-}
-happyOut74 :: (HappyAbsSyn ) -> (Type L)
-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut74 #-}
-happyIn75 :: (Maybe (BooleanFormula L)) -> (HappyAbsSyn )
-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn75 #-}
-happyOut75 :: (HappyAbsSyn ) -> (Maybe (BooleanFormula L))
-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut75 #-}
-happyIn76 :: (BooleanFormula L) -> (HappyAbsSyn )
-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn76 #-}
-happyOut76 :: (HappyAbsSyn ) -> (BooleanFormula L)
-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut76 #-}
-happyIn77 :: (BooleanFormula L) -> (HappyAbsSyn )
-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn77 #-}
-happyOut77 :: (HappyAbsSyn ) -> (BooleanFormula L)
-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut77 #-}
-happyIn78 :: (BooleanFormula L) -> (HappyAbsSyn )
-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn78 #-}
-happyOut78 :: (HappyAbsSyn ) -> (BooleanFormula L)
-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut78 #-}
-happyIn79 :: (Binds L) -> (HappyAbsSyn )
-happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn79 #-}
-happyOut79 :: (HappyAbsSyn ) -> (Binds L)
-happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut79 #-}
-happyIn80 :: (([Name L],[S],L)) -> (HappyAbsSyn )
-happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn80 #-}
-happyOut80 :: (HappyAbsSyn ) -> (([Name L],[S],L))
-happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut80 #-}
-happyIn81 :: (CallConv L) -> (HappyAbsSyn )
-happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn81 #-}
-happyOut81 :: (HappyAbsSyn ) -> (CallConv L)
-happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut81 #-}
-happyIn82 :: (Maybe (Safety L)) -> (HappyAbsSyn )
-happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn82 #-}
-happyOut82 :: (HappyAbsSyn ) -> (Maybe (Safety L))
-happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut82 #-}
-happyIn83 :: ((Maybe String, Name L, Type L, [S])) -> (HappyAbsSyn )
-happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn83 #-}
-happyOut83 :: (HappyAbsSyn ) -> ((Maybe String, Name L, Type L, [S]))
-happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut83 #-}
-happyIn84 :: ([Rule L]) -> (HappyAbsSyn )
-happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn84 #-}
-happyOut84 :: (HappyAbsSyn ) -> ([Rule L])
-happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut84 #-}
-happyIn85 :: (Rule L) -> (HappyAbsSyn )
-happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn85 #-}
-happyOut85 :: (HappyAbsSyn ) -> (Rule L)
-happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut85 #-}
-happyIn86 :: (Maybe (Activation L)) -> (HappyAbsSyn )
-happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn86 #-}
-happyOut86 :: (HappyAbsSyn ) -> (Maybe (Activation L))
-happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut86 #-}
-happyIn87 :: ((Maybe [RuleVar L],[S])) -> (HappyAbsSyn )
-happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn87 #-}
-happyOut87 :: (HappyAbsSyn ) -> ((Maybe [RuleVar L],[S]))
-happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut87 #-}
-happyIn88 :: ([RuleVar L]) -> (HappyAbsSyn )
-happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn88 #-}
-happyOut88 :: (HappyAbsSyn ) -> ([RuleVar L])
-happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut88 #-}
-happyIn89 :: (RuleVar L) -> (HappyAbsSyn )
-happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn89 #-}
-happyOut89 :: (HappyAbsSyn ) -> (RuleVar L)
-happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut89 #-}
-happyIn90 :: (([([Name L],String)],[S])) -> (HappyAbsSyn )
-happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn90 #-}
-happyOut90 :: (HappyAbsSyn ) -> (([([Name L],String)],[S]))
-happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut90 #-}
-happyIn91 :: ((([Name L], String),[S])) -> (HappyAbsSyn )
-happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn91 #-}
-happyOut91 :: (HappyAbsSyn ) -> ((([Name L], String),[S]))
-happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut91 #-}
-happyIn92 :: (([Name L],[S])) -> (HappyAbsSyn )
-happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn92 #-}
-happyOut92 :: (HappyAbsSyn ) -> (([Name L],[S]))
-happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut92 #-}
-happyIn93 :: (Name L) -> (HappyAbsSyn )
-happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn93 #-}
-happyOut93 :: (HappyAbsSyn ) -> (Name L)
-happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut93 #-}
-happyIn94 :: (Annotation L) -> (HappyAbsSyn )
-happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn94 #-}
-happyOut94 :: (HappyAbsSyn ) -> (Annotation L)
-happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut94 #-}
-happyIn95 :: (Type L) -> (HappyAbsSyn )
-happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn95 #-}
-happyOut95 :: (HappyAbsSyn ) -> (Type L)
-happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut95 #-}
-happyIn96 :: (PType L) -> (HappyAbsSyn )
-happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn96 #-}
-happyOut96 :: (HappyAbsSyn ) -> (PType L)
-happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut96 #-}
-happyIn97 :: (Type L) -> (HappyAbsSyn )
-happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn97 #-}
-happyOut97 :: (HappyAbsSyn ) -> (Type L)
-happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut97 #-}
-happyIn98 :: (PType L) -> (HappyAbsSyn )
-happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn98 #-}
-happyOut98 :: (HappyAbsSyn ) -> (PType L)
-happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut98 #-}
-happyIn99 :: (Type L) -> (HappyAbsSyn )
-happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn99 #-}
-happyOut99 :: (HappyAbsSyn ) -> (Type L)
-happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut99 #-}
-happyIn100 :: (PType L) -> (HappyAbsSyn )
-happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn100 #-}
-happyOut100 :: (HappyAbsSyn ) -> (PType L)
-happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut100 #-}
-happyIn101 :: (PType L) -> (HappyAbsSyn )
-happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn101 #-}
-happyOut101 :: (HappyAbsSyn ) -> (PType L)
-happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut101 #-}
-happyIn102 :: (Promoted L) -> (HappyAbsSyn )
-happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn102 #-}
-happyOut102 :: (HappyAbsSyn ) -> (Promoted L)
-happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut102 #-}
-happyIn103 :: ((Bool, [S])) -> (HappyAbsSyn )
-happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn103 #-}
-happyOut103 :: (HappyAbsSyn ) -> ((Bool, [S]))
-happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut103 #-}
-happyIn104 :: (QName L) -> (HappyAbsSyn )
-happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn104 #-}
-happyOut104 :: (HappyAbsSyn ) -> (QName L)
-happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut104 #-}
-happyIn105 :: (QName L) -> (HappyAbsSyn )
-happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn105 #-}
-happyOut105 :: (HappyAbsSyn ) -> (QName L)
-happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut105 #-}
-happyIn106 :: (QName L) -> (HappyAbsSyn )
-happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn106 #-}
-happyOut106 :: (HappyAbsSyn ) -> (QName L)
-happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut106 #-}
-happyIn107 :: (Type L) -> (HappyAbsSyn )
-happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn107 #-}
-happyOut107 :: (HappyAbsSyn ) -> (Type L)
-happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut107 #-}
-happyIn108 :: (PType L) -> (HappyAbsSyn )
-happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn108 #-}
-happyOut108 :: (HappyAbsSyn ) -> (PType L)
-happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut108 #-}
-happyIn109 :: (PContext L) -> (HappyAbsSyn )
-happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn109 #-}
-happyOut109 :: (HappyAbsSyn ) -> (PContext L)
-happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut109 #-}
-happyIn110 :: (([PType L],[S])) -> (HappyAbsSyn )
-happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn110 #-}
-happyOut110 :: (HappyAbsSyn ) -> (([PType L],[S]))
-happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut110 #-}
-happyIn111 :: (([PType L],[S])) -> (HappyAbsSyn )
-happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn111 #-}
-happyOut111 :: (HappyAbsSyn ) -> (([PType L],[S]))
-happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut111 #-}
-happyIn112 :: (([TyVarBind L],Maybe L)) -> (HappyAbsSyn )
-happyIn112 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn112 #-}
-happyOut112 :: (HappyAbsSyn ) -> (([TyVarBind L],Maybe L))
-happyOut112 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut112 #-}
-happyIn113 :: (TyVarBind L) -> (HappyAbsSyn )
-happyIn113 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn113 #-}
-happyOut113 :: (HappyAbsSyn ) -> (TyVarBind L)
-happyOut113 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut113 #-}
-happyIn114 :: (([Name L],Maybe L)) -> (HappyAbsSyn )
-happyIn114 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn114 #-}
-happyOut114 :: (HappyAbsSyn ) -> (([Name L],Maybe L))
-happyOut114 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut114 #-}
-happyIn115 :: (([Name L],L)) -> (HappyAbsSyn )
-happyIn115 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn115 #-}
-happyOut115 :: (HappyAbsSyn ) -> (([Name L],L))
-happyOut115 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut115 #-}
-happyIn116 :: (([FunDep L],[S],Maybe L)) -> (HappyAbsSyn )
-happyIn116 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn116 #-}
-happyOut116 :: (HappyAbsSyn ) -> (([FunDep L],[S],Maybe L))
-happyOut116 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut116 #-}
-happyIn117 :: (([FunDep L],[S],L)) -> (HappyAbsSyn )
-happyIn117 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn117 #-}
-happyOut117 :: (HappyAbsSyn ) -> (([FunDep L],[S],L))
-happyOut117 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut117 #-}
-happyIn118 :: (FunDep L) -> (HappyAbsSyn )
-happyIn118 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn118 #-}
-happyOut118 :: (HappyAbsSyn ) -> (FunDep L)
-happyOut118 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut118 #-}
-happyIn119 :: (([GadtDecl L],[S],Maybe L)) -> (HappyAbsSyn )
-happyIn119 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn119 #-}
-happyOut119 :: (HappyAbsSyn ) -> (([GadtDecl L],[S],Maybe L))
-happyOut119 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut119 #-}
-happyIn120 :: (([GadtDecl L],[S])) -> (HappyAbsSyn )
-happyIn120 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn120 #-}
-happyOut120 :: (HappyAbsSyn ) -> (([GadtDecl L],[S]))
-happyOut120 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut120 #-}
-happyIn121 :: (([GadtDecl L],[S])) -> (HappyAbsSyn )
-happyIn121 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn121 #-}
-happyOut121 :: (HappyAbsSyn ) -> (([GadtDecl L],[S]))
-happyOut121 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut121 #-}
-happyIn122 :: ([GadtDecl L]) -> (HappyAbsSyn )
-happyIn122 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn122 #-}
-happyOut122 :: (HappyAbsSyn ) -> ([GadtDecl L])
-happyOut122 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut122 #-}
-happyIn123 :: (([QualConDecl L],[S],Maybe L)) -> (HappyAbsSyn )
-happyIn123 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn123 #-}
-happyOut123 :: (HappyAbsSyn ) -> (([QualConDecl L],[S],Maybe L))
-happyOut123 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut123 #-}
-happyIn124 :: (([QualConDecl L],[S],L)) -> (HappyAbsSyn )
-happyIn124 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn124 #-}
-happyOut124 :: (HappyAbsSyn ) -> (([QualConDecl L],[S],L))
-happyOut124 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut124 #-}
-happyIn125 :: (QualConDecl L) -> (HappyAbsSyn )
-happyIn125 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn125 #-}
-happyOut125 :: (HappyAbsSyn ) -> (QualConDecl L)
-happyOut125 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut125 #-}
-happyIn126 :: ((Maybe [TyVarBind L], [S], Maybe L)) -> (HappyAbsSyn )
-happyIn126 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn126 #-}
-happyOut126 :: (HappyAbsSyn ) -> ((Maybe [TyVarBind L], [S], Maybe L))
-happyOut126 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut126 #-}
-happyIn127 :: (ConDecl L) -> (HappyAbsSyn )
-happyIn127 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn127 #-}
-happyOut127 :: (HappyAbsSyn ) -> (ConDecl L)
-happyOut127 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut127 #-}
-happyIn128 :: ((Name L, [Type L], L)) -> (HappyAbsSyn )
-happyIn128 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn128 #-}
-happyOut128 :: (HappyAbsSyn ) -> ((Name L, [Type L], L))
-happyOut128 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut128 #-}
-happyIn129 :: (([FieldDecl L],[S])) -> (HappyAbsSyn )
-happyIn129 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn129 #-}
-happyOut129 :: (HappyAbsSyn ) -> (([FieldDecl L],[S]))
-happyOut129 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut129 #-}
-happyIn130 :: (FieldDecl L) -> (HappyAbsSyn )
-happyIn130 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn130 #-}
-happyOut130 :: (HappyAbsSyn ) -> (FieldDecl L)
-happyOut130 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut130 #-}
-happyIn131 :: (Maybe (Deriving L)) -> (HappyAbsSyn )
-happyIn131 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn131 #-}
-happyOut131 :: (HappyAbsSyn ) -> (Maybe (Deriving L))
-happyOut131 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut131 #-}
-happyIn132 :: (([InstRule L],[S])) -> (HappyAbsSyn )
-happyIn132 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn132 #-}
-happyOut132 :: (HappyAbsSyn ) -> (([InstRule L],[S]))
-happyOut132 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut132 #-}
-happyIn133 :: (InstHead L) -> (HappyAbsSyn )
-happyIn133 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn133 #-}
-happyOut133 :: (HappyAbsSyn ) -> (InstHead L)
-happyOut133 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut133 #-}
-happyIn134 :: (Kind L) -> (HappyAbsSyn )
-happyIn134 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn134 #-}
-happyOut134 :: (HappyAbsSyn ) -> (Kind L)
-happyOut134 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut134 #-}
-happyIn135 :: (Kind L) -> (HappyAbsSyn )
-happyIn135 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn135 #-}
-happyOut135 :: (HappyAbsSyn ) -> (Kind L)
-happyOut135 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut135 #-}
-happyIn136 :: (Kind L) -> (HappyAbsSyn )
-happyIn136 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn136 #-}
-happyOut136 :: (HappyAbsSyn ) -> (Kind L)
-happyOut136 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut136 #-}
-happyIn137 :: (Kind L) -> (HappyAbsSyn )
-happyIn137 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn137 #-}
-happyOut137 :: (HappyAbsSyn ) -> (Kind L)
-happyOut137 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut137 #-}
-happyIn138 :: (Kind L) -> (HappyAbsSyn )
-happyIn138 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn138 #-}
-happyOut138 :: (HappyAbsSyn ) -> (Kind L)
-happyOut138 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut138 #-}
-happyIn139 :: (([Kind L], [S])) -> (HappyAbsSyn )
-happyIn139 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn139 #-}
-happyOut139 :: (HappyAbsSyn ) -> (([Kind L], [S]))
-happyOut139 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut139 #-}
-happyIn140 :: ((Maybe (Kind L), [S])) -> (HappyAbsSyn )
-happyIn140 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn140 #-}
-happyOut140 :: (HappyAbsSyn ) -> ((Maybe (Kind L), [S]))
-happyOut140 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut140 #-}
-happyIn141 :: ((Maybe [ClassDecl L],[S],Maybe L)) -> (HappyAbsSyn )
-happyIn141 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn141 #-}
-happyOut141 :: (HappyAbsSyn ) -> ((Maybe [ClassDecl L],[S],Maybe L))
-happyOut141 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut141 #-}
-happyIn142 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )
-happyIn142 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn142 #-}
-happyOut142 :: (HappyAbsSyn ) -> (([ClassDecl L],[S]))
-happyOut142 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut142 #-}
-happyIn143 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )
-happyIn143 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn143 #-}
-happyOut143 :: (HappyAbsSyn ) -> (([ClassDecl L],[S]))
-happyOut143 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut143 #-}
-happyIn144 :: (ClassDecl L) -> (HappyAbsSyn )
-happyIn144 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn144 #-}
-happyOut144 :: (HappyAbsSyn ) -> (ClassDecl L)
-happyOut144 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut144 #-}
-happyIn145 :: (ClassDecl L) -> (HappyAbsSyn )
-happyIn145 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn145 #-}
-happyOut145 :: (HappyAbsSyn ) -> (ClassDecl L)
-happyOut145 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut145 #-}
-happyIn146 :: ((Maybe [InstDecl L],[S],Maybe L)) -> (HappyAbsSyn )
-happyIn146 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn146 #-}
-happyOut146 :: (HappyAbsSyn ) -> ((Maybe [InstDecl L],[S],Maybe L))
-happyOut146 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut146 #-}
-happyIn147 :: (([InstDecl L],[S])) -> (HappyAbsSyn )
-happyIn147 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn147 #-}
-happyOut147 :: (HappyAbsSyn ) -> (([InstDecl L],[S]))
-happyOut147 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut147 #-}
-happyIn148 :: (([InstDecl L],[S])) -> (HappyAbsSyn )
-happyIn148 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn148 #-}
-happyOut148 :: (HappyAbsSyn ) -> (([InstDecl L],[S]))
-happyOut148 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut148 #-}
-happyIn149 :: (InstDecl L) -> (HappyAbsSyn )
-happyIn149 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn149 #-}
-happyOut149 :: (HappyAbsSyn ) -> (InstDecl L)
-happyOut149 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut149 #-}
-happyIn150 :: (InstDecl L) -> (HappyAbsSyn )
-happyIn150 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn150 #-}
-happyOut150 :: (HappyAbsSyn ) -> (InstDecl L)
-happyOut150 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut150 #-}
-happyIn151 :: (Decl L) -> (HappyAbsSyn )
-happyIn151 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn151 #-}
-happyOut151 :: (HappyAbsSyn ) -> (Decl L)
-happyOut151 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut151 #-}
-happyIn152 :: ((Maybe (Binds L),[S])) -> (HappyAbsSyn )
-happyIn152 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn152 #-}
-happyOut152 :: (HappyAbsSyn ) -> ((Maybe (Binds L),[S]))
-happyOut152 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut152 #-}
-happyIn153 :: ((Maybe (Type L, S))) -> (HappyAbsSyn )
-happyIn153 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn153 #-}
-happyOut153 :: (HappyAbsSyn ) -> ((Maybe (Type L, S)))
-happyOut153 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut153 #-}
-happyIn154 :: (Rhs L) -> (HappyAbsSyn )
-happyIn154 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn154 #-}
-happyOut154 :: (HappyAbsSyn ) -> (Rhs L)
-happyOut154 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut154 #-}
-happyIn155 :: (([GuardedRhs L],L)) -> (HappyAbsSyn )
-happyIn155 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn155 #-}
-happyOut155 :: (HappyAbsSyn ) -> (([GuardedRhs L],L))
-happyOut155 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut155 #-}
-happyIn156 :: (GuardedRhs L) -> (HappyAbsSyn )
-happyIn156 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn156 #-}
-happyOut156 :: (HappyAbsSyn ) -> (GuardedRhs L)
-happyOut156 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut156 #-}
-happyIn157 :: (Exp L) -> (HappyAbsSyn )
-happyIn157 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn157 #-}
-happyOut157 :: (HappyAbsSyn ) -> (Exp L)
-happyOut157 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut157 #-}
-happyIn158 :: (PExp L) -> (HappyAbsSyn )
-happyIn158 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn158 #-}
-happyOut158 :: (HappyAbsSyn ) -> (PExp L)
-happyOut158 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut158 #-}
-happyIn159 :: (PExp L) -> (HappyAbsSyn )
-happyIn159 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn159 #-}
-happyOut159 :: (HappyAbsSyn ) -> (PExp L)
-happyOut159 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut159 #-}
-happyIn160 :: (PExp L) -> (HappyAbsSyn )
-happyIn160 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn160 #-}
-happyOut160 :: (HappyAbsSyn ) -> (PExp L)
-happyOut160 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut160 #-}
-happyIn161 :: (PExp L) -> (HappyAbsSyn )
-happyIn161 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn161 #-}
-happyOut161 :: (HappyAbsSyn ) -> (PExp L)
-happyOut161 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut161 #-}
-happyIn162 :: (PExp L) -> (HappyAbsSyn )
-happyIn162 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn162 #-}
-happyOut162 :: (HappyAbsSyn ) -> (PExp L)
-happyOut162 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut162 #-}
-happyIn163 :: ([S]) -> (HappyAbsSyn )
-happyIn163 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn163 #-}
-happyOut163 :: (HappyAbsSyn ) -> ([S])
-happyOut163 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut163 #-}
-happyIn164 :: ([S]) -> (HappyAbsSyn )
-happyIn164 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn164 #-}
-happyOut164 :: (HappyAbsSyn ) -> ([S])
-happyOut164 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut164 #-}
-happyIn165 :: (PExp L) -> (HappyAbsSyn )
-happyIn165 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn165 #-}
-happyOut165 :: (HappyAbsSyn ) -> (PExp L)
-happyOut165 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut165 #-}
-happyIn166 :: (PExp L) -> (HappyAbsSyn )
-happyIn166 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn166 #-}
-happyOut166 :: (HappyAbsSyn ) -> (PExp L)
-happyOut166 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut166 #-}
-happyIn167 :: (PExp L) -> (HappyAbsSyn )
-happyIn167 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn167 #-}
-happyOut167 :: (HappyAbsSyn ) -> (PExp L)
-happyOut167 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut167 #-}
-happyIn168 :: ([Pat L]) -> (HappyAbsSyn )
-happyIn168 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn168 #-}
-happyOut168 :: (HappyAbsSyn ) -> ([Pat L])
-happyOut168 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut168 #-}
-happyIn169 :: (Pat L) -> (HappyAbsSyn )
-happyIn169 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn169 #-}
-happyOut169 :: (HappyAbsSyn ) -> (Pat L)
-happyOut169 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut169 #-}
-happyIn170 :: (PExp L) -> (HappyAbsSyn )
-happyIn170 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn170 #-}
-happyOut170 :: (HappyAbsSyn ) -> (PExp L)
-happyOut170 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut170 #-}
-happyIn171 :: (PExp L) -> (HappyAbsSyn )
-happyIn171 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn171 #-}
-happyOut171 :: (HappyAbsSyn ) -> (PExp L)
-happyOut171 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut171 #-}
-happyIn172 :: (PExp L) -> (HappyAbsSyn )
-happyIn172 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn172 #-}
-happyOut172 :: (HappyAbsSyn ) -> (PExp L)
-happyOut172 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut172 #-}
-happyIn173 :: ([S]) -> (HappyAbsSyn )
-happyIn173 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn173 #-}
-happyOut173 :: (HappyAbsSyn ) -> ([S])
-happyOut173 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut173 #-}
-happyIn174 :: (PExp L) -> (HappyAbsSyn )
-happyIn174 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn174 #-}
-happyOut174 :: (HappyAbsSyn ) -> (PExp L)
-happyOut174 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut174 #-}
-happyIn175 :: (([Maybe (PExp L)],[S])) -> (HappyAbsSyn )
-happyIn175 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn175 #-}
-happyOut175 :: (HappyAbsSyn ) -> (([Maybe (PExp L)],[S]))
-happyOut175 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut175 #-}
-happyIn176 :: (([Maybe (PExp L)],[S])) -> (HappyAbsSyn )
-happyIn176 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn176 #-}
-happyOut176 :: (HappyAbsSyn ) -> (([Maybe (PExp L)],[S]))
-happyOut176 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut176 #-}
-happyIn177 :: (([PExp L],[S])) -> (HappyAbsSyn )
-happyIn177 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn177 #-}
-happyOut177 :: (HappyAbsSyn ) -> (([PExp L],[S]))
-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 :: ([PExp L]) -> (HappyAbsSyn )
-happyIn180 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn180 #-}
-happyOut180 :: (HappyAbsSyn ) -> ([PExp L])
-happyOut180 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut180 #-}
-happyIn181 :: (PExp L) -> (HappyAbsSyn )
-happyIn181 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn181 #-}
-happyOut181 :: (HappyAbsSyn ) -> (PExp L)
-happyOut181 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut181 #-}
-happyIn182 :: (XName L) -> (HappyAbsSyn )
-happyIn182 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn182 #-}
-happyOut182 :: (HappyAbsSyn ) -> (XName L)
-happyOut182 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut182 #-}
-happyIn183 :: (Loc String) -> (HappyAbsSyn )
-happyIn183 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn183 #-}
-happyOut183 :: (HappyAbsSyn ) -> (Loc String)
-happyOut183 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut183 #-}
-happyIn184 :: (Loc String) -> (HappyAbsSyn )
-happyIn184 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn184 #-}
-happyOut184 :: (HappyAbsSyn ) -> (Loc String)
-happyOut184 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut184 #-}
-happyIn185 :: ([ParseXAttr L]) -> (HappyAbsSyn )
-happyIn185 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn185 #-}
-happyOut185 :: (HappyAbsSyn ) -> ([ParseXAttr L])
-happyOut185 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut185 #-}
-happyIn186 :: (ParseXAttr L) -> (HappyAbsSyn )
-happyIn186 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn186 #-}
-happyOut186 :: (HappyAbsSyn ) -> (ParseXAttr L)
-happyOut186 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut186 #-}
-happyIn187 :: (Maybe (PExp L)) -> (HappyAbsSyn )
-happyIn187 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn187 #-}
-happyOut187 :: (HappyAbsSyn ) -> (Maybe (PExp L))
-happyOut187 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut187 #-}
-happyIn188 :: (L -> PExp L) -> (HappyAbsSyn )
-happyIn188 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn188 #-}
-happyOut188 :: (HappyAbsSyn ) -> (L -> PExp L)
-happyOut188 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut188 #-}
-happyIn189 :: (([PExp L],[S])) -> (HappyAbsSyn )
-happyIn189 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn189 #-}
-happyOut189 :: (HappyAbsSyn ) -> (([PExp L],[S]))
-happyOut189 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut189 #-}
-happyIn190 :: (([[QualStmt L]],[S])) -> (HappyAbsSyn )
-happyIn190 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn190 #-}
-happyOut190 :: (HappyAbsSyn ) -> (([[QualStmt L]],[S]))
-happyOut190 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut190 #-}
-happyIn191 :: (([QualStmt L],[S])) -> (HappyAbsSyn )
-happyIn191 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn191 #-}
-happyOut191 :: (HappyAbsSyn ) -> (([QualStmt L],[S]))
-happyOut191 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut191 #-}
-happyIn192 :: (QualStmt L) -> (HappyAbsSyn )
-happyIn192 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn192 #-}
-happyOut192 :: (HappyAbsSyn ) -> (QualStmt L)
-happyOut192 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut192 #-}
-happyIn193 :: (QualStmt L) -> (HappyAbsSyn )
-happyIn193 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn193 #-}
-happyOut193 :: (HappyAbsSyn ) -> (QualStmt L)
-happyOut193 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut193 #-}
-happyIn194 :: (([Stmt L],[S])) -> (HappyAbsSyn )
-happyIn194 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn194 #-}
-happyOut194 :: (HappyAbsSyn ) -> (([Stmt L],[S]))
-happyOut194 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut194 #-}
-happyIn195 :: (Stmt L) -> (HappyAbsSyn )
-happyIn195 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn195 #-}
-happyOut195 :: (HappyAbsSyn ) -> (Stmt L)
-happyOut195 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut195 #-}
-happyIn196 :: (L -> PExp L) -> (HappyAbsSyn )
-happyIn196 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn196 #-}
-happyOut196 :: (HappyAbsSyn ) -> (L -> PExp L)
-happyOut196 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut196 #-}
-happyIn197 :: (([Alt L],L,[S])) -> (HappyAbsSyn )
-happyIn197 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn197 #-}
-happyOut197 :: (HappyAbsSyn ) -> (([Alt L],L,[S]))
-happyOut197 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut197 #-}
-happyIn198 :: (([Alt L],[S])) -> (HappyAbsSyn )
-happyIn198 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn198 #-}
-happyOut198 :: (HappyAbsSyn ) -> (([Alt L],[S]))
-happyOut198 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut198 #-}
-happyIn199 :: (([Alt L],[S])) -> (HappyAbsSyn )
-happyIn199 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn199 #-}
-happyOut199 :: (HappyAbsSyn ) -> (([Alt L],[S]))
-happyOut199 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut199 #-}
-happyIn200 :: (Alt L) -> (HappyAbsSyn )
-happyIn200 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn200 #-}
-happyOut200 :: (HappyAbsSyn ) -> (Alt L)
-happyOut200 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut200 #-}
-happyIn201 :: (Rhs L) -> (HappyAbsSyn )
-happyIn201 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn201 #-}
-happyOut201 :: (HappyAbsSyn ) -> (Rhs L)
-happyOut201 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut201 #-}
-happyIn202 :: (([GuardedRhs L],L)) -> (HappyAbsSyn )
-happyIn202 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn202 #-}
-happyOut202 :: (HappyAbsSyn ) -> (([GuardedRhs L],L))
-happyOut202 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut202 #-}
-happyIn203 :: (GuardedRhs L) -> (HappyAbsSyn )
-happyIn203 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn203 #-}
-happyOut203 :: (HappyAbsSyn ) -> (GuardedRhs L)
-happyOut203 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut203 #-}
-happyIn204 :: (Pat L) -> (HappyAbsSyn )
-happyIn204 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn204 #-}
-happyOut204 :: (HappyAbsSyn ) -> (Pat L)
-happyOut204 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut204 #-}
-happyIn205 :: (([GuardedRhs L], L, [S])) -> (HappyAbsSyn )
-happyIn205 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn205 #-}
-happyOut205 :: (HappyAbsSyn ) -> (([GuardedRhs L], L, [S]))
-happyOut205 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut205 #-}
-happyIn206 :: (([GuardedRhs L], [S])) -> (HappyAbsSyn )
-happyIn206 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn206 #-}
-happyOut206 :: (HappyAbsSyn ) -> (([GuardedRhs L], [S]))
-happyOut206 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut206 #-}
-happyIn207 :: (([GuardedRhs L], [S])) -> (HappyAbsSyn )
-happyIn207 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn207 #-}
-happyOut207 :: (HappyAbsSyn ) -> (([GuardedRhs L], [S]))
-happyOut207 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut207 #-}
-happyIn208 :: (([Stmt L],L,[S])) -> (HappyAbsSyn )
-happyIn208 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn208 #-}
-happyOut208 :: (HappyAbsSyn ) -> (([Stmt L],L,[S]))
-happyOut208 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut208 #-}
-happyIn209 :: (([Stmt L],[S])) -> (HappyAbsSyn )
-happyIn209 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn209 #-}
-happyOut209 :: (HappyAbsSyn ) -> (([Stmt L],[S]))
-happyOut209 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut209 #-}
-happyIn210 :: (([Stmt L],[S])) -> (HappyAbsSyn )
-happyIn210 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn210 #-}
-happyOut210 :: (HappyAbsSyn ) -> (([Stmt L],[S]))
-happyOut210 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut210 #-}
-happyIn211 :: (Stmt L) -> (HappyAbsSyn )
-happyIn211 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn211 #-}
-happyOut211 :: (HappyAbsSyn ) -> (Stmt L)
-happyOut211 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut211 #-}
-happyIn212 :: (([PFieldUpdate L],[S])) -> (HappyAbsSyn )
-happyIn212 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn212 #-}
-happyOut212 :: (HappyAbsSyn ) -> (([PFieldUpdate L],[S]))
-happyOut212 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut212 #-}
-happyIn213 :: (PFieldUpdate L) -> (HappyAbsSyn )
-happyIn213 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn213 #-}
-happyOut213 :: (HappyAbsSyn ) -> (PFieldUpdate L)
-happyOut213 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut213 #-}
-happyIn214 :: (([IPBind L],[S])) -> (HappyAbsSyn )
-happyIn214 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn214 #-}
-happyOut214 :: (HappyAbsSyn ) -> (([IPBind L],[S]))
-happyOut214 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut214 #-}
-happyIn215 :: (([IPBind L],[S])) -> (HappyAbsSyn )
-happyIn215 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn215 #-}
-happyOut215 :: (HappyAbsSyn ) -> (([IPBind L],[S]))
-happyOut215 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut215 #-}
-happyIn216 :: (IPBind L) -> (HappyAbsSyn )
-happyIn216 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn216 #-}
-happyOut216 :: (HappyAbsSyn ) -> (IPBind L)
-happyOut216 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut216 #-}
-happyIn217 :: (PExp L) -> (HappyAbsSyn )
-happyIn217 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn217 #-}
-happyOut217 :: (HappyAbsSyn ) -> (PExp L)
-happyOut217 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut217 #-}
-happyIn218 :: (Name L) -> (HappyAbsSyn )
-happyIn218 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn218 #-}
-happyOut218 :: (HappyAbsSyn ) -> (Name L)
-happyOut218 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut218 #-}
-happyIn219 :: (Name L) -> (HappyAbsSyn )
-happyIn219 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn219 #-}
-happyOut219 :: (HappyAbsSyn ) -> (Name L)
-happyOut219 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut219 #-}
-happyIn220 :: (QName L) -> (HappyAbsSyn )
-happyIn220 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn220 #-}
-happyOut220 :: (HappyAbsSyn ) -> (QName L)
-happyOut220 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut220 #-}
-happyIn221 :: (IPName L) -> (HappyAbsSyn )
-happyIn221 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn221 #-}
-happyOut221 :: (HappyAbsSyn ) -> (IPName L)
-happyOut221 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut221 #-}
-happyIn222 :: (Name L) -> (HappyAbsSyn )
-happyIn222 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn222 #-}
-happyOut222 :: (HappyAbsSyn ) -> (Name L)
-happyOut222 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut222 #-}
-happyIn223 :: (QName L) -> (HappyAbsSyn )
-happyIn223 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn223 #-}
-happyOut223 :: (HappyAbsSyn ) -> (QName L)
-happyOut223 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut223 #-}
-happyIn224 :: (Name L) -> (HappyAbsSyn )
-happyIn224 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn224 #-}
-happyOut224 :: (HappyAbsSyn ) -> (Name L)
-happyOut224 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut224 #-}
-happyIn225 :: (QName L) -> (HappyAbsSyn )
-happyIn225 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn225 #-}
-happyOut225 :: (HappyAbsSyn ) -> (QName L)
-happyOut225 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut225 #-}
-happyIn226 :: (QName L) -> (HappyAbsSyn )
-happyIn226 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn226 #-}
-happyOut226 :: (HappyAbsSyn ) -> (QName L)
-happyOut226 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut226 #-}
-happyIn227 :: (Name L) -> (HappyAbsSyn )
-happyIn227 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn227 #-}
-happyOut227 :: (HappyAbsSyn ) -> (Name L)
-happyOut227 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut227 #-}
-happyIn228 :: (QName L) -> (HappyAbsSyn )
-happyIn228 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn228 #-}
-happyOut228 :: (HappyAbsSyn ) -> (QName L)
-happyOut228 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut228 #-}
-happyIn229 :: (Op L) -> (HappyAbsSyn )
-happyIn229 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn229 #-}
-happyOut229 :: (HappyAbsSyn ) -> (Op L)
-happyOut229 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut229 #-}
-happyIn230 :: (QOp L) -> (HappyAbsSyn )
-happyIn230 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn230 #-}
-happyOut230 :: (HappyAbsSyn ) -> (QOp L)
-happyOut230 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut230 #-}
-happyIn231 :: (QOp L) -> (HappyAbsSyn )
-happyIn231 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn231 #-}
-happyOut231 :: (HappyAbsSyn ) -> (QOp L)
-happyOut231 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut231 #-}
-happyIn232 :: (QName L) -> (HappyAbsSyn )
-happyIn232 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn232 #-}
-happyOut232 :: (HappyAbsSyn ) -> (QName L)
-happyOut232 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut232 #-}
-happyIn233 :: (QName L) -> (HappyAbsSyn )
-happyIn233 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn233 #-}
-happyOut233 :: (HappyAbsSyn ) -> (QName L)
-happyOut233 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut233 #-}
-happyIn234 :: (Name L) -> (HappyAbsSyn )
-happyIn234 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn234 #-}
-happyOut234 :: (HappyAbsSyn ) -> (Name L)
-happyOut234 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut234 #-}
-happyIn235 :: (Name L) -> (HappyAbsSyn )
-happyIn235 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn235 #-}
-happyOut235 :: (HappyAbsSyn ) -> (Name L)
-happyOut235 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut235 #-}
-happyIn236 :: (IPName L) -> (HappyAbsSyn )
-happyIn236 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn236 #-}
-happyOut236 :: (HappyAbsSyn ) -> (IPName L)
-happyOut236 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut236 #-}
-happyIn237 :: (QName L) -> (HappyAbsSyn )
-happyIn237 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn237 #-}
-happyOut237 :: (HappyAbsSyn ) -> (QName L)
-happyOut237 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut237 #-}
-happyIn238 :: (Name L) -> (HappyAbsSyn )
-happyIn238 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn238 #-}
-happyOut238 :: (HappyAbsSyn ) -> (Name L)
-happyOut238 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut238 #-}
-happyIn239 :: (QName L) -> (HappyAbsSyn )
-happyIn239 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn239 #-}
-happyOut239 :: (HappyAbsSyn ) -> (QName L)
-happyOut239 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut239 #-}
-happyIn240 :: (Name L) -> (HappyAbsSyn )
-happyIn240 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn240 #-}
-happyOut240 :: (HappyAbsSyn ) -> (Name L)
-happyOut240 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut240 #-}
-happyIn241 :: (QName L) -> (HappyAbsSyn )
-happyIn241 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn241 #-}
-happyOut241 :: (HappyAbsSyn ) -> (QName L)
-happyOut241 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut241 #-}
-happyIn242 :: (QName L) -> (HappyAbsSyn )
-happyIn242 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn242 #-}
-happyOut242 :: (HappyAbsSyn ) -> (QName L)
-happyOut242 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut242 #-}
-happyIn243 :: (Name L) -> (HappyAbsSyn )
-happyIn243 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn243 #-}
-happyOut243 :: (HappyAbsSyn ) -> (Name L)
-happyOut243 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut243 #-}
-happyIn244 :: (Name L) -> (HappyAbsSyn )
-happyIn244 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn244 #-}
-happyOut244 :: (HappyAbsSyn ) -> (Name L)
-happyOut244 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut244 #-}
-happyIn245 :: (QName L) -> (HappyAbsSyn )
-happyIn245 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn245 #-}
-happyOut245 :: (HappyAbsSyn ) -> (QName L)
-happyOut245 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut245 #-}
-happyIn246 :: (Literal L) -> (HappyAbsSyn )
-happyIn246 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn246 #-}
-happyOut246 :: (HappyAbsSyn ) -> (Literal L)
-happyOut246 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut246 #-}
-happyIn247 :: (S) -> (HappyAbsSyn )
-happyIn247 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn247 #-}
-happyOut247 :: (HappyAbsSyn ) -> (S)
-happyOut247 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut247 #-}
-happyIn248 :: (S) -> (HappyAbsSyn )
-happyIn248 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn248 #-}
-happyOut248 :: (HappyAbsSyn ) -> (S)
-happyOut248 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut248 #-}
-happyIn249 :: (Decl L) -> (HappyAbsSyn )
-happyIn249 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn249 #-}
-happyOut249 :: (HappyAbsSyn ) -> (Decl L)
-happyOut249 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut249 #-}
-happyIn250 :: (Decl L) -> (HappyAbsSyn )
-happyIn250 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn250 #-}
-happyOut250 :: (HappyAbsSyn ) -> (Decl L)
-happyOut250 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut250 #-}
-happyIn251 :: (Pat L) -> (HappyAbsSyn )
-happyIn251 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn251 #-}
-happyOut251 :: (HappyAbsSyn ) -> (Pat L)
-happyOut251 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut251 #-}
-happyIn252 :: ([Pat L]) -> (HappyAbsSyn )
-happyIn252 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn252 #-}
-happyOut252 :: (HappyAbsSyn ) -> ([Pat L])
-happyOut252 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut252 #-}
-happyIn253 :: (PatternSynDirection L) -> (HappyAbsSyn )
-happyIn253 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn253 #-}
-happyOut253 :: (HappyAbsSyn ) -> (PatternSynDirection L)
-happyOut253 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut253 #-}
-happyIn254 :: (Decl L) -> (HappyAbsSyn )
-happyIn254 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn254 #-}
-happyOut254 :: (HappyAbsSyn ) -> (Decl L)
-happyOut254 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut254 #-}
-happyIn255 :: ((Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L )) -> (HappyAbsSyn )
-happyIn255 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn255 #-}
-happyOut255 :: (HappyAbsSyn ) -> ((Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L ))
-happyOut255 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut255 #-}
-happyIn256 :: (ModuleName L) -> (HappyAbsSyn )
-happyIn256 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn256 #-}
-happyOut256 :: (HappyAbsSyn ) -> (ModuleName L)
-happyOut256 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut256 #-}
-happyIn257 :: (Name L) -> (HappyAbsSyn )
-happyIn257 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn257 #-}
-happyOut257 :: (HappyAbsSyn ) -> (Name 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 :: (QName L) -> (HappyAbsSyn )
-happyIn261 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn261 #-}
-happyOut261 :: (HappyAbsSyn ) -> (QName L)
-happyOut261 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut261 #-}
-happyIn262 :: (Name L) -> (HappyAbsSyn )
-happyIn262 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn262 #-}
-happyOut262 :: (HappyAbsSyn ) -> (Name L)
-happyOut262 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut262 #-}
-happyIn263 :: (([ImportDecl L],[S],L)) -> (HappyAbsSyn )
-happyIn263 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn263 #-}
-happyOut263 :: (HappyAbsSyn ) -> (([ImportDecl L],[S],L))
-happyOut263 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut263 #-}
-happyIn264 :: ((([ModulePragma L], [S], L), Maybe (ModuleName L))) -> (HappyAbsSyn )
-happyIn264 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn264 #-}
-happyOut264 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleName L)))
-happyOut264 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut264 #-}
-happyIn265 :: ((([ModulePragma L], [S], L), Maybe (ModuleHead L))) -> (HappyAbsSyn )
-happyIn265 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn265 #-}
-happyOut265 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleHead L)))
-happyOut265 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut265 #-}
-happyIn266 :: ((([ModulePragma L], [S], L), Maybe (ModuleHead L), Maybe ([ImportDecl L],[S],L))) -> (HappyAbsSyn )
-happyIn266 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn266 #-}
-happyOut266 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleHead L), Maybe ([ImportDecl L],[S],L)))
-happyOut266 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut266 #-}
-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 #-}
-
-
-happyActOffsets :: HappyAddr
-happyActOffsets = HappyA# "\x00\x00\x34\x25\xb8\x24\x69\x09\x9b\x18\x54\x21\x18\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x09\x5c\x05\x20\x09\x82\x09\x1f\x09\x80\x09\x0c\x09\x7e\x09\x7e\x09\xe4\x08\xf2\x08\x00\x00\x47\x09\x00\x00\x00\x00\x80\x07\x00\x00\x00\x00\x00\x00\xe3\x28\x00\x00\x57\x09\x00\x00\x00\x00\x45\x09\xd8\x08\x00\x00\x0d\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\xda\x1d\x53\x1d\x61\x1e\xe8\x1e\x00\x00\x25\x28\xe3\x28\xe3\x28\xe3\x28\x34\x25\x00\x00\x34\x25\x34\x25\x34\x25\x9b\x18\x00\x00\x5e\x2b\x11\x2d\x00\x00\x12\x29\x34\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\x4f\x09\x00\x00\x00\x00\x00\x00\x3c\x24\x4e\x09\x4d\x09\x84\x28\x4d\x09\x00\x00\x58\x09\x55\x09\x46\x09\x00\x00\x00\x00\xe3\x11\x00\x00\x00\x00\xd5\x1a\x00\x00\x00\x00\xd0\x08\x00\x00\x9b\x18\x2b\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x11\x00\x13\x3a\x15\x59\x19\x00\x00\x00\x00\x00\x00\x34\x25\xdd\x03\x00\x00\x00\x00\x00\x00\x00\x00\xca\x08\xc7\x08\x00\x00\x00\x00\x00\x00\xc7\x08\x37\x09\xbe\x08\x00\x00\xbe\x08\xf1\xff\x00\x00\x00\x00\x35\x09\x12\x29\xd3\x08\xd5\x06\x00\x00\xe3\x08\x00\x00\x00\x00\x25\x09\x00\x00\x3b\x0c\x38\x00\x16\x09\x6c\x2e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x12\xdb\x14\x00\x00\x23\x09\x12\x09\x42\x12\x19\x09\x00\x00\x0d\x09\x08\x09\x00\x00\x7c\x03\x6d\x03\x00\x00\x00\x00\x4b\x02\x11\x09\xdb\x02\x10\x09\x0f\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x09\x00\x00\x0a\x09\x00\x00\xd5\x1a\x00\x00\x00\x00\x00\x00\xd5\x1a\x00\x00\x00\x00\xd5\x1a\x00\x00\x00\x00\x61\x0a\x9b\x18\xd5\x1a\x00\x00\x00\x00\x14\x09\x92\x08\x8d\x08\x00\x00\x64\x1f\x64\x1f\xf1\x08\x00\x00\xe3\x28\x00\x00\xb0\x08\xf7\x08\x00\x00\x00\x00\x00\x00\x00\x00\x95\x08\x53\x02\xb9\x08\x00\x00\xdd\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\x98\x14\x66\x03\xe7\x08\x00\x00\x00\x00\xe1\x0a\x57\x0d\xc0\x08\xbf\x08\x70\x06\xbd\x08\xe6\x08\xce\x08\x08\x01\x00\x00\xe3\x28\x00\x00\xc6\x27\x00\x00\xda\x08\xc2\x08\x8e\x02\xc3\x08\xcc\x08\x00\x00\x00\x00\x34\x25\x00\x00\x00\x00\x00\x00\x1b\x2c\x00\x00\x60\x01\xc5\x08\xc1\x08\x00\x00\xcc\x1c\x0b\x03\x00\x00\x05\x06\x45\x1c\x98\x02\xc9\x08\xc8\x08\xc4\x08\xb4\x08\xb2\x08\x00\x00\xe3\x28\xe3\x28\xe3\x28\x34\x25\x78\x2b\x00\x00\x00\x00\x00\x00\x34\x25\x00\x00\x1b\x2c\x9b\x18\x34\x25\x34\x25\x34\x25\x34\x25\x77\x08\x42\x08\x2c\x00\x00\x00\xd5\x06\x38\x00\x00\x00\x00\x00\x00\x00\x30\x2b\x00\x00\x54\x08\x00\x00\xe3\x28\x2e\x08\x00\x00\x00\x00\x00\x00\x00\x00\x79\x02\xe3\x28\xb7\x08\xa4\x08\x6a\x00\x48\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x08\x99\x08\x00\x00\x00\x00\x9e\x08\x97\x08\x8f\x08\xae\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x1b\x00\x00\x00\x00\x83\x02\x00\x00\x00\x00\x34\x25\xc0\x23\x37\x1b\x00\x00\x00\x00\x08\x03\x00\x00\xe8\x1e\x00\x00\xe8\x1e\x34\x25\xd8\x20\x91\x08\x00\x00\x00\x00\xe8\x1e\x34\x25\xd8\x20\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\x34\x25\x00\x00\x44\x23\x00\x00\x00\x00\x34\x25\x00\x00\x00\x00\x00\x00\xa8\x08\x38\x00\x00\x00\x00\x00\x00\x00\x7c\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\x09\x00\x00\x00\x00\x00\x00\xe3\x28\xe6\x00\x9b\x18\x4d\x08\x9b\x08\x40\x08\x00\x00\x00\x00\x00\x00\x0c\x05\x00\x00\x32\x18\xb4\x2c\x8e\x08\x8e\x08\x18\x00\x8e\x08\x98\x08\x99\x2c\x99\x2c\x30\x2b\xc1\x2d\x93\x08\x12\x29\xd8\x26\x00\x00\x5f\x08\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\x8a\x08\x07\x02\x88\x08\x38\x00\x2b\x08\x00\x00\x34\x25\x00\x00\x34\x25\x86\x08\x82\x08\x64\x1f\x38\x00\x34\x25\x34\x25\x74\x08\xb8\x19\x00\x00\x76\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x2a\x00\x00\x00\x00\xd3\x17\xd3\x17\x00\x00\x00\x00\xd5\x1a\x00\x00\x00\x00\xd2\x03\x00\x00\x5d\x02\x00\x00\x00\x00\x00\x00\xfc\x2c\xd3\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x0e\x7d\x08\x6d\x08\x38\x00\x38\x00\x4e\x06\x27\x08\x00\x00\x00\x00\xd8\x26\x3a\x08\x58\x08\x56\x08\x53\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x14\x00\x00\x00\x00\x49\x08\x04\x08\xc9\x0c\x46\x08\x46\x08\x00\x00\x39\x08\x00\x00\x00\x00\xd5\x1a\x38\x08\x00\x00\x3c\x08\x00\x00\xa8\x29\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x29\x80\x2a\x00\x00\x00\x00\x00\x00\x45\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x1f\x00\x00\x00\x00\x00\x00\x34\x25\x00\x00\x00\x00\x00\x00\x00\x00\x44\x23\x00\x00\x00\x00\x26\x00\x02\x08\x00\x00\x26\x08\x00\x00\x72\x06\xf3\x05\xeb\x05\xe8\x05\xe7\x05\xe4\x05\xe3\x05\xd4\x05\xcc\x05\xcb\x05\xc8\x05\xc7\x05\xc4\x05\xc3\x05\xa9\x05\x83\x05\x5d\x05\x48\x05\xf8\x04\xdd\x04\xda\x04\x00\x00\xbb\x07\x00\x00\x21\x08\x29\x08\x00\x00\x21\x2a\xb8\x07\x3c\x00\x00\x00\x37\x08\x22\x08\x39\x00\x34\x00\x00\x00\x25\x08\x7e\x2c\x36\x00\x7e\x2c\xd3\x17\x7e\x2c\x7e\x2c\xa7\x2d\xad\x04\xa1\x03\x36\x08\x0d\x08\x59\x19\xd5\x1a\x8d\x03\xd3\x17\xa2\x07\xa1\x07\x9f\x07\x0c\x05\xd3\x17\xd3\x17\x07\x08\xc2\x04\xc2\x04\x59\x04\x59\x04\x7e\x2c\xd3\x17\xab\x06\xd3\x17\x57\x0d\x16\x08\xee\x07\xde\x02\x00\x00\x00\x00\x35\x00\x00\x00\xff\x07\x09\x08\x00\x00\x00\x00\x5c\x20\x06\x08\x38\x00\xf2\x07\xf4\x07\x00\x00\x00\x00\x00\x00\xc8\x22\x00\x00\x18\x03\x00\x00\x00\x00\xe9\x07\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\xd1\x02\x00\x00\x00\x00\xe5\x07\x00\x00\x00\x00\x00\x00\x44\x02\x00\x00\x34\x25\xee\x2b\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x16\x00\x16\x00\x00\x00\x00\x00\x00\x00\x20\x00\x03\x08\xe3\x28\x00\x00\xef\x07\xeb\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\xe0\x1f\x34\x25\xa6\x07\x30\x00\xe0\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x04\x97\x07\x34\x25\x4c\x22\x00\x00\xdf\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x26\x00\x00\x00\x00\x98\x06\x9c\x07\x7e\x07\x07\x2a\x8d\x07\x0a\x04\x80\x03\x00\x00\x6e\x07\xba\x07\x00\x00\x34\x25\x4c\x22\x5d\x07\x96\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x06\x5b\x07\x00\x00\xad\x07\xbc\x07\x00\x00\xaf\x07\x00\x00\xd3\x17\x00\x00\x00\x00\x00\x00\x57\x07\x00\x00\xe1\x0a\xa7\x07\x00\x00\x9d\x07\xd3\x17\xd0\x21\xd0\x21\xdb\x2d\xdb\x2d\x00\x00\x74\x17\x3d\x07\x3c\x07\x38\x07\x96\x07\x9b\x07\xa4\x07\x87\x07\x47\x07\x9e\x07\x00\x00\x51\x2c\x00\x00\x51\x2c\x00\x00\x00\x00\x00\x00\x95\x07\x8d\x2d\x8d\x2d\x00\x00\x00\x00\x00\x00\xe3\x28\x00\x00\x00\x00\xf8\x00\x07\x02\x8c\x07\x00\x00\x78\x07\x81\x07\x7c\x07\x86\x07\x00\x00\x00\x00\x07\x2a\x00\x00\x07\x2a\x00\x00\x00\x00\x34\x25\xb7\x06\x7f\x07\x54\x27\xf1\x0f\x7f\x07\x0a\x07\x09\x07\x1b\x07\x00\x00\x9e\x25\x00\x00\x55\x06\x00\x00\x00\x00\x79\x07\x6d\x07\x00\x00\x00\x00\x77\x07\x00\x00\x96\x06\x16\x2b\x73\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x07\x00\x00\x75\x07\x00\x00\x00\x00\x07\x2a\x00\x00\x7b\x07\x21\x07\x00\x00\x34\x25\x00\x00\x53\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x25\x5f\x2d\x15\x17\x64\x07\x00\x00\x15\x17\x00\x00\x00\x00\x00\x00\x00\x00\x59\x19\x00\x00\x00\x00\x00\x00\x00\x00\x04\x07\x00\x00\x00\x00\x02\x07\x15\x17\x49\x00\x00\x00\x61\x07\x00\x00\x00\x00\x00\x00\x6c\x25\x56\x07\x00\x00\x00\x00\x54\x07\x00\x00\x45\x07\x00\x00\x84\x07\x84\x01\xd4\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x07\xa0\x02\x00\x00\x00\x00\x00\x00\x45\x2d\x15\x17\x40\x07\x00\x00\x76\x1a\x00\x00\x00\x00\x07\x07\x42\x07\x00\x00\x60\x03\x01\x07\xe0\x06\x35\x07\x34\x07\xde\x02\x00\x00\x00\x00\xdc\x06\x2b\x07\x00\x00\x34\x25\xd0\x21\x26\x07\x00\x00\x34\x25\x34\x25\x34\x25\x00\x00\x33\x07\x00\x00\xdf\x06\xde\x06\xef\x03\x6d\x00\x00\x00\x00\x00\x10\x00\x96\x06\x00\x00\x00\x00\xda\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x06\x00\x00\x00\x00\x00\x00\x1d\x14\x00\x00\x00\x00\x00\x00\x3d\x2e\x57\x00\xbe\x13\x76\x1a\x00\x00\x00\x00\x20\x07\x1f\x07\x7e\x11\xcc\x06\x00\x00\x00\x00\x84\x01\x34\x25\x00\x00\x00\x00\x1e\x07\x11\x07\x17\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x07\x00\x00\x0b\x07\x23\x2e\x00\x00\x59\x19\xa0\x06\xf4\x06\x00\x00\x00\x00\x8d\x06\x00\x07\x2b\x2d\x00\x00\xdb\x2d\xfa\x06\xd1\x06\x00\x00\x34\x25\xdd\x06\xef\x06\xf3\x06\x00\x00\x00\x00\x51\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x2a\xf1\x06\xcd\x25\x00\x00\x8d\x04\x12\x29\x00\x00\x00\x00\x0b\x02\x00\x00\x00\x00\x00\x00\x00\x00\xec\x06\x00\x00\x07\x2a\xf6\x06\x00\x00\x12\x29\x34\x25\xc9\x06\x00\x00\x00\x00\x00\x00\x15\x17\x00\x00\x00\x00\xb6\x16\x00\x00\x00\x00\x00\x00\x17\x1a\x17\x1a\x6e\x0f\xe2\x06\x38\x00\xfc\x2c\x00\x00\x00\x00\xe5\x0d\xd9\x06\x38\x00\x00\x00\x17\x1a\x00\x00\x00\x00\x00\x00\xd6\x06\xa6\x2b\xfa\x18\x00\x00\x17\x1a\x17\x1a\xe6\x06\x00\x00\xd3\x02\xcd\x06\x38\x00\xc6\x06\xd0\x06\x00\x00\x00\x00\x34\x25\x00\x00\x00\x00\x00\x00\xcf\x06\x00\x00\x2b\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x06\x00\x00\x17\x1a\xb8\x19\x30\x03\xec\x02\x00\x00\x00\x00\xc5\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x16\xf7\x10\xf8\x15\xf9\x2a\x00\x00\x00\x00\x99\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x1a\xbc\x03\x00\x00\xb9\x06\x66\x00\xeb\x0e\xc2\x06\x38\x00\x00\x00\x00\x00\x99\x15\x00\x00\x9a\x06\x4f\x06\x00\x00\x00\x00\x00\x00\x51\x2c\x8e\x06\x00\x00\x00\x00\x34\x25\x00\x00\xb8\x06\x00\x00\x00\x00\x00\x00\x17\x1a\x99\x15\x00\x00\x9f\x06\x74\x10\xac\x06\x8c\x06\x9b\x06\x84\x06\x90\x06\x17\x1a\x00\x00\x7b\x13\x90\x06\x68\x0e\x91\x06\x00\x00\x36\x2c\x99\x15\x5f\x13\x12\x03\x91\x06\x8f\x06\x82\x06\x00\x00\x00\x00\x00\x00\x80\x06\xe1\x2c\x51\x02\x00\x00\x00\x00\x9a\x2a\x75\x06\x5a\x26\x00\x00\x00\x00\x00\x00\x36\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x99\x15\x5c\x06\x00\x00\x99\x15\x20\x06\xfb\x05\x00\x00\x99\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x06\x00\x00\x00\x00\x99\x15\x00\x00\xe4\x02\x00\x00\x00\x00\x44\x01\x00\x00\x4c\x06\x00\x00\x00\x00\x2f\x06\x00\x00\x00\x00\x99\x15\x00\x00\x00\x00"#
-
-happyGotoOffsets :: HappyAddr
-happyGotoOffsets = HappyA# "\x02\x00\x15\x35\xb8\x39\x0b\x00\xe5\x08\x57\x31\x44\x06\x03\x00\xfd\xff\xff\xff\xfe\xff\x01\x00\x5f\x04\x94\x06\x00\x00\x00\x00\x49\x06\x00\x00\x3d\x06\x00\x00\x00\x00\x00\x00\x0e\x06\x00\x00\x00\x00\x00\x00\x00\x00\xff\x11\x00\x00\x00\x00\x00\x00\x05\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x35\x01\x36\xe1\x35\x88\x35\x00\x00\x48\x2b\xc9\x40\x82\x3e\xb3\x40\x66\x39\x00\x00\xfd\x34\xab\x34\x30\x3e\xd7\x08\x52\x05\x39\x03\x6e\x01\x00\x00\xe4\x04\xc8\x3d\x85\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x3d\x87\xff\x00\x00\x00\x00\x00\x00\xa9\x31\xfc\xff\x7a\xff\xd4\x3e\x62\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x0a\x00\x00\x00\x00\xdf\x0a\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x05\x58\x06\x10\x06\x0c\x0b\x00\x00\x00\x00\x00\x00\x93\x34\xab\x02\x00\x00\x00\x00\x00\x00\xd2\x05\x00\x00\x00\x00\x74\x05\x5b\x05\x00\x00\x00\x00\xf3\xff\x00\x00\x00\x00\x00\x00\x78\x03\x00\x00\x00\x00\x08\x00\x8b\x04\x78\x06\x2c\x05\x00\x00\x00\x00\x0f\x00\x07\x00\x00\x00\x00\x00\x77\x00\x29\x05\x00\x00\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x05\xbc\x08\x00\x00\x00\x00\x00\x00\xa6\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\xf3\x08\x00\x00\x00\x00\x00\x00\x90\x08\x00\x00\x00\x00\x23\x08\x00\x00\x00\x00\x69\x01\xd6\x0a\x50\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x30\xb9\x30\x00\x00\x00\x00\x77\x40\x00\x00\x00\x00\x62\x05\x00\x00\x11\x00\x0c\x00\x00\x00\x00\x00\xbd\x02\x00\x00\x36\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x00\x3c\x05\x00\x00\x00\x00\x00\x00\xd9\x04\x75\x01\x00\x00\x00\x00\x94\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x61\x40\x00\x00\xbe\x3e\x00\x00\x76\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x3d\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x37\x07\x03\x00\x00\x00\x00\x66\x37\xf5\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x3e\x25\x40\x0f\x40\x41\x34\x74\x02\x00\x00\x00\x00\x00\x00\x1a\x3e\x00\x00\xd5\x03\x78\x08\x60\x3d\x0e\x3d\xf8\x3c\xa6\x3c\xce\x05\x00\x00\xd7\x00\x00\x00\xd4\x04\xd3\x04\x85\x06\x83\x06\xea\x01\x46\x02\x00\x00\x28\x04\x00\x00\xd3\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x02\xbd\x3f\xf4\x04\x71\x06\xe1\x04\x00\x00\x77\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x06\x00\x00\x5f\x06\x00\x00\x9b\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x37\x00\x00\x00\x00\x7d\x02\x00\x00\x00\x00\x50\x39\xfe\x38\xef\x36\x00\x00\x00\x00\x4c\x02\x00\x00\xd1\x36\x00\x00\x78\x36\x90\x3c\x8d\x2e\x00\x00\x00\x00\x00\x00\x5a\x36\x3e\x3c\x3b\x2e\x00\x00\x31\x00\x1b\x00\x00\x00\x28\x3c\xd6\x3b\x00\x00\x67\x30\x00\x00\x00\x00\x1a\x3e\x00\x00\x00\x00\x00\x00\x66\x05\x99\x04\x43\x06\x00\x00\x00\x00\x47\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x0e\x00\x00\x00\x00\x00\x00\x81\x3f\x00\x00\x2b\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x05\x00\x00\xfd\x05\x6f\x01\x31\x05\x2d\x05\x24\x05\x0a\x05\x04\x06\x1c\x02\xd1\x01\x3d\x02\x2a\x00\x00\x00\x9f\x05\x2f\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x38\x6b\xff\xeb\x00\x00\x00\x54\x04\x00\x00\x00\x00\xc0\x3b\x00\x00\x6e\x3b\x00\x00\x34\x04\x4f\x30\x4d\x04\x58\x3b\x06\x3b\x00\x00\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x11\x00\x00\x00\x00\x18\x0a\x06\x0a\x00\x00\x00\x00\x39\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x01\xf8\x09\x00\x00\x37\x06\x33\x06\x00\x00\x00\x00\x00\x00\x00\x00\x92\x02\x00\x00\x00\x00\x25\x04\x1d\x04\xe6\x04\x00\x00\x2c\x04\x00\x00\x19\x3f\xca\x04\x07\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf7\x05\x00\x00\x32\x0b\xbf\x05\x00\x00\x00\x00\x00\x00\xf6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x03\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x04\x3b\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x2f\x00\x00\x00\x00\x00\x00\xf0\x3a\x00\x00\x00\x00\x00\x00\x93\x05\xd5\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x57\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x04\x87\x03\x00\x00\xd2\x02\xe6\x09\xc0\x02\x08\x02\xe9\x01\x61\x04\x00\x00\xde\x03\x00\x00\x77\x0a\x4d\x05\x1c\x00\xcb\x09\x00\x00\x00\x00\x00\x00\x82\x04\xf0\x03\x9c\x09\x23\x04\x42\x04\x3e\x04\xa1\x04\x7d\x04\xfc\x00\x2d\x08\xa7\x01\x12\x08\xf2\x01\x00\x00\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\xff\x00\x00\x00\x00\x18\x38\x00\x00\x86\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x00\x00\x00\x9e\x3a\x59\x02\x00\x00\x00\x00\x00\x00\x47\x04\x00\x00\x1b\x05\xa5\x04\x00\x00\x00\x00\x00\x00\x00\x00\x85\x03\x6b\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x05\xdf\x04\x53\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x3a\xdf\x2e\x36\x3a\x00\x00\x00\x00\x31\x2f\x00\x00\x00\x00\xce\x04\x00\x00\x3a\x04\x00\x00\xd7\x33\x2f\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x02\x00\x00\x00\x00\x51\x01\xc6\x03\xd8\x03\xea\x10\x0e\x04\x00\x00\x00\x00\x00\x00\xac\x03\x97\x03\x00\x00\xbf\x33\x83\x2f\xa5\x03\xe8\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\xff\x9c\x03\x06\x01\x99\x03\x00\x00\x00\x00\x00\x00\x00\x00\x51\x09\x00\x00\x00\x00\x00\x00\x8f\x03\xe1\x03\x91\x04\x00\x00\x00\x00\x81\x03\xfe\x07\x96\x38\x80\x38\x70\x03\xd6\x01\x00\x00\x36\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbf\x03\xb1\x03\x00\x00\xa7\x02\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\xcf\xff\x00\x00\x56\x03\x00\x00\xf4\x17\x00\x00\x00\x00\x00\x00\x23\x03\x52\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x12\x00\x00\x4e\x0b\x00\x00\x00\x00\x6d\x33\x26\x01\x00\x00\x6c\x3e\x9b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\xff\x00\x00\x00\x00\x26\x03\x00\x00\x00\x00\xc1\x03\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x02\x04\x00\x2b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x08\x00\x00\x00\x00\x00\x00\x00\x00\x55\x33\x00\x00\x9c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd2\x2d\x03\x01\x44\x04\x00\x00\x00\x00\x36\x04\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x0a\x00\x00\x5d\x03\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x76\x03\xe3\x07\x6c\x03\x00\x00\x80\x02\x00\x00\x00\x00\x00\x00\x9b\x00\x00\x00\x00\x00\x00\x00\x76\x02\x00\x00\x00\x00\x00\x00\xad\xff\xbb\x03\xcb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\xff\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x01\xcf\x07\x00\x00\x00\x00\x1c\x0b\xf2\x02\x00\x00\xcb\x02\x4f\x02\x00\x00\xa1\x00\xb7\x02\x9b\x02\x00\x00\x00\x00\x20\x03\x00\x00\x00\x00\x70\x02\xec\x01\x00\x00\x03\x33\x2e\x38\x00\x00\x00\x00\xeb\x32\x99\x32\x81\x32\x00\x00\x00\x00\x00\x00\xa1\x02\x89\x02\x00\x00\xa8\x01\x00\x00\x00\x00\x57\x04\x8c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfa\x01\x00\x00\x00\x00\x00\x00\xc9\x05\x44\x00\x33\x00\x00\x00\xaf\xff\x10\x01\x04\x04\x3e\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x57\x05\x35\x04\x00\x00\x00\x00\xad\x03\x2f\x32\x00\x00\x00\x00\x00\x00\x00\x00\x03\x05\x50\x00\x37\x00\x5e\x01\x00\x00\x8b\x03\x21\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\xff\x00\x00\x40\x01\xaf\xff\x00\x00\xb3\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x00\x00\x7d\x01\x00\x00\x00\x00\x00\x00\x20\x3a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x22\x00\x00\x00\x56\x01\xae\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x04\x00\x00\x00\x00\x77\x03\x17\x32\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x03\x00\x00\x00\x00\x22\x09\x42\x00\x3f\x00\x00\x00\x1a\x01\x64\x00\x20\x04\x00\x00\x1b\x01\x73\x00\x00\x00\x00\x00\x6e\x02\x00\x00\xf3\x00\x00\x00\xef\x04\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x00\x04\x04\x00\x00\x1f\x02\x23\x01\x52\x00\x00\x00\xc3\x01\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x03\x00\x00\x00\x00\x00\x00\x04\x04\x04\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x03\x00\x00\x00\x00\x07\x09\xba\x04\x70\x04\x00\x00\x00\x00\x00\x00\xc1\x07\x00\x00\x00\x00\xce\x02\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x01\x00\x00\x00\x00\x00\x00\x99\x00\x32\x03\x00\x00\x85\x00\x00\x00\x00\x00\x98\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\xce\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\x69\x07\x00\x00\x00\x00\x9f\x04\x00\x00\xda\x00\x00\x00\x00\x00\x8f\x00\x62\x01\x00\x00\x83\x0f\x3b\x00\x0e\x03\x00\x00\x00\x00\xd5\x00\x1c\x07\x08\x07\xa5\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\x00\x8b\xff\x00\x00\x00\x00\x5b\x00\x00\x00\xe8\xff\x00\x00\x00\x00\x00\x00\xe5\xff\x00\x00\x00\x00\x00\x00\x00\x00\xed\x06\x00\x00\x00\x00\xc3\x06\x68\x00\x19\x00\x00\x00\xb5\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xec\xff\x00\x00\x00\x00\xa2\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\x73\x06\x00\x00\x00\x00"#
-
-happyDefActions :: HappyAddr
-happyDefActions = HappyA# "\x4e\xfd\x00\x00\x00\x00\x4e\xfd\x00\x00\x00\x00\x00\x00\x4e\xfd\x4e\xfd\x4e\xfd\x4e\xfd\x00\x00\x00\x00\xea\xff\x2c\xfd\x00\x00\xe2\xff\x00\x00\xe2\xff\x00\x00\x00\x00\x00\x00\xbf\xff\xaf\xfd\x86\xfe\x84\xfe\x7e\xfe\x7d\xfe\x7b\xfe\x79\xfe\x73\xfe\x69\xfe\x64\xfe\x5c\xfe\x59\xfe\x46\xfe\x00\x00\x00\x00\x56\xfe\x57\xfe\x58\xfe\x9f\xfd\x9a\xfd\x72\xfd\x81\xfd\x98\xfd\x95\xfd\x69\xfd\x55\xfe\x7f\xfd\x80\xfd\x6b\xfd\x6a\xfd\x67\xfd\x68\xfd\x58\xfd\x56\xfd\x57\xfd\x55\xfd\x54\xfd\x53\xfd\x52\xfd\x51\xfd\x50\xfd\x4f\xfd\x00\x00\x00\x00\x00\x00\xd0\xfd\x4a\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x4e\xfd\x00\x00\x00\x00\x3b\xfe\x00\x00\x00\x00\x26\xfe\x7b\xfd\x71\xfd\x70\xfd\x6e\xfd\x6f\xfd\x7a\xfd\x79\xfd\x78\xfd\x77\xfd\x76\xfd\x75\xfd\x74\xfd\x73\xfd\x7e\xfd\x00\x00\x4e\xfd\x6c\xfd\x6d\xfd\x7c\xfd\x4e\xfd\x4e\xfd\x4e\xfd\x00\x00\x4e\xfd\x7d\xfd\x00\x00\x00\x00\x00\x00\x17\xff\xed\xfe\x1e\xff\x14\xff\x07\xff\x00\x00\x13\xff\xfb\xfe\x00\x00\xf0\xfe\x00\x00\x00\x00\x37\xfd\xf4\xfe\x12\xff\x38\xfd\xff\xfe\xfe\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\xfd\xfe\x09\xff\x00\x00\x00\x00\x36\xfd\x35\xfd\x34\xfd\xe6\xfe\x00\x00\x00\x00\xd6\xff\xd6\xff\xbf\xfd\x00\x00\x4e\xfd\x00\x00\x86\xfe\x00\x00\xe2\xff\xf1\xff\xef\xff\x4e\xfd\x00\x00\xe2\xff\x00\x00\x4d\xff\x00\x00\xd6\xff\xd6\xff\x00\x00\xd7\xff\xd9\xff\x00\x00\x00\x00\x00\x00\x39\xfd\x01\xff\x82\xfd\x66\xfd\x00\xff\x64\xfd\x65\xfd\x00\x00\x00\x00\x83\xfd\x00\x00\x00\x00\x1e\xff\xed\xfe\xe9\xfe\x00\x00\x00\x00\xf8\xfe\x00\x00\x00\x00\xf6\xfe\x39\xfe\xe9\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x63\xfd\x5f\xfd\x62\xfd\x5d\xfd\x59\xfd\xfa\xfe\x5b\xfd\x00\x00\x5e\xfd\xfd\xfe\x5a\xfd\x00\x00\xee\xfe\x11\xff\x15\xff\x00\x00\xf1\xfe\x8b\xfd\x00\x00\x32\xfd\x31\xfd\x00\x00\x00\x00\x00\x00\xec\xfe\x30\xfd\x00\x00\x00\x00\x00\x00\xae\xfd\xb4\xfd\xb4\xfd\x00\x00\x61\xfe\x00\x00\x6a\xfe\xb1\xfd\x71\xfe\x75\xfe\xd6\xff\xd6\xff\x6b\xfe\x00\x00\x6f\xfe\x00\x00\xed\xfd\x21\xfe\x1d\xfe\x20\xfe\x1f\xfe\x1e\xfe\x19\xfe\x18\xfe\x17\xfe\x16\xfe\x14\xfe\x15\xfe\x13\xfe\x12\xfe\x11\xfe\x10\xfe\x0f\xfe\x0e\xfe\x0d\xfe\x0c\xfe\x0b\xfe\x0a\xfe\x09\xfe\x1b\xfe\x1a\xfe\x08\xfe\x07\xfe\x06\xfe\x05\xfe\x04\xfe\x03\xfe\x02\xfe\x01\xfe\x00\xfe\xff\xfd\xfe\xfd\xfd\xfd\xfc\xfd\xfb\xfd\xfa\xfd\xf9\xfd\xf8\xfd\xf7\xfd\xf6\xfd\xf5\xfd\xf4\xfd\xf3\xfd\xf2\xfd\x1c\xfe\xf1\xfd\xf0\xfd\xef\xfd\x3c\xfe\x3d\xfe\x00\x00\x00\x00\x00\x00\x3f\xfe\x3e\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x7d\xfe\x00\x00\x00\x00\x2e\xfe\x00\x00\xbe\xfd\x6c\xfe\x5d\xfe\x00\x00\x62\xfe\x4e\xfd\x38\xfe\xcf\xfd\xce\xfd\x00\x00\x85\xfd\x84\xfd\x00\x00\x8f\xfd\x61\xfd\x60\xfd\x00\x00\x5c\xfd\xe9\xfd\x00\x00\xe8\xfd\xa3\xfd\x00\x00\x00\x00\xa1\xfd\x38\xfe\x00\x00\x00\x00\x00\x00\x8b\xfd\x00\x00\x61\xfd\x60\xfd\xa4\xfd\x5e\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x65\xfe\x87\xfd\x86\xfd\x83\xfe\x91\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbd\xff\x00\x00\x29\xfd\x2b\xfd\x00\x00\x00\x00\xd6\xff\xd6\xff\xd6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\xff\x24\xff\x9e\xfd\x97\xfd\x00\x00\x00\x00\x00\x00\xd6\xff\x00\x00\x00\x00\xea\xff\xec\xff\x4c\xfd\x4d\xfd\x2d\xfd\x3c\xfd\x3b\xfd\xd6\xff\x2a\xfd\xd6\xff\xc0\xff\xbb\xff\xbe\xff\x7f\xfe\x80\xfe\x81\xfe\x82\xfe\x85\xfe\x00\x00\x00\x00\x7c\xfe\x7a\xfe\x00\x00\xac\xfd\xa9\xfd\x00\x00\x5b\xfe\xab\xfd\xb0\xfd\x5e\xfe\x5f\xfe\x99\xfd\x94\xfd\x49\xfe\x00\x00\x53\xfe\x54\xfe\x00\x00\xa2\xfd\x3a\xfe\x00\x00\x00\x00\x00\x00\x50\xfe\x4f\xfe\x00\x00\xa0\xfd\x00\x00\x4c\xfe\x00\x00\xe7\xfd\x00\x00\x00\x00\x37\xfe\x4b\xfe\x00\x00\x00\x00\x00\x00\x6d\xfe\xd6\xff\xd6\xff\x63\xfe\x00\x00\x00\x00\x48\xfe\x00\x00\x44\xfe\x43\xfe\x00\x00\x42\xfe\x41\xfe\x68\xff\xa2\xff\x00\x00\xd6\xff\x99\xff\x98\xff\x00\x00\x84\xff\x69\xff\x62\xff\x61\xff\x67\xff\x8b\xff\x7d\xfe\x66\xff\x4b\xfd\x65\xff\x00\x00\x00\x00\x00\x00\x72\xff\x00\x00\x00\x00\xa0\xff\x9f\xff\x9e\xff\x7b\xff\x71\xff\x00\x00\x00\x00\x34\xff\x34\xff\x34\xff\x34\xff\x36\xff\x28\xff\x28\xff\x00\x00\x54\xff\x00\x00\x00\x00\xea\xfd\x29\xfe\x00\x00\x23\xfe\x27\xfe\x70\xfe\x25\xfe\x00\x00\x4e\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x72\xfe\x00\x00\x60\xfe\x00\x00\x00\x00\xb2\xfd\xb4\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x1a\xff\x1b\xff\x00\x00\x1c\xff\x1d\xff\x18\xff\xf9\xfe\xf2\xfe\xf3\xfe\xf7\xfe\x10\xff\x0c\xff\x00\x00\xf5\xfe\x0f\xff\x00\x00\x00\x00\x04\xff\x0e\xff\x00\x00\x0d\xff\x0a\xff\x00\x00\x05\xff\x00\x00\x02\xff\xe7\xfe\xe5\xfe\x00\x00\x00\x00\xfc\xfe\xd6\xff\xd6\xff\xc2\xff\xdb\xff\xd8\xff\xde\xff\x6c\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdf\xff\x00\x00\xed\xfd\xe4\xff\xea\xfd\x00\x00\xd4\xff\x00\x00\x00\x00\x4b\xff\x63\xff\x4c\xff\x64\xff\xd6\xff\x6a\xff\x8c\xfe\xd6\xff\xa6\xfd\x58\xfe\x00\x00\xd7\xff\xda\xff\xdd\xff\xef\xfe\x00\x00\x03\xff\x06\xff\x1a\xff\xea\xfe\xe8\xfe\x00\x00\xbe\xfe\xbd\xfe\xbb\xfe\xb7\xfe\xb6\xfe\xb5\xfe\x00\x00\x00\x00\xb9\xfe\x33\xfd\xeb\xfe\x00\x00\x67\xfe\x68\xfe\xb7\xfd\xb5\xfd\xb6\xfd\xb4\xfd\xb8\xfd\x74\xfe\x77\xfe\x00\x00\xbc\xfd\xbd\xfd\xb9\xfd\xd6\xff\x00\x00\x6e\xfe\x2e\xfe\x00\x00\x00\x00\xeb\xfd\x00\x00\xee\xfd\x00\x00\x7f\xfd\x67\xfd\x7b\xfd\x71\xfd\x70\xfd\x6e\xfd\x6f\xfd\x7a\xfd\x79\xfd\x78\xfd\x77\xfd\x76\xfd\x75\xfd\x74\xfd\x73\xfd\x7e\xfd\x6c\xfd\x6d\xfd\x7c\xfd\x7d\xfd\x22\xfe\x00\x00\x55\xff\x53\xff\x51\xff\x4e\xff\x00\x00\x00\x00\x00\x00\x29\xff\x00\x00\x26\xff\x00\x00\x00\x00\x37\xff\x34\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\xff\x6e\xff\x00\x00\xe0\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaf\xfe\x00\x00\xd7\xff\x9b\xff\x00\x00\x00\x00\xa1\xff\xd2\xfd\x00\x00\xd4\xfd\x00\x00\x4e\xfd\x2f\xfe\x78\xfe\x00\x00\x00\x00\x00\x00\xcb\xfd\xdf\xfd\xdd\xfd\xdc\xfd\xdb\xfd\x00\x00\xcd\xfd\x38\xfe\xe1\xfd\x8e\xfd\xe3\xfd\xe5\xfd\x38\xfe\xe2\xfd\x4d\xfe\x4e\xfe\x00\x00\x30\xfe\x36\xfe\x2c\xfe\x2d\xfe\x51\xfe\x52\xfe\x00\x00\x33\xfe\x00\x00\x00\x00\x5a\xfe\x8a\xfd\x90\xfd\xb9\xff\xbc\xff\x00\x00\x00\x00\xeb\xff\xe8\xff\xe5\xff\x00\x00\x00\x00\x00\x00\x21\xff\x00\x00\x00\x00\xe7\xff\x20\xff\x9d\xfd\x96\xfd\x22\xff\xe6\xff\xe9\xff\xd6\xff\xd6\xff\x00\x00\xba\xff\xad\xfd\xaa\xfd\x35\xfe\x34\xfe\x32\xfe\x31\xfe\xe6\xfd\x00\x00\x00\x00\xda\xfd\x00\x00\x00\x00\xc9\xfd\xca\xfd\xd6\xff\xc6\xfd\x00\x00\xd1\xfd\x00\x00\x00\x00\x47\xfe\xa3\xff\x89\xfd\x88\xfd\x9c\xff\x8d\xfd\x93\xfd\x00\x00\x40\xfe\x9a\xff\xaf\xfe\xc4\xfe\xd9\xfe\x00\x00\xcd\xfe\x60\xff\x00\x00\x49\xff\x8e\xfe\x8a\xfe\x88\xfe\x00\x00\x00\x00\x8e\xfe\x3c\xff\x48\xff\x47\xff\x46\xff\x45\xff\x44\xff\x43\xff\x42\xff\x41\xff\x00\x00\xab\xfe\xe2\xfe\xaf\xfe\x00\x00\x6f\xff\x19\xff\x70\xff\x00\x00\x7d\xff\x7e\xff\x7c\xff\x9d\xfe\x82\xff\x00\x00\x00\x00\x1f\xff\xaf\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x45\xfd\x47\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\xff\x38\xff\x88\xff\x2a\xff\x87\xff\x00\x00\x27\xff\x86\xff\x85\xff\x00\x00\x00\x00\x00\x00\x59\xff\x26\xfe\x2a\xfe\x00\x00\x28\xfe\x24\xfe\x00\x00\xbb\xfd\x71\xfe\xb3\xfd\x00\x00\x00\x00\x00\x00\xbe\xfe\xb4\xfe\xba\xfe\x00\x00\x0b\xff\x00\x00\xc3\xff\xdc\xff\x00\x00\xd7\xff\xa8\xfd\x00\x00\xd7\xff\x6d\xff\x00\x00\x00\x00\x00\x00\xd5\xff\xd0\xff\xf0\xff\x00\x00\x26\xfe\xed\xff\x00\x00\xd0\xff\xce\xff\xcd\xff\xcb\xff\xd1\xff\x00\x00\x00\x00\x00\x00\xe3\xff\xe1\xff\xe0\xff\x6b\xff\xa7\xfd\x00\x00\xa5\xfd\x00\x00\xbc\xfe\xb8\xfe\x00\x00\xb2\xfe\x00\x00\x00\x00\xba\xfd\x00\x00\xec\xfd\x6f\xfe\x52\xff\x50\xff\x4f\xff\x25\xff\x2b\xff\x39\xff\x00\x00\x00\x00\x00\x00\x00\x00\x33\xff\x00\x00\x5a\xff\x5d\xff\x5e\xff\x3d\xfd\x00\x00\x41\xfd\xe6\xfe\x44\xfd\x46\xfd\x49\xfd\x4a\xfd\x97\xff\x7a\xff\x00\x00\x83\xff\x8e\xff\x4e\xfd\x8d\xff\x8c\xff\x92\xff\x00\x00\xdf\xfe\xdd\xfe\x8f\xff\x4e\xfd\x89\xff\x00\x00\x9c\xfd\x00\x00\x00\x00\x00\x00\x40\xff\x3f\xff\x3e\xff\x3d\xff\x90\xfe\x4e\xfd\x00\x00\x8b\xfe\x89\xfe\x91\xfe\x00\x00\x00\x00\xd3\xfe\xd1\xfe\x00\x00\xe6\xfe\xae\xfe\xc4\xfe\x4e\xfd\x94\xff\x00\x00\xc4\xfe\xd9\xfe\x00\x00\x00\x00\x00\x00\xd5\xfd\xd3\xfd\x8e\xfe\xc3\xfd\xc1\xfd\x00\x00\xd7\xff\xc8\xfd\xde\xfd\x00\x00\x00\x00\x00\x00\xcc\xfd\xe0\xfd\xe4\xfd\xb7\xff\xd7\xff\x00\x00\x00\x00\x2e\xfd\x2f\xfd\xb5\xff\x00\x00\xd9\xfd\xd7\xfd\xd8\xfd\xc7\xfd\xc4\xfd\xc2\xfd\xc5\xfd\x9d\xff\x8c\xfd\x92\xfd\xc4\xfe\x91\xff\xc3\xfe\xbf\xfe\x00\x00\xd6\xff\xd6\xff\x93\xff\x00\x00\x00\x00\xc8\xfe\x00\x00\xcf\xfe\xcc\xfe\x00\x00\xf4\xfe\x00\x00\xcd\xfe\x5f\xff\x4a\xff\x00\x00\x00\x00\x8f\xfe\x8a\xff\x00\x00\x00\x00\x00\x00\xd6\xff\xd6\xff\xe2\xfe\xe3\xfe\xe2\xfe\xd6\xff\xd6\xff\x81\xff\x80\xff\x7f\xff\x95\xff\x96\xff\x4e\xfd\x48\xfd\x4e\xfd\x00\x00\x3e\xfd\x00\x00\x00\x00\x58\xff\x56\xff\x32\xff\x00\x00\x00\x00\x2f\xff\x2d\xff\x00\x00\x00\x00\x00\x00\xc0\xfd\x00\x00\x00\x00\xb1\xfe\x00\x00\xe4\xfe\xc6\xff\x00\x00\xcc\xff\xc5\xff\xc4\xff\xc7\xff\x00\x00\x00\x00\xd1\xff\xd2\xff\x00\x00\x00\x00\xcf\xff\xd3\xff\x00\x00\xa6\xff\xa5\xff\xa4\xff\xc9\xff\x00\x00\xb3\xfe\x00\x00\x00\x00\x76\xfe\x00\x00\x00\x00\x00\x00\x2e\xff\x30\xff\x5b\xff\x00\x00\x5c\xff\x3f\xfd\x00\x00\xd6\xff\xd6\xff\x79\xff\x00\x00\x00\x00\x9b\xfe\x00\x00\x00\x00\x00\x00\xdc\xfe\xde\xfe\xa9\xfe\x00\x00\x00\x00\x3a\xff\x00\x00\x9b\xfd\x87\xfe\xd2\xfe\x00\x00\x00\x00\xc8\xfe\xd0\xfe\x00\x00\x00\x00\x00\x00\xce\xfe\x00\x00\x00\x00\x00\x00\xc0\xfe\x00\x00\xc2\xfe\x90\xff\x00\x00\xb8\xff\xc1\xff\xb6\xff\x00\x00\xb2\xff\xd0\xff\xd6\xfd\xc1\xfe\xda\xfe\xdb\xfe\xd6\xff\xd6\xfe\x00\x00\xcb\xfe\x16\xff\x00\x00\x00\x00\x00\x00\xc6\xfe\xca\xfe\xf3\xfe\x3b\xff\xac\xfe\xad\xfe\xa6\xfe\xd6\xff\xa7\xfe\xa5\xfe\x00\x00\x00\x00\x00\x00\xe1\xfe\x9e\xfe\x9f\xfe\x00\x00\x95\xfe\x96\xfe\xd6\xff\x99\xfe\x97\xfe\x98\xfe\x72\xff\x00\x00\x00\x00\x74\xff\x00\x00\x00\x00\x6c\xff\x00\x00\x00\x00\x40\xfd\x57\xff\x00\x00\x35\xff\x00\x00\x00\x00\xb0\xfe\xca\xff\xc8\xff\x00\x00\x00\x00\xee\xff\xa7\xff\x00\x00\x2b\xfe\x00\x00\x42\xfd\x43\xfd\x77\xff\x75\xff\x00\x00\x78\xff\x00\x00\xd7\xff\x9c\xfe\xaf\xfe\x00\x00\x17\xff\xaf\xfe\x00\x00\xa4\xfe\x00\x00\xaf\xfe\xd7\xff\xaa\xfe\xc9\xfe\x00\x00\x00\x00\x00\x00\xd7\xff\xd8\xfe\x00\x00\xd0\xff\xaf\xff\xae\xff\x3a\xfd\xab\xff\x00\x00\x00\x00\xac\xff\xad\xff\x00\x00\x00\x00\xd1\xff\xb3\xff\xd7\xfe\xd5\xfe\x00\x00\xc5\xfe\xc7\xfe\xa8\xfe\xa0\xfe\x00\x00\x00\x00\xa3\xfe\x00\x00\xc4\xfe\xd9\xfe\x9a\xfe\x00\x00\x73\xff\x76\xff\x2c\xff\x66\xfe\x94\xfe\xc4\xfe\x93\xfe\xa2\xfe\x00\x00\x60\xff\x00\x00\xb0\xff\xb4\xff\x00\x00\xa9\xff\x00\x00\xaa\xff\xa8\xff\x00\x00\xa1\xfe\x92\xfe\x00\x00\xd4\xfe"#
-
-happyCheck :: HappyAddr
-happyCheck = HappyA# "\xff\xff\x04\x00\x04\x00\x04\x00\x02\x00\x04\x00\x04\x00\x04\x00\x20\x00\x2f\x00\x11\x00\x12\x00\x13\x00\x3e\x00\x3f\x00\x40\x00\x45\x00\x45\x00\x63\x00\x0b\x00\x0d\x00\x0e\x00\x0b\x00\x37\x00\x14\x00\x0d\x00\x0e\x00\x37\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x1a\x00\x41\x00\xb7\x00\x11\x00\xc2\x00\x41\x00\x16\x00\x42\x00\x0d\x00\x0e\x00\x37\x00\x0d\x00\x0e\x00\xb7\x00\x0d\x00\x0e\x00\x1a\x00\x1f\x00\x20\x00\x37\x00\x41\x00\x13\x00\x1e\x00\x46\x00\x00\x00\x48\x00\x1a\x00\x34\x00\xc2\x00\x41\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x0c\x00\x34\x00\x0d\x00\x0e\x00\x1a\x00\x1b\x00\x22\x00\xc2\x00\x01\x00\xe9\x00\x0d\x00\x0e\x00\x1a\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x1a\x00\xe9\x00\x1d\x00\x1a\x00\x22\x00\x73\x00\x74\x00\x09\x00\xd0\x00\x0b\x00\x0d\x00\x0e\x00\xe9\x00\x09\x00\x75\x00\x1a\x00\xe9\x00\x73\x00\x2f\x00\x00\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xe0\x00\x23\x00\x00\x00\x39\x00\x05\x00\xe9\x00\x4a\x00\x4b\x00\x34\x00\x4e\x00\x26\x00\x34\x00\x5b\x00\x27\x00\x69\x00\xcd\x00\x24\x00\x21\x00\x22\x00\x21\x00\x22\x00\x1a\x00\x6b\x00\x69\x00\x1d\x00\x1a\x00\x3f\x00\x40\x00\x1a\x00\x70\x00\xdc\x00\x1d\x00\xdc\x00\x15\x00\x16\x00\x5e\x00\x26\x00\x11\x00\x8b\x00\x8c\x00\x8d\x00\x30\x00\x31\x00\x2d\x00\x6b\x00\xcd\x00\xcd\x00\x23\x00\xcc\x00\x25\x00\x6a\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x22\x00\x85\x00\xf5\x00\xf6\x00\x85\x00\xdc\x00\xdc\x00\x32\x00\x7a\x00\xdc\x00\xdd\x00\x36\x00\x6a\x00\x38\x00\x39\x00\x3a\x00\x92\x00\xce\x00\xcc\x00\x51\x00\x52\x00\x80\x00\xd0\x00\x7e\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xdb\x00\xdc\x00\xdd\x00\xe9\x00\xdc\x00\xdd\x00\x92\x00\xce\x00\xe0\x00\xe9\x00\xd1\x00\x92\x00\xc0\x00\xe9\x00\x92\x00\xc8\x00\x80\x00\xc0\x00\xce\x00\xb8\x00\xdb\x00\xdc\x00\xdd\x00\xc8\x00\xdf\x00\xe0\x00\x92\x00\xf3\x00\xe9\x00\x75\x00\xcc\x00\xdb\x00\xdc\x00\xdd\x00\xd0\x00\xdf\x00\xe0\x00\xe9\x00\xe9\x00\xe9\x00\xe9\x00\xb8\x00\xe9\x00\xe9\x00\xe9\x00\xf4\x00\xdc\x00\xdd\x00\xce\x00\xe9\x00\xe0\x00\xd1\x00\xe9\x00\x9f\x00\xcc\x00\xa1\x00\xfa\x00\xfc\x00\xfb\x00\xdf\x00\xe0\x00\xdb\x00\xdc\x00\xdd\x00\x89\x00\xdf\x00\xe0\x00\xdc\x00\xdd\x00\xf3\x00\xdc\x00\xdd\x00\x91\x00\x92\x00\x93\x00\x94\x00\x16\x00\x7e\x00\x97\x00\x98\x00\x99\x00\x6c\x00\xcc\x00\x9c\x00\x9d\x00\x9e\x00\xf4\x00\x42\x00\x77\x00\x23\x00\x22\x00\x25\x00\xa5\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xd2\x00\xdc\x00\xdd\x00\xd5\x00\x2d\x00\xd7\x00\xcc\x00\x32\x00\xcc\x00\x22\x00\xd0\x00\x36\x00\xd0\x00\x38\x00\x39\x00\x3a\x00\xe2\x00\xe0\x00\x42\x00\xe5\x00\xe6\x00\x50\x00\xdc\x00\xdd\x00\xdc\x00\xdd\x00\xe0\x00\x9f\x00\xe0\x00\x42\x00\xa2\x00\xdc\x00\x39\x00\xcb\x00\xdf\x00\xe0\x00\xce\x00\xcf\x00\x6d\x00\xd1\x00\x74\x00\x30\x00\x31\x00\xcc\x00\x4a\x00\x4b\x00\xdc\x00\xd0\x00\x6b\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x7e\x00\xf5\x00\xf6\x00\x17\x00\xdc\x00\xdd\x00\x9f\x00\xe8\x00\xe0\x00\x63\x00\xeb\x00\xec\x00\x73\x00\x74\x00\x22\x00\xf0\x00\xf5\x00\xf6\x00\x64\x00\x51\x00\x52\x00\x67\x00\x68\x00\xea\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xd1\x00\xdc\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x89\x00\xdf\x00\xe0\x00\x22\x00\xea\x00\xdf\x00\xe0\x00\x26\x00\x91\x00\x92\x00\x93\x00\x94\x00\x2b\x00\x08\x00\x97\x00\x98\x00\x99\x00\xf5\x00\xf6\x00\x9c\x00\x9d\x00\x9e\x00\x3e\x00\x3f\x00\x40\x00\x23\x00\xda\x00\x25\x00\xa5\x00\x27\x00\x28\x00\x29\x00\x2a\x00\xe1\x00\xe2\x00\xe3\x00\xce\x00\xe5\x00\xe6\x00\xe7\x00\x32\x00\xbd\x00\x25\x00\xea\x00\x36\x00\xc1\x00\x38\x00\x39\x00\x3a\x00\xdb\x00\xdc\x00\xdd\x00\x51\x00\x52\x00\x31\x00\x32\x00\x33\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x6d\x00\xce\x00\xe9\x00\xcb\x00\x64\x00\x31\x00\xce\x00\xcf\x00\x68\x00\xd1\x00\x5a\x00\x5b\x00\xce\x00\xcc\x00\xdb\x00\xdc\x00\xdd\x00\x7e\x00\xf9\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xdb\x00\xdc\x00\xdd\x00\xdc\x00\xdc\x00\xdd\x00\xea\x00\xe8\x00\xdc\x00\xdd\x00\xeb\x00\xec\x00\x51\x00\x52\x00\xd5\x00\xf0\x00\xdc\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x4e\x00\x4f\x00\xca\x00\x07\x00\xe2\x00\xf5\x00\xf6\x00\xcf\x00\xdc\x00\x0d\x00\x0e\x00\xdf\x00\xe0\x00\xa5\x00\xd1\x00\xa7\x00\x89\x00\xdc\x00\xf5\x00\xf6\x00\xdf\x00\xe0\x00\xde\x00\xea\x00\x91\x00\x92\x00\x93\x00\x94\x00\xdf\x00\xe0\x00\x97\x00\x98\x00\x99\x00\xf5\x00\xf6\x00\x9c\x00\x9d\x00\x9e\x00\x6d\x00\x23\x00\xcc\x00\x25\x00\xf5\x00\xf6\x00\xa5\x00\x29\x00\x2a\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x1a\x00\x17\x00\xcc\x00\x32\x00\x7e\x00\xdc\x00\xdd\x00\x36\x00\xe9\x00\x38\x00\x39\x00\x3a\x00\x22\x00\x6b\x00\x6c\x00\x51\x00\x52\x00\x2b\x00\xdc\x00\xdd\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x2e\x00\xe5\x00\xe6\x00\xdc\x00\xd0\x00\xcb\x00\xdf\x00\xe0\x00\xce\x00\xcf\x00\xdc\x00\xd1\x00\x3a\x00\xdf\x00\xe0\x00\xdc\x00\xdc\x00\xdd\x00\xdf\x00\xe0\x00\xe0\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x05\x00\xf5\x00\xf6\x00\xdc\x00\xdd\x00\x17\x00\xed\x00\xe8\x00\xf5\x00\xf6\x00\xeb\x00\xec\x00\x17\x00\xf5\x00\xf6\x00\xf0\x00\x22\x00\x16\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\xcc\x00\x1a\x00\xdc\x00\x75\x00\xd0\x00\xdf\x00\xe0\x00\x28\x00\x17\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x89\x00\xdc\x00\xdd\x00\xf2\x00\x22\x00\xe0\x00\x08\x00\x09\x00\x91\x00\x92\x00\x93\x00\x94\x00\xf5\x00\xf6\x00\x97\x00\x98\x00\x99\x00\x4f\x00\x50\x00\x9c\x00\x9d\x00\x9e\x00\x23\x00\xea\x00\x25\x00\xd1\x00\x4f\x00\x50\x00\xa5\x00\x45\x00\x46\x00\x17\x00\x48\x00\x49\x00\xcc\x00\x25\x00\x16\x00\x4d\x00\xd0\x00\xdf\x00\xe0\x00\x36\x00\x22\x00\x38\x00\x39\x00\x3a\x00\xbd\x00\x31\x00\x32\x00\x33\x00\xdc\x00\xdd\x00\x17\x00\x22\x00\xe0\x00\xdc\x00\xdd\x00\x26\x00\x23\x00\x08\x00\x25\x00\x0a\x00\x2b\x00\x22\x00\xdc\x00\x1b\x00\xcb\x00\xdf\x00\xe0\x00\xce\x00\xcf\x00\x22\x00\xd1\x00\xee\x00\xdc\x00\xdd\x00\x35\x00\x36\x00\x29\x00\x38\x00\x39\x00\x3a\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x25\x00\xf5\x00\xf6\x00\xce\x00\xee\x00\x05\x00\x06\x00\xe8\x00\x0d\x00\x0e\x00\xeb\x00\xec\x00\x31\x00\x32\x00\x33\x00\xf0\x00\xdb\x00\xdc\x00\xdd\x00\x08\x00\x09\x00\xcc\x00\x16\x00\x19\x00\x9f\x00\xd0\x00\x1a\x00\xa2\x00\x81\x00\x82\x00\x83\x00\x17\x00\x22\x00\x4d\x00\x4e\x00\x4f\x00\x89\x00\xdc\x00\xdd\x00\x8a\x00\xdc\x00\xe0\x00\x22\x00\xdf\x00\xe0\x00\x1c\x00\x93\x00\x24\x00\x25\x00\x69\x00\x97\x00\x22\x00\x99\x00\x1c\x00\xcc\x00\x9c\x00\x9d\x00\x9e\x00\xd0\x00\x22\x00\x31\x00\x32\x00\x33\x00\xcc\x00\xa5\x00\xf5\x00\xf6\x00\xd0\x00\x05\x00\x06\x00\xdc\x00\xdd\x00\x89\x00\x9f\x00\xe0\x00\xa1\x00\xc6\x00\xc7\x00\x19\x00\xdc\x00\xdd\x00\x19\x00\x93\x00\xe0\x00\xce\x00\x16\x00\x97\x00\x22\x00\x99\x00\x75\x00\x22\x00\x9c\x00\x9d\x00\x9e\x00\x23\x00\x96\x00\x25\x00\xdb\x00\xdc\x00\xdd\x00\xa5\x00\xe9\x00\xcb\x00\xc6\x00\xc7\x00\xce\x00\xcf\x00\x26\x00\xd1\x00\x75\x00\xa5\x00\xce\x00\xa7\x00\x36\x00\x2d\x00\x38\x00\x39\x00\x3a\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xdb\x00\xdc\x00\xdd\x00\x22\x00\x96\x00\x62\x00\x23\x00\xe8\x00\x25\x00\x28\x00\xeb\x00\xec\x00\xc9\x00\xca\x00\xcb\x00\xf0\x00\xe9\x00\xce\x00\xcf\x00\xa5\x00\xd1\x00\xa7\x00\x05\x00\x06\x00\x35\x00\x36\x00\xe9\x00\x38\x00\x39\x00\x3a\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcc\x00\x0d\x00\x0e\x00\x16\x00\xd0\x00\x05\x00\x06\x00\xe8\x00\x03\x00\xd1\x00\xeb\x00\xec\x00\x19\x00\x08\x00\x09\x00\xf0\x00\xdc\x00\xdd\x00\xda\x00\x19\x00\xe0\x00\x22\x00\x16\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xce\x00\x22\x00\x82\x00\x83\x00\x05\x00\x06\x00\x9f\x00\x19\x00\xa1\x00\x89\x00\x2c\x00\x3b\x00\x3c\x00\xdb\x00\xdc\x00\xdd\x00\x22\x00\xf4\x00\xce\x00\x93\x00\x22\x00\x16\x00\x2e\x00\x97\x00\x9f\x00\x99\x00\x28\x00\xa2\x00\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\x52\x00\xef\x00\x54\x00\xa5\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xda\x00\x89\x00\x5e\x00\x5f\x00\x23\x00\x62\x00\x25\x00\xe1\x00\xe2\x00\x0d\x00\x0e\x00\x93\x00\x7b\x00\x7c\x00\xf2\x00\x97\x00\x29\x00\x99\x00\xa6\x00\x2c\x00\x9c\x00\x9d\x00\x9e\x00\x36\x00\x11\x00\x38\x00\x39\x00\x3a\x00\x1a\x00\xa5\x00\x1c\x00\xcb\x00\xdc\x00\xdd\x00\xce\x00\xcf\x00\xe0\x00\xd1\x00\xbd\x00\xe2\x00\x05\x00\x06\x00\xe5\x00\xe6\x00\x09\x00\x95\x00\x0b\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x64\x00\x65\x00\x1f\x00\xd2\x00\x16\x00\x22\x00\xd5\x00\xe8\x00\xd7\x00\x47\x00\xeb\x00\xec\x00\x1e\x00\xa6\x00\xcb\x00\xf0\x00\x7e\x00\xce\x00\xcf\x00\xe2\x00\xd1\x00\x27\x00\xe5\x00\xe6\x00\xce\x00\x49\x00\x1a\x00\xd1\x00\x1c\x00\x2b\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x84\x00\xdb\x00\xdc\x00\xdd\x00\x7e\x00\xdf\x00\xe0\x00\xe8\x00\x7f\x00\xd1\x00\xeb\x00\xec\x00\xa8\x00\xa9\x00\xaa\x00\xf0\x00\x33\x00\x89\x00\x8e\x00\xdb\x00\xdc\x00\xdd\x00\x01\x00\xdf\x00\xe0\x00\x44\x00\xcf\x00\x93\x00\x8a\x00\x08\x00\x09\x00\x97\x00\x29\x00\x99\x00\x2b\x00\x8a\x00\x9c\x00\x9d\x00\x9e\x00\xdc\x00\x75\x00\xde\x00\xdf\x00\xe0\x00\xf4\x00\xa5\x00\x69\x00\x52\x00\x53\x00\x54\x00\xf2\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xdc\x00\xdd\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x32\x00\xf5\x00\xf6\x00\xce\x00\xa8\x00\xa9\x00\xaa\x00\x39\x00\x3a\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x01\x00\x1a\x00\xdb\x00\xdc\x00\xdd\x00\xe0\x00\xcb\x00\x08\x00\x09\x00\xce\x00\xcf\x00\xe3\x00\xd1\x00\xe5\x00\xe6\x00\xe7\x00\xea\x00\x3b\x00\x3c\x00\x1c\x00\x1d\x00\x1e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x6e\x00\x6f\x00\x70\x00\x3b\x00\x3c\x00\x43\x00\x29\x00\xe8\x00\x2b\x00\x43\x00\xeb\x00\xec\x00\x52\x00\x66\x00\x54\x00\xf0\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xe5\x00\xe6\x00\x5e\x00\x5f\x00\x52\x00\x2b\x00\x54\x00\x2d\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xe5\x00\xe6\x00\x5e\x00\x5f\x00\x6f\x00\x70\x00\x86\x00\x87\x00\x88\x00\x89\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x2d\x00\xdb\x00\xdc\x00\xdd\x00\x93\x00\xdf\x00\xe0\x00\x09\x00\x97\x00\x0b\x00\x99\x00\x15\x00\x16\x00\x9c\x00\x9d\x00\x9e\x00\xcf\x00\xe2\x00\x51\x00\x52\x00\x48\x00\x54\x00\xa5\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xdc\x00\x03\x00\xde\x00\xdf\x00\xe0\x00\x32\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\xab\x00\x39\x00\x3a\x00\x4d\x00\x0d\x00\x0e\x00\xdb\x00\xdc\x00\xdd\x00\xdc\x00\xdf\x00\xe0\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x51\x00\x52\x00\x53\x00\x54\x00\xcb\x00\x0d\x00\x0e\x00\xce\x00\xcf\x00\x0a\x00\xd1\x00\x38\x00\x39\x00\x3a\x00\xbb\x00\xbc\x00\xbd\x00\xc4\x00\xf5\x00\xf6\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x27\x00\xd1\x00\x29\x00\x27\x00\xcf\x00\x29\x00\xea\x00\xe8\x00\x8c\x00\x8d\x00\x8e\x00\xdb\x00\xdc\x00\xdd\x00\xea\x00\xdf\x00\xe0\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x27\x00\xdc\x00\x29\x00\xde\x00\xdf\x00\xe0\x00\xf4\x00\x87\x00\x88\x00\x89\x00\x0d\x00\x0e\x00\xf5\x00\xf6\x00\x8c\x00\x8d\x00\x8e\x00\x15\x00\x16\x00\x93\x00\xa8\x00\xa9\x00\xaa\x00\x97\x00\xea\x00\x99\x00\xf5\x00\xf6\x00\x9c\x00\x9d\x00\x9e\x00\xea\x00\xcf\x00\x51\x00\x52\x00\xe1\x00\xe2\x00\xa5\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x2d\x00\xdc\x00\x93\x00\xde\x00\xdf\x00\xe0\x00\x97\x00\x48\x00\x99\x00\x51\x00\x52\x00\x9c\x00\x9d\x00\x9e\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xa5\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xf5\x00\xf6\x00\x0c\x00\x0d\x00\x0e\x00\xcb\x00\xda\x00\x48\x00\xce\x00\xcf\x00\x27\x00\xd1\x00\x29\x00\xe1\x00\xe2\x00\xe3\x00\x48\x00\xe5\x00\xe6\x00\xe7\x00\x48\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x0c\x00\x0d\x00\x0e\x00\xea\x00\x27\x00\xcb\x00\x29\x00\xe8\x00\xce\x00\xcf\x00\x24\x00\xd1\x00\xa8\x00\xa9\x00\xaa\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x51\x00\x52\x00\x0d\x00\x0e\x00\xe8\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x52\x00\x27\x00\x54\x00\x29\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xda\x00\x19\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\xd1\x00\xe1\x00\xe2\x00\xe3\x00\xea\x00\xe5\x00\xe6\x00\xe7\x00\xe0\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xf2\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xdc\x00\x0d\x00\x0e\x00\xdf\x00\xe0\x00\x27\x00\x52\x00\x29\x00\x54\x00\xe0\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x9f\x00\xf4\x00\x5e\x00\x5f\x00\xdc\x00\x61\x00\xab\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x18\x00\x8b\x00\x8c\x00\x8d\x00\x27\x00\x27\x00\x29\x00\x29\x00\x27\x00\x27\x00\x29\x00\x29\x00\x27\x00\x27\x00\x29\x00\x29\x00\x9f\x00\x95\x00\xf5\x00\xf6\x00\x52\x00\x27\x00\x54\x00\x29\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x0d\x00\x0e\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x27\x00\x27\x00\x29\x00\x29\x00\x27\x00\x27\x00\x29\x00\x29\x00\x27\x00\xea\x00\x29\x00\xdc\x00\x0f\x00\x10\x00\xdf\x00\xe0\x00\x27\x00\x52\x00\x29\x00\x54\x00\xf2\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x17\x00\xcf\x00\x5e\x00\x5f\x00\xdc\x00\x61\x00\xa6\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x2b\x00\xda\x00\x2d\x00\xdc\x00\x62\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe9\x00\xe5\x00\xe6\x00\xe7\x00\x76\x00\x0d\x00\x0e\x00\xf5\x00\xf6\x00\x0d\x00\x0e\x00\x09\x00\x9f\x00\xa9\x00\xaa\x00\x46\x00\x47\x00\xf5\x00\xf6\x00\xcf\x00\x52\x00\x0d\x00\x0e\x00\x09\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xda\x00\x16\x00\xdc\x00\x2d\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\x52\x00\x17\x00\x54\x00\x63\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x0d\x00\x0e\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x0d\x00\x0e\x00\xf5\x00\xf6\x00\x7b\x00\xcf\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x05\x00\x06\x00\x0d\x00\x0e\x00\x08\x00\x09\x00\xda\x00\x63\x00\xdc\x00\x29\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\x17\x00\xe5\x00\xe6\x00\xe7\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x24\x00\x25\x00\x16\x00\x27\x00\xcf\x00\x05\x00\x06\x00\x05\x00\x06\x00\xf5\x00\xf6\x00\x4a\x00\x4b\x00\x31\x00\x32\x00\x33\x00\x22\x00\xdc\x00\x17\x00\xde\x00\xdf\x00\xe0\x00\x52\x00\x1a\x00\x54\x00\x29\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x28\x00\x29\x00\x5e\x00\x5f\x00\x28\x00\x61\x00\x03\x00\x04\x00\x4a\x00\x4b\x00\xf5\x00\xf6\x00\x28\x00\x29\x00\x05\x00\x06\x00\x29\x00\x52\x00\x1a\x00\x54\x00\x29\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x17\x00\x5d\x00\x5e\x00\x5f\x00\x28\x00\x29\x00\x01\x00\x88\x00\x89\x00\x4a\x00\xdc\x00\x05\x00\x06\x00\xdf\x00\xe0\x00\x1c\x00\xcf\x00\x1b\x00\x92\x00\x29\x00\x0f\x00\x4a\x00\x16\x00\x28\x00\x17\x00\x22\x00\x1c\x00\x16\x00\x05\x00\xdc\x00\x17\x00\xde\x00\xdf\x00\xe0\x00\x28\x00\xf5\x00\xf6\x00\x52\x00\x1c\x00\x54\x00\x9f\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1c\x00\x5d\x00\x5e\x00\x5f\x00\x0c\x00\x17\x00\x27\x00\xf5\x00\xf6\x00\x52\x00\x17\x00\x54\x00\x17\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x22\x00\x5d\x00\x5e\x00\x5f\x00\x52\x00\x22\x00\x54\x00\x47\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x92\x00\x5d\x00\x5e\x00\x5f\x00\x29\x00\x50\x00\x25\x00\x1b\x00\xcf\x00\x1b\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x92\x00\x67\x00\xdc\x00\x17\x00\xde\x00\xdf\x00\xe0\x00\x28\x00\x1b\x00\x1b\x00\x5d\x00\x69\x00\x63\x00\x52\x00\x1a\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x6b\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\x7c\x00\xde\x00\xdf\x00\xe0\x00\x7a\x00\x22\x00\x2b\x00\x7b\x00\x24\x00\x24\x00\x52\x00\x7b\x00\x54\x00\x1b\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x63\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\x63\x00\x2b\x00\x1b\x00\x28\x00\x52\x00\x1b\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x22\x00\x5d\x00\x5e\x00\x5f\x00\x1b\x00\x7b\x00\xdc\x00\x7b\x00\xde\x00\xdf\x00\xe0\x00\x1f\x00\xcf\x00\x01\x00\x65\x00\x0c\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x17\x00\x16\x00\x29\x00\x22\x00\x17\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\x7b\x00\xf5\x00\xf6\x00\x1a\x00\x16\x00\x92\x00\x92\x00\x17\x00\x22\x00\xdc\x00\x1f\x00\xde\x00\xdf\x00\xe0\x00\x24\x00\x25\x00\x1a\x00\x27\x00\x28\x00\x31\x00\xf5\x00\xf6\x00\x17\x00\x0f\x00\x67\x00\x28\x00\x0c\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\xf5\x00\xf6\x00\x1f\x00\x52\x00\xcf\x00\x54\x00\x28\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x28\x00\x5d\x00\x5e\x00\x5f\x00\xdc\x00\x92\x00\xde\x00\xdf\x00\xe0\x00\x92\x00\x92\x00\x29\x00\x22\x00\x7b\x00\x17\x00\x50\x00\x28\x00\x7b\x00\xcf\x00\x7b\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xf5\x00\xf6\x00\xdc\x00\x2b\x00\xde\x00\xdf\x00\xe0\x00\x7b\x00\x52\x00\xcf\x00\x54\x00\x69\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x67\x00\x5d\x00\x5e\x00\x5f\x00\xdc\x00\x7b\x00\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x63\x00\x7c\x00\x22\x00\x17\x00\x6c\x00\x5e\x00\x52\x00\x17\x00\x54\x00\x05\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x0f\x00\x2b\x00\xf5\x00\xf6\x00\x52\x00\x2b\x00\x54\x00\x22\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x2b\x00\x5d\x00\x5e\x00\x5f\x00\x52\x00\x1c\x00\x54\x00\x1b\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x2c\x00\x5d\x00\x5e\x00\x5f\x00\x41\x00\x1a\x00\x92\x00\x2b\x00\x92\x00\x92\x00\x52\x00\x29\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x09\x00\x5d\x00\x5e\x00\x5f\x00\x1e\x00\x22\x00\xdc\x00\x0f\x00\xde\x00\xdf\x00\xe0\x00\x92\x00\x22\x00\x2b\x00\x92\x00\x4c\x00\x29\x00\x52\x00\x0c\x00\x54\x00\x17\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x22\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\x1a\x00\x28\x00\x0f\x00\x5f\x00\x52\x00\x0f\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x16\x00\x5d\x00\x5e\x00\x5f\x00\x29\x00\x4c\x00\xdc\x00\x52\x00\xde\x00\xdf\x00\xe0\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x52\x00\x46\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1c\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x1c\x00\x24\x00\x27\x00\x1a\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\x1c\x00\x78\x00\x1c\x00\x1b\x00\x47\x00\x0f\x00\xf5\x00\xf6\x00\x17\x00\xdc\x00\x1e\x00\xde\x00\xdf\x00\xe0\x00\x70\x00\x16\x00\xcf\x00\x66\x00\x0c\x00\x24\x00\xf5\x00\xf6\x00\x29\x00\x22\x00\x1c\x00\x7c\x00\x05\x00\x24\x00\x24\x00\xdc\x00\x92\x00\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x22\x00\x73\x00\x51\x00\x17\x00\x52\x00\x17\x00\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x92\x00\x5d\x00\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\x17\x00\xde\x00\xdf\x00\xe0\x00\x17\x00\x17\x00\xcf\x00\x52\x00\x22\x00\x1f\x00\x22\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xd1\x00\x21\x00\xdc\x00\x2d\x00\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\x1b\x00\xdb\x00\xdc\x00\xdd\x00\x2b\x00\xdf\x00\xe0\x00\xcf\x00\x17\x00\x41\x00\xdc\x00\x41\x00\x41\x00\xdf\x00\xe0\x00\x27\x00\x4c\x00\x1f\x00\xf5\x00\xf6\x00\xdc\x00\x75\x00\xde\x00\xdf\x00\xe0\x00\x52\x00\xf4\x00\x54\x00\x1a\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xf5\x00\xf6\x00\x5e\x00\x5f\x00\x6c\x00\x61\x00\x2d\x00\x92\x00\x0c\x00\x17\x00\xf5\x00\xf6\x00\x92\x00\x17\x00\x17\x00\x17\x00\x17\x00\x52\x00\x22\x00\x54\x00\x1f\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x21\x00\x5d\x00\x5e\x00\x5f\x00\x52\x00\x1f\x00\x54\x00\x17\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x1c\x00\x5d\x00\x5e\x00\x5f\x00\x52\x00\x73\x00\xcf\x00\x32\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x6c\x00\x1b\x00\x93\x00\x1b\x00\x28\x00\xdc\x00\x0f\x00\xde\x00\xdf\x00\xe0\x00\x52\x00\x93\x00\x54\x00\x92\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x93\x00\x0f\x00\x5e\x00\x5f\x00\x0f\x00\x1b\x00\x1b\x00\x1b\x00\x93\x00\xdc\x00\xf5\x00\xf6\x00\xdf\x00\xe0\x00\x2c\x00\x1b\x00\x2c\x00\x52\x00\x83\x00\x54\x00\x93\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x00\x00\x73\x00\x00\x00\x5f\x00\x00\x00\x6b\x00\x1b\x00\xf5\x00\xf6\x00\xff\xff\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x73\x00\x73\x00\x73\x00\x5f\x00\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x22\x00\xff\xff\x24\x00\x25\x00\xff\xff\x27\x00\x28\x00\x29\x00\xdc\x00\x2b\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xf5\x00\xf6\x00\xff\xff\xdc\x00\xff\xff\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\xcf\x00\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcf\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\xdc\x00\xf1\x00\xde\x00\xdf\x00\xe0\x00\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xf1\x00\xff\xff\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xf5\x00\xf6\x00\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x01\x00\xff\xff\x5e\x00\x5f\x00\x05\x00\x06\x00\xff\xff\xff\xff\x52\x00\xcf\x00\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xcf\x00\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xcf\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xcf\x00\xff\xff\x52\x00\x69\x00\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xdc\x00\xcf\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xf5\x00\xf6\x00\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xcf\x00\xff\xff\x08\x00\x09\x00\x0a\x00\x0b\x00\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xcf\x00\xf5\x00\xf6\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\xff\xff\x25\x00\xdc\x00\x27\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x52\x00\xcf\x00\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xf5\x00\xf6\x00\x5f\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\xff\xff\x54\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\xff\xff\x5f\x00\xd6\x00\xff\xff\xff\xff\xff\xff\xda\x00\xff\xff\xdc\x00\xff\xff\xff\xff\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\xcf\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xf5\x00\xf6\x00\xf7\x00\xf8\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xcf\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xf5\x00\xf6\x00\xff\xff\xdc\x00\xff\xff\x8b\x00\xdf\x00\xe0\x00\xcf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcf\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xdc\x00\xff\xff\xde\x00\xdf\x00\xe0\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf5\x00\xf6\x00\xff\xff\xff\xff\xd3\x00\xff\xff\xff\xff\xd6\x00\xff\xff\xd8\x00\xff\xff\xda\x00\xff\xff\xff\xff\xd1\x00\xff\xff\xf5\x00\xf6\x00\xe1\x00\xe2\x00\xe3\x00\xff\xff\xe5\x00\xe6\x00\xe7\x00\xdc\x00\xff\xff\xff\xff\xdf\x00\xe0\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xdc\x00\xdf\x00\xe0\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xf5\x00\xf6\x00\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\xf4\x00\xff\xff\xff\xff\xf5\x00\xf6\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\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\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\x6b\x00\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\xff\xff\x74\x00\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\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\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\x6b\x00\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\xff\xff\x74\x00\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\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\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\xff\xff\x74\x00\xff\xff\x76\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\xff\xff\xff\xff\xff\xff\x8d\x00\x8e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\x61\x00\x62\x00\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\x6d\x00\x6e\x00\x6f\x00\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\x8b\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xd3\x00\x66\x00\x67\x00\xd6\x00\x69\x00\xd8\x00\xff\xff\xda\x00\x6d\x00\x6e\x00\x6f\x00\xff\xff\xff\xff\x72\x00\xe1\x00\xe2\x00\xe3\x00\xff\xff\xe5\x00\xe6\x00\xe7\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xd3\x00\x66\x00\x67\x00\xd6\x00\x69\x00\xd8\x00\xff\xff\xda\x00\x6d\x00\x6e\x00\x6f\x00\xff\xff\xff\xff\x72\x00\xe1\x00\xe2\x00\xe3\x00\xff\xff\xe5\x00\xe6\x00\xe7\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\x61\x00\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\xff\xff\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\x8e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xff\xff\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x7f\x00\x80\x00\x81\x00\x82\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x8e\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xff\xff\x3b\x00\x3c\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xf4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x67\x00\xff\xff\x69\x00\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\xff\xff\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x7c\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\x8a\x00\xff\xff\x27\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\x30\x00\x31\x00\x32\x00\xdb\x00\xdc\x00\xdd\x00\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\x78\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xff\xff\xff\xff\xff\xff\xf4\x00\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x08\x00\x09\x00\x69\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\xd3\x00\xff\xff\x27\x00\xd6\x00\xff\xff\xd8\x00\x8a\x00\xda\x00\x2d\x00\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xe1\x00\xe2\x00\xe3\x00\xff\xff\xe5\x00\xe6\x00\xe7\x00\xff\xff\x3b\x00\x3c\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xff\xff\xdf\x00\xe0\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xf4\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\x69\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\x27\x00\xff\xff\xff\xff\xff\xff\x8a\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\xff\xff\xd3\x00\x32\x00\xff\xff\xd6\x00\xff\xff\xd8\x00\xff\xff\xda\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xe1\x00\xe2\x00\xe3\x00\x42\x00\xe5\x00\xe6\x00\xe7\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\x32\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf4\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x22\x00\xff\xff\x24\x00\x25\x00\x42\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x67\x00\x09\x00\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x22\x00\xff\xff\x24\x00\x25\x00\x42\x00\x27\x00\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\x22\x00\xff\xff\xff\xff\x25\x00\x42\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\xa5\x00\xff\xff\x69\x00\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\x70\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x7d\x00\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\x8a\x00\xff\xff\x23\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x67\x00\x09\x00\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x69\x00\xff\xff\x0c\x00\xff\xff\xff\xff\x0f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3b\x00\x3c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x42\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\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x69\x00\x08\x00\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\xff\xff\x18\x00\x19\x00\x7c\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\x8a\x00\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\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\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\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\xff\xff\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\x22\x00\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\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\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\x08\x00\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\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\xff\xff\x27\x00\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\x77\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\x1a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\x77\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\x01\x00\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\x2d\x00\x66\x00\x67\x00\xff\xff\x69\x00\x6a\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\x71\x00\x72\x00\xff\xff\xff\xff\xff\xff\x76\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x85\x00\x86\x00\x87\x00\x50\x00\x51\x00\x52\x00\x53\x00\x22\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x69\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\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x50\x00\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\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\xff\xff\x22\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\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x50\x00\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\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\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\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\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\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x7e\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\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\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4f\x00\x50\x00\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x64\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\xff\xff\x20\x00\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2d\x00\xff\xff\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\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\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\x5f\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\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\x2f\x00\xff\xff\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x1e\x00\xff\xff\x20\x00\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\x2f\x00\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\xff\xff\x07\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\xff\xff\x48\x00\x49\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\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\x7c\x00\xff\xff\x4f\x00\x50\x00\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\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x1e\x00\x05\x00\x06\x00\xff\xff\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\x16\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\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\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\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\xff\xff\xff\xff\x01\x00\x02\x00\x7c\x00\xff\xff\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x7c\x00\x1e\x00\xff\xff\xff\xff\xff\xff\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\x16\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\xff\xff\xff\xff\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\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\xff\xff\xff\xff\x01\x00\x02\x00\x7c\x00\xff\xff\x05\x00\x06\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x7c\x00\x1e\x00\x05\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\x16\x00\x17\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x05\x00\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\x16\x00\x17\x00\x50\x00\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\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\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\xff\xff\xff\xff\x01\x00\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\x7c\x00\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x7c\x00\x05\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\x16\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x69\x00\x05\x00\x06\x00\xff\xff\x50\x00\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\x16\x00\x7c\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\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\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\x1c\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x79\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x50\x00\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\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1c\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\x50\x00\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\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xcb\x00\x26\x00\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\x05\x00\x06\x00\x7c\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x50\x00\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\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\x05\x00\x69\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\x16\x00\xff\xff\xff\xff\x7c\x00\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x50\x00\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\x16\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\x05\x00\x69\x00\xff\xff\x50\x00\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\x16\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\x05\x00\x69\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\x16\x00\xff\xff\xff\xff\x7c\x00\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x50\x00\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\x16\x00\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\x01\x00\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x50\x00\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\x01\x00\xff\xff\xff\xff\x7c\x00\x05\x00\x06\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\x18\x00\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x1e\x00\x7c\x00\x50\x00\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\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x16\x00\xff\xff\x7c\x00\xff\xff\xff\xff\x01\x00\x50\x00\x51\x00\x52\x00\x53\x00\x69\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\x7c\x00\xff\xff\x69\x00\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\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\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\x50\x00\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\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\x01\x00\xff\xff\xff\xff\x66\x00\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x25\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\x01\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xa5\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x69\x00\x50\x00\x51\x00\x52\x00\x53\x00\x25\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\xff\xff\xcb\x00\xff\xff\x7c\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xe8\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\xff\xff\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\x69\x00\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\xff\xff\xff\xff\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb1\x00\xb2\x00\xb3\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xb2\x00\xb3\x00\xff\xff\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xb4\x00\xb5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xb4\x00\xb5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xbe\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xa5\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xe8\x00\xff\xff\xff\xff\xc3\x00\xff\xff\xc5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xff\xff\xc5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xb4\x00\xb5\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xbe\x00\xff\xff\x9c\x00\x9d\x00\x9e\x00\xc3\x00\xff\xff\xc5\x00\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc3\x00\xe8\x00\xc5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xb5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xbe\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xa5\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xbf\x00\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xe8\x00\xe9\x00\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xe8\x00\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xff\xff\xff\xff\xff\xff\xa4\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xaf\x00\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xb6\x00\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xae\x00\xaf\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xa0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xd4\x00\xff\xff\xd6\x00\xff\xff\xff\xff\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xff\xff\xe4\x00\xff\xff\xe6\x00\xe7\x00\xe8\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb9\x00\xba\x00\xa5\x00\xff\xff\xff\xff\xbe\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xba\x00\xd1\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xbe\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa3\x00\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xbe\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa4\x00\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xa3\x00\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xbe\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xff\xff\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\x94\x00\xd1\x00\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\x91\x00\x92\x00\x93\x00\x94\x00\xff\xff\xe8\x00\x97\x00\x98\x00\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\x97\x00\xff\xff\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\x99\x00\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9b\x00\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9b\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\x00\xff\xff\xff\xff\xa8\x00\xa9\x00\xaa\x00\xff\xff\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa5\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xe8\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9c\x00\x9d\x00\x9e\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xa5\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\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\xcb\x00\xff\xff\xff\xff\xce\x00\xcf\x00\xff\xff\xd1\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\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"#
-
-happyTable :: HappyAddr
-happyTable = HappyA# "\x00\x00\x12\x00\x0e\x00\x10\x00\x9b\x00\x0c\x00\x9c\x00\x14\x00\x0b\x05\x67\x04\x84\x03\x85\x03\x86\x03\x9f\x03\x8f\x02\x90\x02\x1c\x04\xc4\x03\x26\x02\x39\x02\xa8\x00\x31\x02\x93\x00\xa3\x00\x45\x04\xa8\x00\xfd\x01\xa3\x00\xa8\x00\x31\x02\xa8\x00\xfd\x01\x30\x02\x1b\x04\x70\x02\xe3\x04\xe5\x00\x10\x03\xb1\xff\x98\x04\xa8\x00\xc6\x02\xa3\x00\xa8\x00\x6a\x04\xbe\x01\xa8\x00\x6a\x04\x30\x02\xe4\x04\xe5\x04\xa3\x00\xa4\x00\x4f\x04\x9e\x02\xa1\x00\x87\x01\xa2\x00\x30\x02\x32\x02\xeb\x00\xec\x00\xa8\x00\xc6\x02\xa8\x00\x80\x04\x52\x03\x34\x02\xa8\x00\x70\x04\x4e\xfd\x8e\x01\xc4\x01\xf1\x00\x29\x04\xe6\x00\xa8\x00\xb7\x04\x56\x03\xa8\x00\xb7\x04\xa8\x00\x80\x04\x58\x03\xbf\x01\x88\x01\x58\x03\x13\x03\x0a\x05\x9a\x04\xb3\x00\xeb\x04\xb4\x00\xa8\x00\x70\x04\xbf\x01\xb3\x00\x14\x05\x30\x02\xe6\x00\xa3\x00\x53\x03\x87\x01\x8d\x02\x8e\x02\x8f\x02\x90\x02\x7d\x01\x2a\x04\x87\x01\x14\x03\x36\x00\xe6\x00\x5e\x04\x38\x04\xb8\x04\x66\x03\x14\x03\xb9\x04\x41\x03\xb7\x00\x8d\x04\x1e\x04\x7f\x04\x0d\x05\x52\x04\x51\x04\x52\x04\xce\x04\x17\x00\x05\x05\x88\x01\x30\x02\xa0\x03\x90\x02\x30\x02\xa0\x02\xc6\x03\x88\x01\x7f\x00\x2c\x02\x2d\x02\xee\x03\x06\x03\xee\x04\x73\x01\x74\x01\x75\x01\xb3\x04\xb4\x04\xae\x01\x4e\xfd\xc5\x03\xc5\x03\xcb\x01\x91\x02\xcc\x01\x81\x04\x2e\x02\xce\x01\xcf\x01\xd0\x01\xc6\x04\x6b\x04\x27\x02\x82\x00\x6c\x04\xc6\x03\xc6\x03\xd1\x01\xef\x03\x2b\x00\x7c\x01\xd2\x01\x82\x04\xd3\x01\xd4\x01\xd5\x01\xfb\x02\x24\x03\xe6\x04\xb5\x04\x44\x03\x71\x04\xe7\x04\xf7\x04\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x2a\x00\x2b\x00\x2c\x00\x68\x04\x2b\x00\x7c\x01\x57\x03\x87\x03\x7d\x01\xa5\x00\xad\x00\x59\x03\xfe\x01\xa5\x00\x5c\x03\x33\x02\x72\x04\xff\x01\x46\x04\xc7\x02\x2a\x00\x2b\x00\x2c\x00\x35\x02\x2e\x00\x2f\x00\xed\x02\xe8\x04\xa5\x00\x06\x05\xe6\x04\x2a\x00\x2b\x00\x2c\x00\xe7\x04\x47\x04\x2f\x00\xa5\x00\x0d\x00\x0d\x00\x0d\x00\xc8\x02\x0d\x00\x0d\x00\x0d\x00\x88\x03\x2b\x00\x7c\x01\x87\x03\x94\x00\x7d\x01\xad\x00\x94\x00\xa6\x01\x91\x02\x01\x03\x0f\x00\x13\x00\x11\x00\x80\x00\x2f\x00\x2a\x00\x2b\x00\x2c\x00\xd6\x01\x2e\x00\x2f\x00\x2b\x00\x39\x04\xe8\x04\x2b\x00\x7c\x01\xd7\x01\x1a\x00\xd8\x01\x1c\x00\x73\x03\xfa\x04\x1d\x00\x1e\x00\x1f\x00\xf1\x04\x91\x02\x20\x00\x21\x00\x22\x00\x88\x03\x98\x04\x07\x04\xcb\x01\x13\x03\xcc\x01\x23\x00\x74\x03\xce\x01\xcf\x01\xd0\x01\x15\x03\x2b\x00\x7c\x01\x16\x03\x9d\x03\x17\x03\x53\x04\xd1\x01\x53\x04\xc4\x01\x54\x04\xd2\x01\x54\x04\xd3\x01\xd4\x01\xd5\x01\x18\x03\xe2\x03\x98\x04\x19\x03\xc9\x00\xb3\x02\x2b\x00\x7c\x01\x2b\x00\x7c\x01\x7d\x01\xae\x01\x7d\x01\x23\x03\x03\x03\x7f\x00\xc5\x01\x26\x00\x80\x00\x2f\x00\x27\x00\x28\x00\xfc\x04\x29\x00\xf5\x04\xb6\x04\xb4\x04\x53\x04\x37\x04\x38\x04\x7f\x00\x54\x04\xb4\x02\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xfd\x04\x81\x00\x82\x00\x12\x05\x2b\x00\x7c\x01\xc5\x00\x30\x00\x7d\x01\x26\x02\xd9\x01\xda\x01\x99\x04\x9a\x04\xc4\x04\xdb\x01\xa7\x04\x82\x00\xbf\x03\xb5\x04\x44\x03\xc0\x03\xc1\x03\xca\x04\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x94\x04\x7f\x00\x95\x04\x96\x04\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xd6\x01\x08\x04\x2f\x00\xb6\x01\xcc\x04\x2e\x00\x2f\x00\xb7\x01\xd7\x01\x1a\x00\xd8\x01\x1c\x00\xb8\x01\xcc\x00\x1d\x00\x1e\x00\x1f\x00\x23\x04\x82\x00\x20\x00\x21\x00\x22\x00\x5d\x03\x8f\x02\x90\x02\xcb\x01\xc6\x00\xcc\x01\x23\x00\xcd\x01\xce\x01\xcf\x01\xd0\x01\xaf\x00\xb0\x00\xc7\x00\x24\x03\xc8\x00\xc9\x00\xca\x00\xd1\x01\x6d\x02\xcf\x00\x90\x04\xd2\x01\x6e\x02\xd3\x01\xd4\x01\xd5\x01\x2a\x00\x2b\x00\x2c\x00\xf9\x04\x44\x03\xd1\x00\x4b\x01\xd3\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xdf\x03\x24\x03\x8b\x01\x26\x00\xbf\x03\x01\x05\x27\x00\x28\x00\x6f\x04\x29\x00\x29\x01\x7a\x00\x24\x03\xec\x04\x2a\x00\x2b\x00\x2c\x00\xe0\x03\x8c\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x2a\x00\x2b\x00\x2c\x00\x7f\x00\x2b\x00\x7c\x01\x9e\x04\x30\x00\x2b\x00\x39\x04\xd9\x01\xda\x01\xb5\x04\x44\x03\x7d\x04\xdb\x01\x7f\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xa2\x03\x97\x02\x91\x03\x81\x01\x18\x03\x27\x02\x82\x00\x92\x03\x7f\x00\xa8\x00\x82\x01\x80\x00\x2f\x00\xf7\x01\x43\x04\xf8\x01\xd6\x01\x7f\x00\x4e\x02\x82\x00\x80\x00\x2f\x00\x2d\x00\xa8\x04\xd7\x01\x1a\x00\xd8\x01\x1c\x00\x2e\x00\x2f\x00\x1d\x00\x1e\x00\x1f\x00\x81\x00\x82\x00\x20\x00\x21\x00\x22\x00\x1e\x03\xcb\x01\x18\x04\xcc\x01\x81\x00\x82\x00\x23\x00\x1c\x03\xd0\x01\x94\x02\x95\x02\x96\x02\x97\x02\x30\x02\xc3\x04\x91\x02\xd1\x01\x1f\x03\x2b\x00\x7c\x01\xd2\x01\x65\x04\xd3\x01\xd4\x01\xd5\x01\xc4\x04\x92\x04\x93\x04\xd0\x04\x44\x03\x70\x02\x2b\x00\x7c\x01\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x5d\x01\xf3\x02\xc9\x00\x7f\x00\xa2\x02\x26\x00\x80\x00\x2f\x00\x27\x00\x28\x00\x7f\x00\x29\x00\x5e\x01\x97\x01\x2f\x00\x7f\x00\x2b\x00\xa3\x02\x80\x00\x2f\x00\x7d\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x36\x00\x81\x00\x82\x00\x2b\x00\x5d\x04\x03\x03\xa4\x02\x30\x00\x0e\x02\x82\x00\xd9\x01\xda\x01\x18\x02\x2a\x01\x82\x00\xdb\x01\xc3\x00\xa6\x02\x98\x02\x95\x02\x96\x02\x97\x02\x7a\x01\xfa\x01\x7f\x00\x86\x04\x7b\x01\x80\x00\x2f\x00\x19\x02\x50\x02\x97\x04\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xd6\x01\x2b\x00\x7c\x01\x88\x04\x1c\x02\x7d\x01\xcc\x00\xb3\x00\xd7\x01\x1a\x00\xd8\x01\x1c\x00\x81\x00\x82\x00\x1d\x00\x1e\x00\x1f\x00\x78\x01\x93\x02\x20\x00\x21\x00\x22\x00\xcb\x01\xf7\x03\xcc\x01\x94\x04\x78\x01\x79\x01\x23\x00\xfb\x01\x55\x00\xe0\x02\x56\x00\x57\x00\x7a\x01\xcf\x00\x73\x03\xfc\x01\x7b\x01\x2e\x00\x2f\x00\xa0\x04\xc3\x00\xd3\x01\xd4\x01\xd5\x01\x00\x04\xd1\x00\x4b\x01\xd3\x00\x2b\x00\x7c\x01\xa9\x01\xbc\x01\x7d\x01\x2b\x00\x4a\x03\xbd\x01\xcb\x01\xcc\x00\xcc\x01\xcd\x00\xbe\x01\xc3\x00\x7f\x00\xf9\x03\x26\x00\x80\x00\x2f\x00\x27\x00\x28\x00\x13\x03\x29\x00\xb2\x03\x2b\x00\x4a\x03\x43\x02\x44\x02\x1b\x04\xd3\x01\xd4\x01\xd5\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xcf\x00\x81\x00\x82\x00\x4d\x03\x4b\x03\x36\x00\x37\x00\x30\x00\xd1\x04\xd2\x04\xd9\x01\xda\x01\xd1\x00\x4b\x01\xd3\x00\xdb\x01\x2a\x00\x2b\x00\x2c\x00\xcc\x00\xb3\x00\x7a\x01\x45\x04\x05\x03\xae\x01\x7b\x01\x30\x02\xd7\x02\xa1\x04\xa2\x04\xa3\x04\x16\x02\xc3\x00\xa3\x03\x96\x02\x97\x02\xd6\x01\x2b\x00\x7c\x01\x01\x04\x7f\x00\x7d\x01\xac\x01\x80\x00\x2f\x00\x13\x05\x45\x02\x1b\x03\xcf\x00\x05\x04\x1d\x00\xdf\x04\x1f\x00\xde\x04\x7a\x01\x20\x00\x21\x00\x22\x00\x7b\x01\xdf\x04\xd1\x00\x4b\x01\xd3\x00\x7a\x01\x23\x00\x81\x00\x82\x00\x7b\x01\x36\x00\x37\x00\x2b\x00\x7c\x01\xd6\x01\xa6\x01\x7d\x01\xde\x02\xff\x02\x9b\x01\xd9\x02\x2b\x00\x7c\x01\xb1\x01\x45\x02\x7d\x01\x9c\x01\x45\x04\x1d\x00\xc3\x00\x1f\x00\x06\x04\xc3\x00\x20\x00\x21\x00\x22\x00\xcb\x01\x3c\x04\xcc\x01\x2a\x00\x2b\x00\x2c\x00\x23\x00\x0a\x04\x26\x00\x9a\x01\x9b\x01\x27\x00\x28\x00\x08\x03\x29\x00\x0c\x04\xf7\x01\x9c\x01\xf8\x01\xa0\x04\xae\x01\xd3\x01\xd4\x01\xd5\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x2a\x00\x2b\x00\x2c\x00\xd5\x03\xf6\x01\x0d\x04\xcb\x01\x30\x00\xcc\x01\xe0\x04\xd9\x01\xda\x01\x46\x02\x47\x02\x26\x00\xdb\x01\x20\x04\x27\x00\x48\x02\xf7\x01\x29\x00\xf8\x01\x36\x00\x37\x00\x43\x02\x44\x02\x25\x04\xd3\x01\xd4\x01\xd5\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x7a\x01\xdb\x04\xdc\x04\x0a\x04\x7b\x01\x36\x00\x37\x00\x30\x00\x9d\x00\xad\x00\xd9\x01\xda\x01\xc2\x00\x9e\x00\x9f\x00\xdb\x01\x2b\x00\x7c\x01\xae\x00\x1a\x02\x7d\x01\xc3\x00\x45\x04\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x4e\x03\xac\x01\xf6\x04\xa3\x04\x36\x00\x37\x00\xa6\x01\x1b\x02\xa7\x01\xd6\x01\x27\x04\xbb\x04\x33\x04\x2a\x00\x2b\x00\x2c\x00\x1c\x02\xb1\x00\x50\x03\x45\x02\xd5\x03\x43\x03\x2b\x04\x1d\x00\xae\x01\x1f\x00\xd6\x03\xaf\x01\x20\x00\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x2d\x04\x74\x00\x23\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xf2\x01\xd6\x01\x34\x04\x7d\x00\xcb\x01\x2f\x04\xcc\x01\xaf\x00\xb0\x00\xe1\x04\xe2\x04\x45\x02\x6f\x03\x58\x02\x48\x04\x1d\x00\x48\x03\x1f\x00\x4d\x04\x49\x03\x20\x00\x21\x00\x22\x00\x90\x03\x4a\x04\xd3\x01\xd4\x01\xd5\x01\xce\x04\x23\x00\xd0\x04\x26\x00\x2b\x00\xe1\x03\x27\x00\x28\x00\xe2\x03\x29\x00\x9b\x03\xf2\x02\x36\x00\x37\x00\xf3\x02\xc9\x00\xb3\x00\x9a\x03\xb4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x6d\x04\x6e\x04\x51\x02\x15\x03\xb5\x00\x1c\x02\x16\x03\x30\x00\x02\x04\xa4\x03\xd9\x01\xda\x01\xb6\x00\x9e\x03\x26\x00\xdb\x01\xb7\x03\x27\x00\x28\x00\x18\x03\x29\x00\xb7\x00\x19\x03\xc9\x00\x2e\x01\xa5\x03\x30\x02\x2f\x01\xf9\x03\xb9\x03\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xba\x03\x2a\x00\x2b\x00\x2c\x00\xbe\x03\x2e\x00\x2f\x00\x30\x00\xc2\x03\xad\x00\xd9\x01\xda\x01\xbe\x04\xf6\x00\xf7\x00\xdb\x01\x38\x03\xd6\x01\xd2\x03\x59\x02\x2b\x00\x2c\x00\x77\x01\x2e\x00\x2f\x00\xc9\x03\x7e\x00\x45\x02\xce\x03\x76\x01\x9f\x00\x1d\x00\x8d\xfe\x1f\x00\x8d\xfe\xd3\x03\x20\x00\x21\x00\x22\x00\x7f\x00\xdd\x03\x2d\x00\x80\x00\x2f\x00\x5a\x02\x23\x00\xdb\x03\x73\x00\x39\x03\x3a\x03\xf3\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x2b\x00\xb3\x03\xbb\x00\x7d\x00\x3b\x03\xbd\x00\xaa\x04\x81\x00\x82\x00\x53\x03\xc4\x04\xf6\x00\xf7\x00\xab\x04\xac\x04\xd6\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x75\x01\xfd\x02\x2a\x00\x2b\x00\x2c\x00\xf9\x02\x26\x00\x76\x01\x9f\x00\x27\x00\x28\x00\x57\x01\x29\x00\xc8\x00\xc9\x00\xca\x00\x0b\x03\x32\x04\x33\x04\x89\x04\x8a\x04\x8b\x04\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xd6\x03\xd7\x03\xd8\x03\x36\x04\x33\x04\x2b\x03\x29\x03\x30\x00\x2a\x03\x34\x03\xd9\x01\xda\x01\x73\x00\x35\x03\x74\x00\xdb\x01\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xf3\x02\xc9\x00\x34\x04\x7d\x00\x73\x00\x70\x02\x74\x00\xea\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x1d\x04\xc9\x00\x34\x04\x7d\x00\x77\x04\xd8\x03\xad\x04\xae\x04\xaf\x04\xb0\x04\x40\x04\x56\x02\x57\x02\x58\x02\xc0\x04\x3c\x03\x96\x01\x2b\x00\x2c\x00\x45\x02\x97\x01\x2f\x00\xb3\x00\x1d\x00\xb4\x00\x1f\x00\xfb\x02\x2d\x02\x20\x00\x21\x00\x22\x00\x7e\x00\xf2\x02\xd4\x04\xd5\x04\x54\x03\xd6\x04\x23\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7f\x00\x80\x03\x2d\x00\x80\x00\x2f\x00\xaa\x04\xfb\x01\x55\x00\x4f\x04\x56\x00\x57\x00\x3a\x02\xab\x04\xac\x04\xfc\x01\xea\x03\xeb\x03\xb8\x01\x2b\x00\x2c\x00\x7f\x00\x97\x01\x2f\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xcb\x03\xcc\x03\xcd\x03\xce\x03\x26\x00\xf4\x03\xf5\x03\x27\x00\x28\x00\x3c\x02\x29\x00\xd8\x04\xd4\x01\xd5\x01\xe6\x03\xe7\x03\xe8\x03\x65\x02\x81\x00\x82\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xef\xfd\xad\x00\xef\xfd\x01\xfe\x7e\x00\x01\xfe\x3f\x02\x30\x00\x25\x03\x26\x03\x27\x03\x59\x02\x2b\x00\x2c\x00\x40\x02\x2e\x00\x2f\x00\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x2d\x03\x2e\x03\x2f\x03\x30\x03\x31\x03\x32\x03\x33\x03\x34\x03\x03\xfe\x7f\x00\x03\xfe\x2d\x00\x80\x00\x2f\x00\x5a\x02\xfe\x04\xaf\x04\xb0\x04\xf4\x03\xf6\x03\x81\x00\x82\x00\x2a\x03\x26\x03\x27\x03\xfc\x02\x2d\x02\x45\x02\x38\x02\xf6\x00\xf7\x00\x1d\x00\x63\x02\x1f\x00\x81\x00\x82\x00\x20\x00\x21\x00\x22\x00\x6b\x02\x7e\x00\x9d\x04\x44\x03\x49\x03\xb0\x00\x23\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xaa\x02\x7f\x00\xd9\x04\x2d\x00\x80\x00\x2f\x00\x1d\x00\x9c\x02\x1f\x00\x73\x04\x44\x03\x20\x00\x21\x00\x22\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x6c\x03\x6d\x03\x56\x02\x57\x02\x58\x02\x81\x00\x82\x00\xa7\x00\xa8\x00\xa9\x00\x26\x00\xc6\x00\x9e\x02\x27\x00\x28\x00\x04\xfe\x29\x00\x04\xfe\xaf\x00\xb0\x00\xc7\x00\xa0\x02\xc8\x00\xc9\x00\xca\x00\xa1\x02\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaa\x00\xa8\x00\xa9\x00\xbc\x02\x0b\xfe\x26\x00\x0b\xfe\x30\x00\x27\x00\x28\x00\xbd\x02\x29\x00\xf5\x00\xf6\x00\xf7\x00\x51\x02\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xac\x02\xad\x02\xae\x02\x43\x03\x44\x03\xa8\x00\x67\x03\x30\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x73\x00\x0c\xfe\x74\x00\x0c\xfe\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xf2\x01\xe7\x02\xc3\x00\x7d\x00\xc4\x00\xbd\x00\xad\x00\xaf\x00\xb0\x00\x57\x01\x85\x01\xc8\x00\xc9\x00\xca\x00\xed\x02\xf2\x01\x59\x02\x2b\x00\x2c\x00\x88\x01\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x7f\x00\x76\x03\x77\x03\x80\x00\x2f\x00\x0d\xfe\x73\x00\x0d\xfe\x74\x00\xf0\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xc0\x00\x5a\x02\xbb\x00\x7d\x00\x7f\x00\x24\x02\xf4\x01\x80\x00\x2f\x00\x81\x00\x82\x00\x8f\x01\x73\x01\x74\x01\x75\x01\x0e\xfe\x0f\xfe\x0e\xfe\x0f\xfe\x10\xfe\x11\xfe\x10\xfe\x11\xfe\x12\xfe\x13\xfe\x12\xfe\x13\xfe\xc5\x00\x00\x02\x81\x00\x82\x00\x73\x00\x15\xfe\x74\x00\x15\xfe\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x79\x03\x7a\x03\xc3\x00\x7d\x00\xc4\x00\xbd\x00\x14\xfe\x16\xfe\x14\xfe\x16\xfe\x17\xfe\x18\xfe\x17\xfe\x18\xfe\x1f\xfe\x2b\x02\x1f\xfe\x7f\x00\x7d\x03\x7e\x03\x80\x00\x2f\x00\x20\xfe\x73\x00\x20\xfe\x74\x00\x36\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x6b\x01\x7e\x00\xbb\x00\x7d\x00\x7f\x00\x83\x04\xf3\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xad\x01\x78\x04\xae\x01\x7f\x00\xac\x00\x2d\x00\x80\x00\x2f\x00\xaf\x00\xb0\x00\xc7\x00\x31\x01\xc8\x00\xc9\x00\xca\x00\x84\x04\x4a\x02\x4b\x02\x81\x00\x82\x00\xa8\x00\x4c\x02\x6d\x01\xc5\x00\x8c\x02\xf7\x00\x99\x02\x9a\x02\x81\x00\x82\x00\x7e\x00\xa6\x02\xba\x02\xbb\x02\x6e\x01\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xf2\x01\x15\x00\x7f\x00\x16\x05\x2d\x00\x80\x00\x2f\x00\xaf\x00\xb0\x00\x73\x00\x11\x05\xba\x00\xdf\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xa8\x00\xe9\x02\xbb\x00\x7d\x00\xbc\x00\xbd\x00\xa8\x00\xea\x02\x81\x00\x82\x00\xdd\x03\x7e\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\xeb\x02\x71\x01\xa8\x00\xee\x02\x37\x02\x9f\x00\xc6\x00\xdf\x03\x7f\x00\x09\x05\x2d\x00\x80\x00\x2f\x00\xaf\x00\xb0\x00\xc7\x00\x0d\x05\xc8\x00\xc9\x00\xca\x00\xa8\x00\x83\x01\xa8\x00\x84\x01\x66\x01\xcf\x00\xee\x04\xb7\x00\x7e\x00\x70\x01\x71\x01\x8a\x01\x8b\x01\x81\x00\x82\x00\x83\x03\x84\x03\xd1\x00\x4b\x01\xd3\x00\xf0\x04\x7f\x00\xf1\x04\x2d\x00\x80\x00\x2f\x00\x73\x00\x30\x02\x74\x00\x1f\xff\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x21\x03\x22\x03\xbb\x00\x7d\x00\x21\x03\xbf\x00\x34\x00\x35\x00\x62\x03\x63\x03\x81\x00\x82\x00\x21\x03\x22\x03\x8a\x01\x8b\x01\xfc\x04\x73\x00\x30\x02\x74\x00\x00\x05\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x03\x05\x16\x05\x7c\x00\x7d\x00\x21\x03\x22\x03\x32\x00\x3e\x02\x3f\x02\xc6\x04\x7f\x00\x8a\x01\x8b\x01\x80\x00\x2f\x00\xcc\x04\x7e\x00\x94\xfd\xc8\x04\xcf\x04\xc8\x03\xc9\x04\x8e\x04\xe1\x04\x90\x04\x1c\x02\x92\x04\xc9\x03\x36\x00\x7f\x00\x9d\x04\x2d\x00\x80\x00\x2f\x00\xbd\x04\x81\x00\x82\x00\x73\x00\xa0\x04\x74\x00\xc0\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xaa\x04\x13\x05\x7c\x00\x7d\x00\xc0\x04\xc2\x04\x5a\x04\x81\x00\x82\x00\x73\x00\x51\x04\x74\x00\x58\x04\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x59\x04\x04\x05\x7c\x00\x7d\x00\x73\x00\x62\x04\x74\x00\x5c\x04\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x61\x04\x07\x05\x7c\x00\x7d\x00\x5d\x04\x58\x00\x60\x04\x67\x04\x7e\x00\x6a\x04\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x63\x04\xda\x03\x7f\x00\x76\x04\x2d\x00\x80\x00\x2f\x00\x75\x04\x95\xfd\x7a\x04\xfb\x03\x6a\x00\xdf\x03\x73\x00\x30\x02\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x17\x00\x09\x05\x7c\x00\x7d\x00\x81\x00\x82\x00\x7f\x00\x70\x00\x2d\x00\x80\x00\x2f\x00\x88\x04\x0b\x03\x70\x02\xd0\x03\x04\x04\x05\x04\x73\x00\xdd\x03\x74\x00\x0c\x04\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xdf\x03\xf2\x04\x7c\x00\x7d\x00\x81\x00\x82\x00\xdf\x03\x17\x04\xa7\x00\x20\x04\x73\x00\x22\x04\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x04\xf4\x04\x7c\x00\x7d\x00\x27\x04\x2d\x04\x7f\x00\x2f\x04\x2d\x00\x80\x00\x2f\x00\x36\x04\x7e\x00\x32\x00\x3f\x04\x40\x04\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x43\x04\x4a\x04\x76\x03\x4c\x04\x4d\x04\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x8e\x03\x81\x00\x82\x00\x30\x02\xc9\x03\x8f\x03\x90\x03\x97\x03\x98\x03\x7f\x00\x99\x03\x2d\x00\x80\x00\x2f\x00\x66\x01\xcf\x00\x02\x02\xb7\x00\x67\x01\x9a\x03\x81\x00\x82\x00\xa2\x03\x9c\x02\xa7\x03\xa8\x03\xa9\x03\xd1\x00\x4b\x01\xd3\x00\x68\x01\x69\x01\x6a\x01\x6b\x01\x81\x00\x82\x00\xaa\x03\x73\x00\x7e\x00\x74\x00\xab\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x21\x03\x00\x05\x7c\x00\x7d\x00\x7f\x00\xac\x03\x2d\x00\x80\x00\x2f\x00\xad\x03\xae\x03\xb9\x03\xed\xfe\xbc\x03\xbe\x03\x58\x00\x21\x03\xc4\x03\x7e\x00\xd0\x03\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x81\x00\x82\x00\x7f\x00\x2a\x03\x2d\x00\x80\x00\x2f\x00\xd0\x03\x73\x00\x7e\x00\x74\x00\x6a\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xda\x03\xc9\x04\x7c\x00\x7d\x00\x7f\x00\xdd\x03\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xdf\x03\x70\x00\xe4\x03\xf7\x02\x03\x02\xf0\x03\x73\x00\xf8\x02\x63\x04\x36\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\x02\xad\x01\x81\x00\x82\x00\x73\x00\x07\x03\x74\x00\x0b\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x07\x03\xd3\x04\x7c\x00\x7d\x00\x73\x00\x0d\x03\x74\x00\xa7\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x12\x03\x17\x04\x7c\x00\x7d\x00\x1c\x03\x30\x02\x3e\x03\x37\x03\x3f\x03\x40\x03\x73\x00\x47\x03\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xb3\x00\x2a\x04\x7c\x00\x7d\x00\x9e\x02\x5a\x03\x7f\x00\x5b\x03\x2d\x00\x80\x00\x2f\x00\x5d\x03\x5f\x03\x60\x03\x61\x03\x65\x03\x64\x03\x73\x00\x6b\x03\x74\x00\x72\x03\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xe8\xfe\xb6\x03\x7c\x00\x7d\x00\x81\x00\x82\x00\x30\x02\x73\x03\x7c\x03\x3f\x01\x73\x00\x7d\x03\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x80\x03\x1d\x03\x7c\x00\x7d\x00\x76\x03\x3c\x02\x7f\x00\x0f\x02\x2d\x00\x80\x00\x2f\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x73\x00\xa1\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x42\x02\x22\x03\x7c\x00\x7d\x00\x81\x00\x82\x00\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x40\x04\x56\x02\x57\x02\x58\x02\x41\x04\x43\x02\x5f\x02\x61\x02\x67\x02\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x68\x02\x6b\x02\x6d\x02\xc1\x01\x74\x02\x9c\x02\x81\x00\x82\x00\xa5\x01\x7f\x00\x9e\x02\x2d\x00\x80\x00\x2f\x00\xaf\x02\xb0\x02\x7e\x00\xb1\x02\xbf\x02\xd3\x02\x81\x00\x82\x00\xe3\x02\xe4\x02\xe5\x02\xe9\x02\x36\x00\xe6\x02\xe7\x02\x7f\x00\xf5\x02\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xf0\x02\xa3\x00\x91\x01\x62\xfd\x73\x00\x5f\xfd\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x8f\x01\x95\x01\x7c\x00\x7d\x00\x81\x00\x82\x00\x7f\x00\xa4\x01\x2d\x00\x80\x00\x2f\x00\xa5\x01\xa6\x01\x7e\x00\x10\x02\xb4\x01\xb5\x01\xb4\x01\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xad\x00\xbb\x01\x7f\x00\xae\x01\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\xc1\x01\x59\x02\x2b\x00\x2c\x00\xc6\x01\x2e\x00\x2f\x00\x7e\x00\xc7\x01\xc8\x01\x7f\x00\xca\x01\xcb\x01\x80\x00\x2f\x00\xf4\x01\xf6\x01\xbf\x00\x81\x00\x82\x00\x7f\x00\xfd\x01\x2d\x00\x80\x00\x2f\x00\x73\x00\x5a\x02\x74\x00\x02\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x81\x00\x82\x00\xbb\x00\x7d\x00\x03\x02\x22\x02\x05\x02\x0a\x02\x0c\x02\x5c\xfd\x81\x00\x82\x00\x0b\x02\x13\x02\x14\x02\x15\x02\x17\x02\x73\x00\x1d\x02\x74\x00\x1e\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x21\x02\x32\x01\x7c\x00\x7d\x00\x73\x00\x1f\x02\x74\x00\x22\x02\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x31\x02\x7b\x00\x7c\x00\x7d\x00\x11\x02\xa3\x00\x7e\x00\x2b\x02\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x03\x02\x96\x00\xff\xff\xa7\x00\xd4\x00\x7f\x00\xe3\x00\x2d\x00\x80\x00\x2f\x00\x73\x00\xff\xff\x74\x00\xac\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xe4\x00\xda\x04\x7d\x00\xe5\x00\xe8\x00\xa7\x00\xe8\x00\xff\xff\x7f\x00\x81\x00\x82\x00\x80\x00\x2f\x00\x5f\x01\x60\x01\xbf\xfd\x73\x00\x6d\x01\xae\x03\xff\xff\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xff\xff\xa3\x00\xff\xff\xaf\x03\xff\xff\x17\x00\x96\x00\x81\x00\x82\x00\x00\x00\x73\x00\x00\x00\xae\x03\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xa3\x00\x70\x01\xa3\x00\xaf\x03\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x73\x00\x00\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\xbc\x03\x7d\x00\x81\x00\x82\x00\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\xb7\x02\x00\x00\x66\x01\xcf\x00\x00\x00\xb7\x00\xb8\x02\x8c\xfe\x7f\x00\x8c\xfe\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x00\x00\x81\x00\x82\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x37\x03\x7d\x00\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\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\x7f\x00\xba\x04\x2d\x00\x80\x00\x2f\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xb0\x03\x00\x00\x40\x03\x7d\x00\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x4f\x03\x7d\x00\x81\x00\x82\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x4d\x02\x7d\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x32\x00\x00\x00\x52\x02\x7d\x00\x36\x00\x37\x00\x00\x00\x00\x00\x73\x00\x7e\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x53\x02\x7d\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\xb1\x02\x7d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x7e\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\xb8\x02\x7d\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x7e\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x7e\x00\x00\x00\x73\x00\x6a\x00\x45\x03\x00\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x7f\x00\x7e\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x81\x00\x82\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x7e\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x7e\x00\x81\x00\x82\x00\xd6\x00\x77\x00\x78\x00\x79\x00\x7a\x00\xd7\x00\x00\x00\x00\x00\x00\x00\xcf\x00\x7f\x00\xb7\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x73\x00\x7e\x00\x30\x04\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x81\x00\x82\x00\x31\x04\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x73\x00\x00\x00\x74\x00\x00\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x0d\x02\x7d\x00\xd5\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x7e\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\xd4\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\xb8\x00\x00\x00\xb9\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x0e\x04\x0f\x04\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x10\x04\xd8\x00\x00\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x80\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x04\x12\x04\x00\x00\x00\x00\x00\x00\x7e\x00\x0e\x04\x7a\x04\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x81\x00\x82\x00\xda\x00\xdb\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x7e\x00\x0c\x02\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x00\x00\x00\x00\x00\x00\x7b\x04\x12\x04\x00\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x81\x00\x82\x00\x00\x00\x7f\x00\x00\x00\xb5\x02\x80\x00\x2f\x00\x7e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x94\x03\x55\x02\x56\x02\x57\x02\x58\x02\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x81\x00\x82\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\x81\x00\x82\x00\x7f\x00\x00\x00\x2d\x00\x80\x00\x2f\x00\x13\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x14\x04\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x61\x01\x00\x00\x00\x00\x62\x01\x00\x00\x78\x03\x00\x00\xd9\x00\x00\x00\x00\x00\x13\x04\x00\x00\x81\x00\x82\x00\xaf\x00\xb0\x00\x64\x01\x00\x00\xc8\x00\xc9\x00\xca\x00\x7f\x00\x00\x00\x00\x00\x14\x04\x2f\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x02\x2b\x00\x2c\x00\x7f\x00\x2e\x00\x2f\x00\x80\x00\x2f\x00\x00\x00\x00\x00\x81\x00\x82\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x5a\x02\x00\x00\x00\x00\x81\x00\x82\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x01\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\x00\x00\x66\x00\xdf\x01\xe0\x01\xe1\x01\xe2\x01\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x17\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\xe6\x01\x99\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x6e\x00\x00\x00\x00\x00\xe8\x01\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\xee\x01\x71\x00\x72\x00\x73\x00\xef\x01\xf0\x01\x00\x00\x00\x00\x00\x00\xf1\x01\xf2\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x01\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\x00\x00\x66\x00\xdf\x01\xe0\x01\xe1\x01\xe2\x01\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x17\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\xe6\x01\x99\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x6e\x00\x00\x00\x00\x00\xe8\x01\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\xee\x01\x71\x00\x72\x00\x73\x00\xef\x01\xf0\x01\x00\x00\x00\x00\x00\x00\xf1\x01\xf2\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x01\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\x00\x00\x66\x00\xdf\x01\xe0\x01\xe1\x01\xe2\x01\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\xe6\x01\x99\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x6e\x00\x00\x00\x00\x00\xe8\x01\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\xee\x01\x71\x00\x72\x00\x73\x00\xef\x01\xf0\x01\x00\x00\x00\x00\x00\x00\xf1\x01\xf2\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\xa5\x04\xa6\x04\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x04\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\xa5\x04\xa6\x04\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\xe3\x01\xe4\x01\xe5\x01\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x04\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\xb5\x02\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x61\x01\x68\x00\x69\x00\x62\x01\x6a\x00\xc8\x01\x00\x00\xd9\x00\xe3\x01\xe4\x01\xe5\x01\x00\x00\x00\x00\x6d\x00\xaf\x00\xb0\x00\x64\x01\x00\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\xb2\x04\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x04\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x61\x01\x68\x00\x69\x00\x62\x01\x6a\x00\x78\x03\x00\x00\xd9\x00\xe3\x01\xe4\x01\xe5\x01\x00\x00\x00\x00\x6d\x00\xaf\x00\xb0\x00\x64\x01\x00\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x00\x00\x70\x00\x00\x00\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\xdd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\xb2\x04\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\xe7\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x04\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x01\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\xda\x03\x55\x02\x56\x02\x57\x02\x58\x02\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\xea\x01\xeb\x01\xec\x01\xed\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\xf2\x01\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\xce\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\xc3\x00\x8a\x00\x00\x00\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x00\x00\xd1\x00\xd2\x00\xd3\x00\x00\x00\x6b\x03\x55\x02\x56\x02\x57\x02\x58\x02\x00\x00\x8c\x00\x8d\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x02\x2b\x00\x2c\x00\x00\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x5a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x92\x00\x00\x00\x6a\x00\x36\x00\x37\x00\x00\x00\xdd\x00\xb3\x00\x00\x00\xb4\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x70\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xde\x00\x93\x00\x00\x00\xb7\x00\x00\x00\xad\x00\x00\x00\x00\x00\x00\x00\xdf\x00\x00\x00\xe0\x00\xe1\x00\xe2\x00\x8b\x00\x59\x02\x2b\x00\x2c\x00\x00\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x54\x02\x55\x02\x56\x02\x57\x02\x58\x02\x00\x00\x00\x00\x00\x00\x5a\x02\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\xdd\x00\xb3\x00\x6a\x00\xb4\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xde\x00\x61\x01\x00\x00\xb7\x00\x62\x01\x00\x00\xc8\x01\x93\x00\xd9\x00\xdf\x00\x00\x00\x20\x02\x00\x00\xe2\x00\x8b\x00\xaf\x00\xb0\x00\x64\x01\x00\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\xad\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x02\x2b\x00\x2c\x00\x00\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x5a\x02\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\xb3\x00\x6a\x00\xb4\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x26\x02\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x93\x00\x95\x03\x56\x02\x57\x02\x58\x02\x00\x00\x61\x01\x8b\x00\x00\x00\x62\x01\x00\x00\x63\x01\x00\x00\xd9\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\xaf\x00\xb0\x00\x64\x01\x8e\x00\xc8\x00\xc9\x00\xca\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\xc2\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\xc3\x00\x8a\x00\x00\x00\xad\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x59\x02\x2b\x00\x2c\x00\x8b\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\xf4\x04\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\xb7\x02\x00\x00\x66\x01\xcf\x00\x8e\x00\xb7\x00\xf9\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x92\x00\x16\xff\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x16\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x7d\x04\xe1\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x86\x04\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\xb7\x02\x00\x00\x66\x01\xcf\x00\x8e\x00\xb7\x00\xb8\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\xce\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\xc3\x00\x00\x00\x00\x00\xcf\x00\x8e\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\xba\x02\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x24\x02\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\xbf\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\xd8\x04\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xb2\x03\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xb2\x03\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x92\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x9d\x03\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x02\x23\x00\x00\x00\x6a\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\xa9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x70\x00\xaa\x02\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x00\x00\x00\x89\x00\x93\x00\x00\x00\x8a\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x92\x00\x16\xff\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x16\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x02\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x04\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x84\x00\x00\x00\x00\x00\x85\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x87\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x88\x00\x00\x00\x89\x00\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x6a\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\xdb\x02\x70\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xac\x01\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x93\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xe2\x02\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xac\x01\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\xab\x01\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xac\x01\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\xb3\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xac\x01\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x52\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xc3\x00\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x5b\x01\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\xc3\x00\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x5c\x01\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x4f\x01\x45\x00\x00\x00\x00\x00\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\xcc\x00\xb3\x00\xcd\x00\xb4\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x4a\x01\xcf\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4b\x01\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x08\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\xcf\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\xcf\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x0a\x03\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc4\x02\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\xf1\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x32\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x25\x04\x68\x00\x69\x00\x00\x00\x6a\x00\x6b\x00\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x99\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x31\x01\x00\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x73\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x8a\x03\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\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\x00\x00\x00\x00\x31\x01\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x03\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x8c\x03\x00\x00\x00\x00\x70\x00\x00\x00\x8d\x03\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\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x03\x7f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x03\x00\x00\x00\x00\x70\x00\x00\x00\x8d\x03\x00\x00\x8a\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\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x00\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\x00\x00\x7f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\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\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\xea\x04\x00\x00\x00\x00\x70\x00\x00\x00\xeb\x04\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\xea\x04\x00\x00\x00\x00\x70\x00\x00\x00\xeb\x04\x79\x02\x33\x00\x34\x00\x35\x00\x7a\x02\x37\x00\xfb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfc\x00\x7b\x02\x7c\x02\x7d\x02\x7e\x02\x7f\x02\x80\x02\x81\x02\x82\x02\x83\x02\x84\x02\x85\x02\x86\x02\x87\x02\x88\x02\x0b\x01\x0c\x01\x0d\x01\x0e\x01\x0f\x01\x10\x01\x11\x01\x12\x01\x89\x02\x8a\x02\x15\x01\x8b\x02\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\x8c\x02\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x66\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x01\x00\x00\x48\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x3f\x01\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\xf9\x00\x00\x00\x00\x00\x00\x00\xfa\x00\x00\x00\xfb\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x00\x00\x56\x00\x57\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x01\x01\x01\x02\x01\x03\x01\x04\x01\x05\x01\x06\x01\x07\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x0c\x01\x0d\x01\x0e\x01\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\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x00\x00\xb3\x00\x00\x00\xb4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x6f\x03\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x5d\x02\x36\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x02\x00\x00\x00\x00\x5e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5d\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\x71\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x02\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\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\x00\x00\x00\x00\x32\x00\x33\x00\x70\x00\x00\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\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\x5c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x70\x00\x5d\x02\x00\x00\x00\x00\x00\x00\xcc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x02\x00\x00\x00\x00\x5e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd1\x00\x4b\x01\xd3\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\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\x00\x00\x00\x00\x32\x00\x33\x00\x70\x00\x00\x00\x36\x00\x37\x00\x68\x00\x69\x00\x00\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\x5c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x70\x00\x5d\x02\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\x7f\x01\x0f\x05\x00\x00\x5e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\x36\x00\x00\x00\x00\x00\x10\x05\x00\x00\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\x01\x56\x04\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\x57\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\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\x00\x00\x00\x00\xe3\xfe\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\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\x70\x00\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x70\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\x7f\x01\x00\x00\x00\x00\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\x00\x00\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\xe3\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\xe3\xfe\x36\x00\x37\x00\x00\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\x31\x01\xe3\xfe\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\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\x9e\x01\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x9f\x01\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x81\x01\x00\x00\x00\x00\x70\x00\x00\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\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x04\x00\x00\x68\x00\x69\x00\x00\x00\x6a\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\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x3c\x01\x3d\x01\xe9\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\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\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x26\x00\xa0\x01\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x70\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x36\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\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x01\x00\x00\x00\x00\x70\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x33\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\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\x9e\x01\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x36\x00\x6a\x00\x00\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\x7f\x01\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x36\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\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x02\x00\x00\x00\x00\x70\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\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\x1a\x04\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x32\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\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\x32\x00\x00\x00\x00\x00\x70\x00\x36\x00\x37\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x01\x00\x00\x2d\x01\x00\x00\x00\x00\x32\x00\x00\x00\x00\x00\x2e\x01\x70\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\x00\x00\x00\x00\x3b\x04\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x1a\x04\x00\x00\x70\x00\x00\x00\x00\x00\x32\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x6a\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x04\x00\x00\x00\x00\x70\x00\x00\x00\x6a\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\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\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\x93\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\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\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\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\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\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\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\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\x29\x02\x00\x00\x00\x00\x00\x00\x70\x00\x32\x00\x00\x00\x00\x00\x68\x00\x69\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x65\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x04\x3b\x04\x1a\x00\x34\x01\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x32\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x23\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x29\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x2a\x02\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x00\x00\x00\x00\x26\x00\x00\x00\x70\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x30\x00\x00\x00\x58\x00\x8f\x00\x90\x00\x91\x00\x00\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x6a\x00\x00\x00\x20\x00\x21\x00\x22\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\x70\x00\x00\x00\x00\x00\xc9\x02\xca\x02\xcb\x02\xcc\x02\x00\x00\xcd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x02\xca\x02\xcb\x02\xcc\x02\x00\x00\xcd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x03\xcb\x02\xcc\x02\x00\x00\xcd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\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\xec\x03\xcc\x02\x00\x00\xcd\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\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\xd0\x03\xc1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\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\x66\x03\xc1\x02\x00\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\xc2\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\x23\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x30\x00\x00\x00\x00\x00\x69\x03\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\xbf\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\x23\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64\x02\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\xc0\x02\xc1\x02\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\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\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x24\x00\x00\x00\x20\x00\x21\x00\x22\x00\x05\x02\x00\x00\x06\x02\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x02\x30\x00\x06\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbf\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\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\xe4\x03\x00\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\xc2\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\x23\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xed\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x04\x9a\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\xee\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x30\x00\xef\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xbd\x04\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\x76\x04\x9a\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xfb\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\xfc\x03\x9a\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xfd\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\xff\x03\x9a\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x3d\x04\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\x93\x03\x9a\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xd1\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\xe5\x03\x9a\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x08\x03\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\xa0\x01\x9a\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xb7\x00\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\x35\x01\x9a\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x36\x01\x9a\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\x99\x00\x9a\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x30\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x52\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\x00\x1d\x00\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x53\x01\x54\x01\x00\x00\x00\x00\x00\x00\x55\x01\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3f\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\x40\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x41\x01\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x42\x01\x00\x00\x45\x01\x56\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x57\x01\x46\x01\xc8\x00\x58\x01\x59\x01\x30\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x3f\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\x4b\x01\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\x4c\x01\x4d\x01\x3f\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\x4f\x01\x50\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\xd0\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\xd1\x02\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\xd5\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\xd1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x3f\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\xd6\x02\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\x3f\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\xd9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x3f\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\xe0\x02\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\x3f\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\xa9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x3f\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\xb1\x01\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x43\x01\x00\x00\x44\x01\x00\x00\x00\x00\x45\x01\xd9\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\xaf\x00\xb0\x00\x00\x00\x46\x01\x00\x00\x47\x01\x48\x01\x30\x00\x96\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\x23\x00\x96\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\x0d\x03\x0e\x03\x23\x00\x00\x00\x00\x00\x0f\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\xfe\x03\x29\x00\x00\x00\x00\x00\x0f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x96\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\x23\x00\x00\x00\x00\x00\xb4\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\xb5\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x71\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x72\x02\x00\x00\x23\x00\x96\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\xdb\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xdc\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\xdd\x02\x23\x00\x37\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\x38\x01\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x96\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x03\x05\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\x23\x00\x00\x00\x00\x00\x97\x00\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x5a\x04\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\xf0\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xf2\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x68\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x61\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x62\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x68\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x69\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\xc4\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xc5\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\xcf\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xd4\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x91\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x92\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x93\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x94\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\xf2\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\xf4\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x30\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\x23\x00\x00\x00\xb9\x01\x1a\x00\x34\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x98\x01\x29\x00\x30\x00\x99\x01\x1e\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x33\x01\x1a\x00\x34\x01\x1c\x00\x00\x00\x30\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x99\x01\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x3a\x01\x00\x00\x00\x00\x20\x00\x21\x00\x22\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\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x01\xe9\x00\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x00\xe9\x00\x21\x00\x22\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\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x74\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x23\x00\x00\x00\x00\x00\x75\x02\xf6\x00\xf7\x00\x00\x00\x76\x02\x81\x03\x00\x00\x00\x00\x00\x00\x00\x00\x74\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x75\x02\xf6\x00\xf7\x00\x00\x00\x76\x02\x77\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x02\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x02\x21\x00\x22\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\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x02\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf5\x02\x21\x00\x22\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\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x01\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x01\x21\x00\x22\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\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x01\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x02\x21\x00\x22\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\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x39\x01\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x01\x21\x00\x22\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\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x01\x21\x00\x22\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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"#
-
-happyReduceArr = Happy_Data_Array.array (11, 726) [
-	(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)
-	]
-
-happy_n_terms = 148 :: Int
-happy_n_nonterms = 253 :: Int
-
-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 = 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 = 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 = 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 = 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 = 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 = 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 happyOut182 happy_x_2 of { happy_var_2 -> 
-	case happyOut185 happy_x_3 of { happy_var_3 -> 
-	case happyOut187 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (Loc happy_var_5 XStdTagClose) -> 
-	case happyOut180 happy_x_6 of { happy_var_6 -> 
-	case happyOutTok happy_x_7 of { (Loc happy_var_7 XCloseTagOpen) -> 
-	case happyOut182 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 = 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 happyOut182 happy_x_2 of { happy_var_2 -> 
-	case happyOut185 happy_x_3 of { happy_var_3 -> 
-	case happyOut187 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 = happySpecReduce_3  4# happyReduction_19
-happyReduction_19 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut247 happy_x_1 of { happy_var_1 -> 
-	case happyOut19 happy_x_2 of { happy_var_2 -> 
-	case happyOut248 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 = 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 = happySpecReduce_0  5# happyReduction_21
-happyReduction_21  =  happyIn19
-		 (([],[],Nothing)
-	)
-
-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 = 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 = 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 happyOut94 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 = 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 happyOut238 happy_x_3 of { happy_var_3 -> 
-	happyIn21
-		 ((fst happy_var_1 ++ [happy_var_3], snd happy_var_1 ++ [happy_var_2])
-	)}}}
-
-happyReduce_26 = happySpecReduce_2  7# happyReduction_26
-happyReduction_26 happy_x_2
-	happy_x_1
-	 =  case happyOut238 happy_x_2 of { happy_var_2 -> 
-	happyIn21
-		 (([happy_var_2],[])
-	)}
-
-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 = 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 happyOut256 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 = happySpecReduce_0  9# happyReduction_29
-happyReduction_29  =  happyIn23
-		 (Nothing
-	)
-
-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 = 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 = happySpecReduce_0  10# happyReduction_32
-happyReduction_32  =  happyIn24
-		 (Nothing
-	)
-
-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 = 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 happyOut247 happy_x_1 of { happy_var_1 -> 
-	case happyOut26 happy_x_2 of { happy_var_2 -> 
-	case happyOut248 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 = 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 happyOut35 happy_x_2 of { happy_var_2 -> 
-	case happyOut27 happy_x_3 of { happy_var_3 -> 
-	case happyOut53 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 = happySpecReduce_2  12# happyReduction_36
-happyReduction_36 happy_x_2
-	happy_x_1
-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
-	case happyOut53 happy_x_2 of { happy_var_2 -> 
-	happyIn26
-		 (([], fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2)
-	)}}
-
-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 happyOut35 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 = 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 = 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 = 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 = happySpecReduce_0  14# happyReduction_41
-happyReduction_41  =  happyIn28
-		 ([]
-	)
-
-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 = happySpecReduce_0  15# happyReduction_43
-happyReduction_43  =  happyIn29
-		 (Nothing
-	)
-
-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 = 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 = 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 = happySpecReduce_0  17# happyReduction_47
-happyReduction_47  =  happyIn31
-		 ([  ]
-	)
-
-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 = 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 = happySpecReduce_1  19# happyReduction_50
-happyReduction_50 happy_x_1
-	 =  case happyOut220 happy_x_1 of { happy_var_1 -> 
-	happyIn33
-		 (EVar (ann happy_var_1) happy_var_1
-	)}
-
-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 happyOut34 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 = happySpecReduce_1  19# happyReduction_52
-happyReduction_52 happy_x_1
-	 =  case happyOut258 happy_x_1 of { happy_var_1 -> 
-	happyIn33
-		 (EAbs (ann happy_var_1) (NoNamespace (ann happy_var_1)) happy_var_1
-	)}
-
-happyReduce_53 = happyReduce 4# 19# happyReduction_53
-happyReduction_53 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut258 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) -> 
-	happyIn33
-		 (EThingAll  (ann happy_var_1 <++> nIS happy_var_4 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_1
-	) `HappyStk` happyRest}}}}
-
-happyReduce_54 = happySpecReduce_3  19# happyReduction_54
-happyReduction_54 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut258 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])    happy_var_1 []
-	)}}}
-
-happyReduce_55 = happyReduce 4# 19# happyReduction_55
-happyReduction_55 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut258 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 happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> 
-	happyIn33
-		 (EThingWith (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_56 = happySpecReduce_2  19# happyReduction_56
-happyReduction_56 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> 
-	case happyOut256 happy_x_2 of { happy_var_2 -> 
-	happyIn33
-		 (EModuleContents (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
-	)}}
-
-happyReduce_57 = happyMonadReduce 2# 19# happyReduction_57
-happyReduction_57 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> 
-	case happyOut223 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_58 = happySpecReduce_1  20# happyReduction_58
-happyReduction_58 happy_x_1
-	 =  case happyOut220 happy_x_1 of { happy_var_1 -> 
-	happyIn34
-		 (happy_var_1
-	)}
-
-happyReduce_59 = happySpecReduce_1  20# happyReduction_59
-happyReduction_59 happy_x_1
-	 =  case happyOut237 happy_x_1 of { happy_var_1 -> 
-	happyIn34
-		 (happy_var_1
-	)}
-
-happyReduce_60 = happySpecReduce_3  21# happyReduction_60
-happyReduction_60 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut35 happy_x_1 of { happy_var_1 -> 
-	case happyOut27 happy_x_2 of { happy_var_2 -> 
-	case happyOut36 happy_x_3 of { happy_var_3 -> 
-	happyIn35
-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
-	)}}}
-
-happyReduce_61 = happySpecReduce_1  21# happyReduction_61
-happyReduction_61 happy_x_1
-	 =  case happyOut36 happy_x_1 of { happy_var_1 -> 
-	happyIn35
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_62 = happyReduce 8# 22# happyReduction_62
-happyReduction_62 (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 happyOut37 happy_x_2 of { happy_var_2 -> 
-	case happyOut38 happy_x_3 of { happy_var_3 -> 
-	case happyOut39 happy_x_4 of { happy_var_4 -> 
-	case happyOut40 happy_x_5 of { happy_var_5 -> 
-	case happyOut256 happy_x_6 of { happy_var_6 -> 
-	case happyOut41 happy_x_7 of { happy_var_7 -> 
-	case happyOut42 happy_x_8 of { happy_var_8 -> 
-	happyIn36
-		 (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_63 = happySpecReduce_2  23# happyReduction_63
-happyReduction_63 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) -> 
-	happyIn37
-		 ((True,[happy_var_1,happy_var_2])
-	)}}
-
-happyReduce_64 = happySpecReduce_0  23# happyReduction_64
-happyReduction_64  =  happyIn37
-		 ((False,[])
-	)
-
-happyReduce_65 = happyMonadReduce 1# 24# happyReduction_65
-happyReduction_65 (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 (happyIn38 r))
-
-happyReduce_66 = happySpecReduce_0  24# happyReduction_66
-happyReduction_66  =  happyIn38
-		 ((False, [])
-	)
-
-happyReduce_67 = happySpecReduce_1  25# happyReduction_67
-happyReduction_67 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> 
-	happyIn39
-		 ((True,[happy_var_1])
-	)}
-
-happyReduce_68 = happySpecReduce_0  25# happyReduction_68
-happyReduction_68  =  happyIn39
-		 ((False, [])
-	)
-
-happyReduce_69 = happyMonadReduce 1# 26# happyReduction_69
-happyReduction_69 (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 (happyIn40 r))
-
-happyReduce_70 = happySpecReduce_0  26# happyReduction_70
-happyReduction_70  =  happyIn40
-		 ((Nothing,[])
-	)
-
-happyReduce_71 = happySpecReduce_2  27# happyReduction_71
-happyReduction_71 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> 
-	case happyOut256 happy_x_2 of { happy_var_2 -> 
-	happyIn41
-		 ((Just happy_var_2,[happy_var_1],Just (nIS happy_var_1 <++> ann happy_var_2))
-	)}}
-
-happyReduce_72 = happySpecReduce_0  27# happyReduction_72
-happyReduction_72  =  happyIn41
-		 ((Nothing,[],Nothing)
-	)
-
-happyReduce_73 = happySpecReduce_1  28# happyReduction_73
-happyReduction_73 happy_x_1
-	 =  case happyOut43 happy_x_1 of { happy_var_1 -> 
-	happyIn42
-		 (Just happy_var_1
-	)}
-
-happyReduce_74 = happySpecReduce_0  28# happyReduction_74
-happyReduction_74  =  happyIn42
-		 (Nothing
-	)
-
-happyReduce_75 = happyReduce 5# 29# happyReduction_75
-happyReduction_75 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut44 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> 
-	case happyOut45 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) -> 
-	happyIn43
-		 (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_76 = happyReduce 4# 29# happyReduction_76
-happyReduction_76 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut44 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) -> 
-	happyIn43
-		 (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_77 = happySpecReduce_1  30# happyReduction_77
-happyReduction_77 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> 
-	happyIn44
-		 ((True,Just (nIS happy_var_1),[happy_var_1])
-	)}
-
-happyReduce_78 = happySpecReduce_0  30# happyReduction_78
-happyReduction_78  =  happyIn44
-		 ((False,Nothing,[])
-	)
-
-happyReduce_79 = happySpecReduce_3  31# happyReduction_79
-happyReduction_79 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut45 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut46 happy_x_3 of { happy_var_3 -> 
-	happyIn45
-		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
-	)}}}
-
-happyReduce_80 = happySpecReduce_1  31# happyReduction_80
-happyReduction_80 happy_x_1
-	 =  case happyOut46 happy_x_1 of { happy_var_1 -> 
-	happyIn45
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_81 = happySpecReduce_1  32# happyReduction_81
-happyReduction_81 happy_x_1
-	 =  case happyOut218 happy_x_1 of { happy_var_1 -> 
-	happyIn46
-		 (IVar (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_82 = happyMonadReduce 2# 32# happyReduction_82
-happyReduction_82 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> 
-	case happyOut218 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 (happyIn46 r))
-
-happyReduce_83 = happyMonadReduce 2# 32# happyReduction_83
-happyReduction_83 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Pattern) -> 
-	case happyOut222 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 (happyIn46 r))
-
-happyReduce_84 = happySpecReduce_1  32# happyReduction_84
-happyReduction_84 happy_x_1
-	 =  case happyOut257 happy_x_1 of { happy_var_1 -> 
-	happyIn46
-		 (IAbs (ann happy_var_1) (NoNamespace (ann happy_var_1)) happy_var_1
-	)}
-
-happyReduce_85 = happyReduce 4# 32# happyReduction_85
-happyReduction_85 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut257 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) -> 
-	happyIn46
-		 (IThingAll  (ann happy_var_1 <++> nIS happy_var_4 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_1
-	) `HappyStk` happyRest}}}}
-
-happyReduce_86 = happySpecReduce_3  32# happyReduction_86
-happyReduction_86 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut257 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) -> 
-	happyIn46
-		 (IThingWith (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3])    happy_var_1 []
-	)}}}
-
-happyReduce_87 = happyReduce 4# 32# happyReduction_87
-happyReduction_87 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut257 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 happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> 
-	happyIn46
-		 (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_88 = happySpecReduce_3  33# happyReduction_88
-happyReduction_88 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_89 = happySpecReduce_1  33# happyReduction_89
-happyReduction_89 happy_x_1
-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> 
-	happyIn47
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_90 = happySpecReduce_1  34# happyReduction_90
-happyReduction_90 happy_x_1
-	 =  case happyOut218 happy_x_1 of { happy_var_1 -> 
-	happyIn48
-		 (VarName (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_91 = happySpecReduce_1  34# happyReduction_91
-happyReduction_91 happy_x_1
-	 =  case happyOut222 happy_x_1 of { happy_var_1 -> 
-	happyIn48
-		 (ConName (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_92 = happySpecReduce_3  35# happyReduction_92
-happyReduction_92 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
-	case happyOut50 happy_x_2 of { happy_var_2 -> 
-	case happyOut52 happy_x_3 of { happy_var_3 -> 
-	happyIn49
-		 (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_93 = happySpecReduce_0  36# happyReduction_93
-happyReduction_93  =  happyIn50
-		 ((Nothing, [])
-	)
-
-happyReduce_94 = happyMonadReduce 1# 36# happyReduction_94
-happyReduction_94 (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 (happyIn50 r))
-
-happyReduce_95 = happySpecReduce_1  37# happyReduction_95
-happyReduction_95 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Infix) -> 
-	happyIn51
-		 (AssocNone  $ nIS happy_var_1
-	)}
-
-happyReduce_96 = happySpecReduce_1  37# happyReduction_96
-happyReduction_96 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixL) -> 
-	happyIn51
-		 (AssocLeft  $ nIS happy_var_1
-	)}
-
-happyReduce_97 = happySpecReduce_1  37# happyReduction_97
-happyReduction_97 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixR) -> 
-	happyIn51
-		 (AssocRight $ nIS happy_var_1
-	)}
-
-happyReduce_98 = happySpecReduce_3  38# happyReduction_98
-happyReduction_98 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut52 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut229 happy_x_3 of { happy_var_3 -> 
-	happyIn52
-		 (let (ops,ss,l) = happy_var_1 in (happy_var_3 : ops, happy_var_2 : ss, l <++> ann happy_var_3)
-	)}}}
-
-happyReduce_99 = happySpecReduce_1  38# happyReduction_99
-happyReduction_99 happy_x_1
-	 =  case happyOut229 happy_x_1 of { happy_var_1 -> 
-	happyIn52
-		 (([happy_var_1],[],ann happy_var_1)
-	)}
-
-happyReduce_100 = happyMonadReduce 2# 39# happyReduction_100
-happyReduction_100 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut54 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 (happyIn53 r))
-
-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 happyOut27 happy_x_2 of { happy_var_2 -> 
-	case happyOut55 happy_x_3 of { happy_var_3 -> 
-	happyIn54
-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
-	)}}}
-
-happyReduce_102 = happySpecReduce_1  40# happyReduction_102
-happyReduction_102 happy_x_1
-	 =  case happyOut55 happy_x_1 of { happy_var_1 -> 
-	happyIn54
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_103 = happyMonadReduce 1# 41# happyReduction_103
-happyReduction_103 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut56 happy_x_1 of { happy_var_1 -> 
-	( checkEnabled RoleAnnotations >> return happy_var_1)}
-	) (\r -> happyReturn (happyIn55 r))
-
-happyReduce_104 = happyMonadReduce 4# 41# happyReduction_104
-happyReduction_104 (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 happyOut96 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> 
-	case happyOut107 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 (happyIn55 r))
-
-happyReduce_105 = happyMonadReduce 5# 41# happyReduction_105
-happyReduction_105 (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 happyOut98 happy_x_3 of { happy_var_3 -> 
-	case happyOut140 happy_x_4 of { happy_var_4 -> 
-	case happyOut60 happy_x_5 of { happy_var_5 -> 
-	( do { dh <- checkSimpleType happy_var_3;
-                       let {l = nIS happy_var_1 <++> ann happy_var_3 <+?> (fmap ann) (fst happy_var_4) <** (happy_var_1:happy_var_2:snd happy_var_4)};
-                       case happy_var_5 of {
-                         Nothing    -> return (TypeFamDecl l dh (fst happy_var_4));
-                         Just (x,a) -> return (ClosedTypeFamDecl (l <** [a]) dh (fst happy_var_4) x); }})}}}}}
-	) (\r -> happyReturn (happyIn55 r))
-
-happyReduce_106 = happyMonadReduce 5# 41# happyReduction_106
-happyReduction_106 (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 happyOut95 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 Equals) -> 
-	case happyOut107 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 (happyIn55 r))
-
-happyReduce_107 = happyMonadReduce 4# 41# happyReduction_107
-happyReduction_107 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> 
-	case happyOut108 happy_x_2 of { happy_var_2 -> 
-	case happyOut123 happy_x_3 of { happy_var_3 -> 
-	case happyOut131 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 happy_var_4 <** ss};
-                       checkDataOrNew happy_var_1 qds;
-                       return (DataDecl l happy_var_1 cs dh (reverse qds) happy_var_4) })}}}}
-	) (\r -> happyReturn (happyIn55 r))
-
-happyReduce_108 = happyMonadReduce 5# 41# happyReduction_108
-happyReduction_108 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> 
-	case happyOut108 happy_x_2 of { happy_var_2 -> 
-	case happyOut140 happy_x_3 of { happy_var_3 -> 
-	case happyOut119 happy_x_4 of { happy_var_4 -> 
-	case happyOut131 happy_x_5 of { happy_var_5 -> 
-	( do { (cs,dh) <- checkDataHeader happy_var_2;
-                       let { (gs,ss,minf) = happy_var_4;
-                             l = ann happy_var_1 <+?> minf <+?> fmap ann 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 [] happy_var_5)
-                        _ -> checkEnabled GADTs >> return (GDataDecl l happy_var_1 cs dh (fst happy_var_3) (reverse gs) happy_var_5) })}}}}}
-	) (\r -> happyReturn (happyIn55 r))
-
-happyReduce_109 = happyMonadReduce 4# 41# happyReduction_109
-happyReduction_109 (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 happyOut108 happy_x_3 of { happy_var_3 -> 
-	case happyOut140 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) (fst happy_var_4) <** (happy_var_1:happy_var_2:snd happy_var_4)};
-                       return (DataFamDecl l cs dh (fst happy_var_4)) })}}}}
-	) (\r -> happyReturn (happyIn55 r))
-
-happyReduce_110 = happyMonadReduce 5# 41# happyReduction_110
-happyReduction_110 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> 
-	case happyOut107 happy_x_3 of { happy_var_3 -> 
-	case happyOut123 happy_x_4 of { happy_var_4 -> 
-	case happyOut131 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 happy_var_5 <** happy_var_2:ss };
-                       checkDataOrNew happy_var_1 qds;
-                       return (DataInsDecl l happy_var_1 happy_var_3 (reverse qds) happy_var_5) })}}}}}
-	) (\r -> happyReturn (happyIn55 r))
-
-happyReduce_111 = happyMonadReduce 6# 41# happyReduction_111
-happyReduction_111 (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 happyOut64 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> 
-	case happyOut107 happy_x_3 of { happy_var_3 -> 
-	case happyOut140 happy_x_4 of { happy_var_4 -> 
-	case happyOut119 happy_x_5 of { happy_var_5 -> 
-	case happyOut131 happy_x_6 of { happy_var_6 -> 
-	( do { -- (cs,c,t) <- checkDataHeader happy_var_4;
-                       checkEnabled TypeFamilies ;
-                       let {(gs,ss,minf) = happy_var_5;
-                            l = ann happy_var_1 <+?> minf <+?> fmap ann happy_var_6 <** (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) happy_var_6) })}}}}}}
-	) (\r -> happyReturn (happyIn55 r))
-
-happyReduce_112 = happyMonadReduce 4# 41# 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_Class) -> 
-	case happyOut108 happy_x_2 of { happy_var_2 -> 
-	case happyOut116 happy_x_3 of { happy_var_3 -> 
-	case happyOut141 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 (happyIn55 r))
-
-happyReduce_113 = happyMonadReduce 4# 41# happyReduction_113
-happyReduction_113 (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 happyOut59 happy_x_2 of { happy_var_2 -> 
-	case happyOut108 happy_x_3 of { happy_var_3 -> 
-	case happyOut146 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 (happyIn55 r))
-
-happyReduce_114 = happyMonadReduce 4# 41# happyReduction_114
-happyReduction_114 (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 happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> 
-	case happyOut59 happy_x_3 of { happy_var_3 -> 
-	case happyOut108 happy_x_4 of { happy_var_4 -> 
-	( do { checkEnabled StandaloneDeriving ;
-                       ih <- checkInstHeader happy_var_4;
-                       let {l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2]};
-                       return (DerivDecl l happy_var_3 ih) })}}}}
-	) (\r -> happyReturn (happyIn55 r))
-
-happyReduce_115 = happyReduce 4# 41# happyReduction_115
-happyReduction_115 (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 happyOut65 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> 
-	happyIn55
-		 (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_116 = happyMonadReduce 1# 41# happyReduction_116
-happyReduction_116 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut159 happy_x_1 of { happy_var_1 -> 
-	( do
-              checkToplevel happy_var_1
-              checkExpr happy_var_1 >>= \e -> return (SpliceDecl (ann e) e))}
-	) (\r -> happyReturn (happyIn55 r))
-
-happyReduce_117 = happyReduce 5# 41# happyReduction_117
-happyReduction_117 (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 happyOut81 happy_x_3 of { happy_var_3 -> 
-	case happyOut82 happy_x_4 of { happy_var_4 -> 
-	case happyOut83 happy_x_5 of { happy_var_5 -> 
-	happyIn55
-		 (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_118 = happyReduce 4# 41# happyReduction_118
-happyReduction_118 (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 happyOut81 happy_x_3 of { happy_var_3 -> 
-	case happyOut83 happy_x_4 of { happy_var_4 -> 
-	happyIn55
-		 (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_119 = happySpecReduce_3  41# happyReduction_119
-happyReduction_119 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 RULES) -> 
-	case happyOut84 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> 
-	happyIn55
-		 (RulePragmaDecl (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) $ reverse happy_var_2
-	)}}}
-
-happyReduce_120 = happySpecReduce_3  41# happyReduction_120
-happyReduction_120 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 DEPRECATED) -> 
-	case happyOut90 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> 
-	happyIn55
-		 (DeprPragmaDecl (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) $ reverse (fst happy_var_2)
-	)}}}
-
-happyReduce_121 = happySpecReduce_3  41# happyReduction_121
-happyReduction_121 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 WARNING) -> 
-	case happyOut90 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> 
-	happyIn55
-		 (WarnPragmaDecl (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) $ reverse (fst happy_var_2)
-	)}}}
-
-happyReduce_122 = happySpecReduce_3  41# happyReduction_122
-happyReduction_122 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 ANN) -> 
-	case happyOut94 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> 
-	happyIn55
-		 (AnnPragma      (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_123 = happySpecReduce_1  41# happyReduction_123
-happyReduction_123 happy_x_1
-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> 
-	happyIn55
-		 (happy_var_1
-	)}
-
-happyReduce_124 = happyMonadReduce 4# 42# happyReduction_124
-happyReduction_124 (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 happyOut105 happy_x_3 of { happy_var_3 -> 
-	case happyOut57 happy_x_4 of { happy_var_4 -> 
-	( mkRoleAnnotDecl happy_var_1 happy_var_2 happy_var_3 (reverse happy_var_4))}}}}
-	) (\r -> happyReturn (happyIn56 r))
-
-happyReduce_125 = happySpecReduce_0  43# happyReduction_125
-happyReduction_125  =  happyIn57
-		 ([]
-	)
-
-happyReduce_126 = happySpecReduce_2  43# happyReduction_126
-happyReduction_126 happy_x_2
-	happy_x_1
-	 =  case happyOut57 happy_x_1 of { happy_var_1 -> 
-	case happyOut58 happy_x_2 of { happy_var_2 -> 
-	happyIn57
-		 (happy_var_2 : happy_var_1
-	)}}
-
-happyReduce_127 = happySpecReduce_1  44# happyReduction_127
-happyReduction_127 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn58
-		 (let (VarId v) = unLoc happy_var_1 in (Just v, nIS $ loc happy_var_1)
-	)}
-
-happyReduce_128 = happySpecReduce_1  44# happyReduction_128
-happyReduction_128 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> 
-	happyIn58
-		 ((Nothing, nIS happy_var_1)
-	)}
-
-happyReduce_129 = happySpecReduce_2  45# happyReduction_129
-happyReduction_129 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 OVERLAP) -> 
-	happyIn59
-		 (Just (Overlap (nIS happy_var_1))
-	)}
-
-happyReduce_130 = happySpecReduce_2  45# happyReduction_130
-happyReduction_130 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 INCOHERENT) -> 
-	happyIn59
-		 (Just (Incoherent (nIS happy_var_1))
-	)}
-
-happyReduce_131 = happySpecReduce_2  45# happyReduction_131
-happyReduction_131 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 NO_OVERLAP) -> 
-	happyIn59
-		 (Just (NoOverlap (nIS happy_var_1))
-	)}
-
-happyReduce_132 = happySpecReduce_0  45# happyReduction_132
-happyReduction_132  =  happyIn59
-		 (Nothing
-	)
-
-happyReduce_133 = happySpecReduce_0  46# happyReduction_133
-happyReduction_133  =  happyIn60
-		 (Nothing
-	)
-
-happyReduce_134 = happySpecReduce_2  46# happyReduction_134
-happyReduction_134 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> 
-	case happyOut61 happy_x_2 of { happy_var_2 -> 
-	happyIn60
-		 (Just (happy_var_2, happy_var_1)
-	)}}
-
-happyReduce_135 = happySpecReduce_3  47# happyReduction_135
-happyReduction_135 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut62 happy_x_2 of { happy_var_2 -> 
-	happyIn61
-		 (happy_var_2
-	)}
-
-happyReduce_136 = happySpecReduce_3  47# happyReduction_136
-happyReduction_136 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut62 happy_x_2 of { happy_var_2 -> 
-	happyIn61
-		 (happy_var_2
-	)}
-
-happyReduce_137 = happySpecReduce_3  48# happyReduction_137
-happyReduction_137 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut62 happy_x_1 of { happy_var_1 -> 
-	case happyOut63 happy_x_3 of { happy_var_3 -> 
-	happyIn62
-		 (happy_var_1 ++ [happy_var_3]
-	)}}
-
-happyReduce_138 = happySpecReduce_2  48# happyReduction_138
-happyReduction_138 happy_x_2
-	happy_x_1
-	 =  case happyOut62 happy_x_1 of { happy_var_1 -> 
-	happyIn62
-		 (happy_var_1
-	)}
-
-happyReduce_139 = happySpecReduce_1  48# happyReduction_139
-happyReduction_139 happy_x_1
-	 =  case happyOut63 happy_x_1 of { happy_var_1 -> 
-	happyIn62
-		 ([happy_var_1]
-	)}
-
-happyReduce_140 = happyMonadReduce 3# 49# happyReduction_140
-happyReduction_140 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut95 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> 
-	case happyOut107 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 (happyIn63 r))
-
-happyReduce_141 = happySpecReduce_1  50# happyReduction_141
-happyReduction_141 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> 
-	happyIn64
-		 (DataType $ nIS happy_var_1
-	)}
-
-happyReduce_142 = happySpecReduce_1  50# happyReduction_142
-happyReduction_142 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> 
-	happyIn64
-		 (NewType  $ nIS happy_var_1
-	)}
-
-happyReduce_143 = happyMonadReduce 1# 51# happyReduction_143
-happyReduction_143 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut110 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 (happyIn65 r))
-
-happyReduce_144 = happySpecReduce_1  51# happyReduction_144
-happyReduction_144 happy_x_1
-	 =  case happyOut97 happy_x_1 of { happy_var_1 -> 
-	happyIn65
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_145 = happySpecReduce_0  51# happyReduction_145
-happyReduction_145  =  happyIn65
-		 (([],[])
-	)
-
-happyReduce_146 = happyMonadReduce 3# 52# happyReduction_146
-happyReduction_146 (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 happyOut67 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 (happyIn66 r))
-
-happyReduce_147 = happySpecReduce_1  52# happyReduction_147
-happyReduction_147 happy_x_1
-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
-	happyIn66
-		 (([],reverse happy_var_1)
-	)}
-
-happyReduce_148 = happySpecReduce_3  53# happyReduction_148
-happyReduction_148 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut67 happy_x_1 of { happy_var_1 -> 
-	case happyOut27 happy_x_2 of { happy_var_2 -> 
-	case happyOut68 happy_x_3 of { happy_var_3 -> 
-	happyIn67
-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
-	)}}}
-
-happyReduce_149 = happySpecReduce_1  53# happyReduction_149
-happyReduction_149 happy_x_1
-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> 
-	happyIn67
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_150 = happySpecReduce_1  54# happyReduction_150
-happyReduction_150 happy_x_1
-	 =  case happyOut70 happy_x_1 of { happy_var_1 -> 
-	happyIn68
-		 (happy_var_1
-	)}
-
-happyReduce_151 = happySpecReduce_1  54# happyReduction_151
-happyReduction_151 happy_x_1
-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> 
-	happyIn68
-		 (happy_var_1
-	)}
-
-happyReduce_152 = happySpecReduce_1  54# happyReduction_152
-happyReduction_152 happy_x_1
-	 =  case happyOut151 happy_x_1 of { happy_var_1 -> 
-	happyIn68
-		 (happy_var_1
-	)}
-
-happyReduce_153 = happySpecReduce_1  54# happyReduction_153
-happyReduction_153 happy_x_1
-	 =  case happyOut249 happy_x_1 of { happy_var_1 -> 
-	happyIn68
-		 (happy_var_1
-	)}
-
-happyReduce_154 = happySpecReduce_1  54# happyReduction_154
-happyReduction_154 happy_x_1
-	 =  case happyOut254 happy_x_1 of { happy_var_1 -> 
-	happyIn68
-		 (happy_var_1
-	)}
-
-happyReduce_155 = happySpecReduce_3  55# happyReduction_155
-happyReduction_155 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> 
-	case happyOut66 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
-	happyIn69
-		 (BDecls (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) (fst happy_var_2)
-	)}}}
-
-happyReduce_156 = happySpecReduce_3  55# happyReduction_156
-happyReduction_156 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut247 happy_x_1 of { happy_var_1 -> 
-	case happyOut66 happy_x_2 of { happy_var_2 -> 
-	case happyOut248 happy_x_3 of { happy_var_3 -> 
-	happyIn69
-		 (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_157 = happySpecReduce_1  56# happyReduction_157
-happyReduction_157 happy_x_1
-	 =  case happyOut71 happy_x_1 of { happy_var_1 -> 
-	happyIn70
-		 (happy_var_1
-	)}
-
-happyReduce_158 = happySpecReduce_1  56# happyReduction_158
-happyReduction_158 happy_x_1
-	 =  case happyOut72 happy_x_1 of { happy_var_1 -> 
-	happyIn70
-		 (happy_var_1
-	)}
-
-happyReduce_159 = happyMonadReduce 3# 57# happyReduction_159
-happyReduction_159 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut161 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> 
-	case happyOut107 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 (happyIn71 r))
-
-happyReduce_160 = happyMonadReduce 5# 57# happyReduction_160
-happyReduction_160 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut161 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut80 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> 
-	case happyOut107 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 (happyIn71 r))
-
-happyReduce_161 = happyReduce 4# 58# happyReduction_161
-happyReduction_161 (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 happyOut86 happy_x_2 of { happy_var_2 -> 
-	case happyOut220 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> 
-	happyIn72
-		 (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_162 = happyReduce 4# 58# happyReduction_162
-happyReduction_162 (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 happyOut86 happy_x_2 of { happy_var_2 -> 
-	case happyOut220 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 PragmaEnd) -> 
-	happyIn72
-		 (InlineConlikeSig (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_4]) happy_var_2 happy_var_3
-	) `HappyStk` happyRest}}}}
-
-happyReduce_163 = happyReduce 6# 58# happyReduction_163
-happyReduction_163 (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 happyOut86 happy_x_2 of { happy_var_2 -> 
-	case happyOut220 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> 
-	case happyOut73 happy_x_5 of { happy_var_5 -> 
-	case happyOutTok happy_x_6 of { (Loc happy_var_6 PragmaEnd) -> 
-	happyIn72
-		 (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_164 = happyReduce 6# 58# happyReduction_164
-happyReduction_164 (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 happyOut86 happy_x_2 of { happy_var_2 -> 
-	case happyOut220 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleColon) -> 
-	case happyOut73 happy_x_5 of { happy_var_5 -> 
-	case happyOutTok happy_x_6 of { (Loc happy_var_6 PragmaEnd) -> 
-	happyIn72
-		 (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_165 = happyMonadReduce 4# 58# happyReduction_165
-happyReduction_165 (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 happyOut108 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 (happyIn72 r))
-
-happyReduce_166 = happySpecReduce_3  58# happyReduction_166
-happyReduction_166 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 MINIMAL) -> 
-	case happyOut75 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 PragmaEnd) -> 
-	happyIn72
-		 (MinimalPragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_167 = happySpecReduce_1  59# happyReduction_167
-happyReduction_167 happy_x_1
-	 =  case happyOut74 happy_x_1 of { happy_var_1 -> 
-	happyIn73
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_168 = happySpecReduce_3  59# happyReduction_168
-happyReduction_168 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut74 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut73 happy_x_3 of { happy_var_3 -> 
-	happyIn73
-		 ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)
-	)}}}
-
-happyReduce_169 = happyMonadReduce 1# 60# happyReduction_169
-happyReduction_169 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut108 happy_x_1 of { happy_var_1 -> 
-	( checkType $ mkTyForall (ann happy_var_1) Nothing Nothing happy_var_1)}
-	) (\r -> happyReturn (happyIn74 r))
-
-happyReduce_170 = happySpecReduce_1  61# happyReduction_170
-happyReduction_170 happy_x_1
-	 =  case happyOut76 happy_x_1 of { happy_var_1 -> 
-	happyIn75
-		 (Just happy_var_1
-	)}
-
-happyReduce_171 = happySpecReduce_0  61# happyReduction_171
-happyReduction_171  =  happyIn75
-		 (Nothing
-	)
-
-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 = happySpecReduce_3  62# happyReduction_173
-happyReduction_173 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut77 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> 
-	case happyOut76 happy_x_3 of { happy_var_3 -> 
-	happyIn76
-		 (OrFormula (ann happy_var_1 <++>  ann happy_var_3 <** [happy_var_2]) [happy_var_1,happy_var_3]
-	)}}}
-
-happyReduce_174 = happySpecReduce_1  63# happyReduction_174
-happyReduction_174 happy_x_1
-	 =  case happyOut78 happy_x_1 of { happy_var_1 -> 
-	happyIn77
-		 (happy_var_1
-	)}
-
-happyReduce_175 = happySpecReduce_3  63# happyReduction_175
-happyReduction_175 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut78 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut77 happy_x_3 of { happy_var_3 -> 
-	happyIn77
-		 (AndFormula (ann happy_var_1 <++> ann happy_var_3 <** [happy_var_2]) [happy_var_1,happy_var_3]
-	)}}}
-
-happyReduce_176 = happySpecReduce_3  64# happyReduction_176
-happyReduction_176 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut76 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn78
-		 (ParenFormula (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_177 = happySpecReduce_1  64# happyReduction_177
-happyReduction_177 happy_x_1
-	 =  case happyOut218 happy_x_1 of { happy_var_1 -> 
-	happyIn78
-		 (VarFormula (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_178 = happySpecReduce_1  65# happyReduction_178
-happyReduction_178 happy_x_1
-	 =  case happyOut69 happy_x_1 of { happy_var_1 -> 
-	happyIn79
-		 (happy_var_1
-	)}
-
-happyReduce_179 = happySpecReduce_3  65# happyReduction_179
-happyReduction_179 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> 
-	case happyOut214 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
-	happyIn79
-		 (IPBinds (happy_var_1 <^^> happy_var_3 <** snd happy_var_2) (fst happy_var_2)
-	)}}}
-
-happyReduce_180 = happySpecReduce_3  65# happyReduction_180
-happyReduction_180 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut247 happy_x_1 of { happy_var_1 -> 
-	case happyOut214 happy_x_2 of { happy_var_2 -> 
-	happyIn79
-		 (let l' =  ann . last $ fst happy_var_2
-                                         in IPBinds (nIS happy_var_1 <++> l' <** snd happy_var_2) (fst happy_var_2)
-	)}}
-
-happyReduce_181 = happySpecReduce_3  66# happyReduction_181
-happyReduction_181 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut80 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut218 happy_x_3 of { happy_var_3 -> 
-	happyIn80
-		 (let (ns,ss,l) = happy_var_1 in (happy_var_3 : ns, happy_var_2 : ss, l <++> ann happy_var_3)
-	)}}}
-
-happyReduce_182 = happyMonadReduce 1# 66# happyReduction_182
-happyReduction_182 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut220 happy_x_1 of { happy_var_1 -> 
-	( do { n <- checkUnQual happy_var_1;
-                                              return ([n],[],ann n) })}
-	) (\r -> happyReturn (happyIn80 r))
-
-happyReduce_183 = happySpecReduce_1  67# happyReduction_183
-happyReduction_183 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> 
-	happyIn81
-		 (StdCall    (nIS happy_var_1)
-	)}
-
-happyReduce_184 = happySpecReduce_1  67# happyReduction_184
-happyReduction_184 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> 
-	happyIn81
-		 (CCall      (nIS happy_var_1)
-	)}
-
-happyReduce_185 = happySpecReduce_1  67# happyReduction_185
-happyReduction_185 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> 
-	happyIn81
-		 (CPlusPlus  (nIS happy_var_1)
-	)}
-
-happyReduce_186 = happySpecReduce_1  67# happyReduction_186
-happyReduction_186 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> 
-	happyIn81
-		 (DotNet     (nIS happy_var_1)
-	)}
-
-happyReduce_187 = happySpecReduce_1  67# happyReduction_187
-happyReduction_187 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> 
-	happyIn81
-		 (Jvm        (nIS happy_var_1)
-	)}
-
-happyReduce_188 = happySpecReduce_1  67# happyReduction_188
-happyReduction_188 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> 
-	happyIn81
-		 (Js         (nIS happy_var_1)
-	)}
-
-happyReduce_189 = happySpecReduce_1  67# happyReduction_189
-happyReduction_189 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> 
-	happyIn81
-		 (JavaScript (nIS happy_var_1)
-	)}
-
-happyReduce_190 = happySpecReduce_1  67# happyReduction_190
-happyReduction_190 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> 
-	happyIn81
-		 (CApi       (nIS happy_var_1)
-	)}
-
-happyReduce_191 = happySpecReduce_1  68# happyReduction_191
-happyReduction_191 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> 
-	happyIn82
-		 (Just $ PlaySafe  (nIS happy_var_1) False
-	)}
-
-happyReduce_192 = happySpecReduce_1  68# happyReduction_192
-happyReduction_192 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> 
-	happyIn82
-		 (Just $ PlayRisky (nIS happy_var_1)
-	)}
-
-happyReduce_193 = happySpecReduce_1  68# happyReduction_193
-happyReduction_193 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> 
-	happyIn82
-		 (Just $ PlaySafe  (nIS happy_var_1) True
-	)}
-
-happyReduce_194 = happySpecReduce_1  68# happyReduction_194
-happyReduction_194 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> 
-	happyIn82
-		 (Just $ PlayInterruptible (nIS happy_var_1)
-	)}
-
-happyReduce_195 = happySpecReduce_0  68# happyReduction_195
-happyReduction_195  =  happyIn82
-		 (Nothing
-	)
-
-happyReduce_196 = happyReduce 4# 69# happyReduction_196
-happyReduction_196 (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 happyOut219 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> 
-	case happyOut95 happy_x_4 of { happy_var_4 -> 
-	happyIn83
-		 (let Loc l (StringTok (s,_)) = happy_var_1 in (Just s, happy_var_2, happy_var_4, [l,happy_var_3])
-	) `HappyStk` happyRest}}}}
-
-happyReduce_197 = happySpecReduce_3  69# happyReduction_197
-happyReduction_197 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut219 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> 
-	case happyOut95 happy_x_3 of { happy_var_3 -> 
-	happyIn83
-		 ((Nothing, happy_var_1, happy_var_3, [happy_var_2])
-	)}}}
-
-happyReduce_198 = happySpecReduce_3  70# happyReduction_198
-happyReduction_198 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut84 happy_x_1 of { happy_var_1 -> 
-	case happyOut85 happy_x_3 of { happy_var_3 -> 
-	happyIn84
-		 (happy_var_3 : happy_var_1
-	)}}
-
-happyReduce_199 = happySpecReduce_2  70# happyReduction_199
-happyReduction_199 happy_x_2
-	happy_x_1
-	 =  case happyOut84 happy_x_1 of { happy_var_1 -> 
-	happyIn84
-		 (happy_var_1
-	)}
-
-happyReduce_200 = happySpecReduce_1  70# happyReduction_200
-happyReduction_200 happy_x_1
-	 =  case happyOut85 happy_x_1 of { happy_var_1 -> 
-	happyIn84
-		 ([happy_var_1]
-	)}
-
-happyReduce_201 = happySpecReduce_0  70# happyReduction_201
-happyReduction_201  =  happyIn84
-		 ([]
-	)
-
-happyReduce_202 = happyMonadReduce 6# 71# happyReduction_202
-happyReduction_202 (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 happyOut86 happy_x_2 of { happy_var_2 -> 
-	case happyOut87 happy_x_3 of { happy_var_3 -> 
-	case happyOut159 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (Loc happy_var_5 Equals) -> 
-	case happyOut157 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 (happyIn85 r))
-
-happyReduce_203 = happySpecReduce_0  72# happyReduction_203
-happyReduction_203  =  happyIn86
-		 (Nothing
-	)
-
-happyReduce_204 = happySpecReduce_3  72# happyReduction_204
-happyReduction_204 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) -> 
-	happyIn86
-		 (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_205 = happyReduce 4# 72# happyReduction_205
-happyReduction_205 (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) -> 
-	happyIn86
-		 (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_206 = happySpecReduce_0  73# happyReduction_206
-happyReduction_206  =  happyIn87
-		 ((Nothing,[])
-	)
-
-happyReduce_207 = happySpecReduce_3  73# happyReduction_207
-happyReduction_207 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> 
-	case happyOut88 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> 
-	happyIn87
-		 ((Just happy_var_2,[happy_var_1,happy_var_3])
-	)}}}
-
-happyReduce_208 = happySpecReduce_1  74# happyReduction_208
-happyReduction_208 happy_x_1
-	 =  case happyOut89 happy_x_1 of { happy_var_1 -> 
-	happyIn88
-		 ([happy_var_1]
-	)}
-
-happyReduce_209 = happySpecReduce_2  74# happyReduction_209
-happyReduction_209 happy_x_2
-	happy_x_1
-	 =  case happyOut89 happy_x_1 of { happy_var_1 -> 
-	case happyOut88 happy_x_2 of { happy_var_2 -> 
-	happyIn88
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_210 = happySpecReduce_1  75# happyReduction_210
-happyReduction_210 happy_x_1
-	 =  case happyOut235 happy_x_1 of { happy_var_1 -> 
-	happyIn89
-		 (RuleVar (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_211 = happyReduce 5# 75# happyReduction_211
-happyReduction_211 (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 happyOut235 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> 
-	case happyOut107 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> 
-	happyIn89
-		 (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_212 = happySpecReduce_3  76# happyReduction_212
-happyReduction_212 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut90 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> 
-	case happyOut91 happy_x_3 of { happy_var_3 -> 
-	happyIn90
-		 ((fst happy_var_3 : fst happy_var_1, snd happy_var_1 ++ (happy_var_2:snd happy_var_3))
-	)}}}
-
-happyReduce_213 = happySpecReduce_2  76# happyReduction_213
-happyReduction_213 happy_x_2
-	happy_x_1
-	 =  case happyOut90 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 SemiColon) -> 
-	happyIn90
-		 ((fst happy_var_1, snd happy_var_1 ++ [happy_var_2])
-	)}}
-
-happyReduce_214 = happySpecReduce_1  76# happyReduction_214
-happyReduction_214 happy_x_1
-	 =  case happyOut91 happy_x_1 of { happy_var_1 -> 
-	happyIn90
-		 (([fst happy_var_1],snd happy_var_1)
-	)}
-
-happyReduce_215 = happySpecReduce_0  76# happyReduction_215
-happyReduction_215  =  happyIn90
-		 (([],[])
-	)
-
-happyReduce_216 = happySpecReduce_2  77# happyReduction_216
-happyReduction_216 happy_x_2
-	happy_x_1
-	 =  case happyOut92 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { happy_var_2 -> 
-	happyIn91
-		 (let Loc l (StringTok (s,_)) = happy_var_2 in ((fst happy_var_1,s),snd happy_var_1 ++ [l])
-	)}}
-
-happyReduce_217 = happySpecReduce_1  78# happyReduction_217
-happyReduction_217 happy_x_1
-	 =  case happyOut93 happy_x_1 of { happy_var_1 -> 
-	happyIn92
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_218 = happySpecReduce_3  78# happyReduction_218
-happyReduction_218 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut93 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut92 happy_x_3 of { happy_var_3 -> 
-	happyIn92
-		 ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)
-	)}}}
-
-happyReduce_219 = happySpecReduce_1  79# happyReduction_219
-happyReduction_219 happy_x_1
-	 =  case happyOut222 happy_x_1 of { happy_var_1 -> 
-	happyIn93
-		 (happy_var_1
-	)}
-
-happyReduce_220 = happySpecReduce_1  79# happyReduction_220
-happyReduction_220 happy_x_1
-	 =  case happyOut218 happy_x_1 of { happy_var_1 -> 
-	happyIn93
-		 (happy_var_1
-	)}
-
-happyReduce_221 = happyMonadReduce 3# 80# happyReduction_221
-happyReduction_221 (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 happyOut238 happy_x_2 of { happy_var_2 -> 
-	case happyOut170 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 (happyIn94 r))
-
-happyReduce_222 = happyMonadReduce 2# 80# happyReduction_222
-happyReduction_222 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> 
-	case happyOut170 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 (happyIn94 r))
-
-happyReduce_223 = happyMonadReduce 2# 80# happyReduction_223
-happyReduction_223 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut93 happy_x_1 of { happy_var_1 -> 
-	case happyOut170 happy_x_2 of { happy_var_2 -> 
-	( checkExpr happy_var_2 >>= \e -> return (Ann (happy_var_1 <> e) happy_var_1 e))}}
-	) (\r -> happyReturn (happyIn94 r))
-
-happyReduce_224 = happyMonadReduce 1# 81# happyReduction_224
-happyReduction_224 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut96 happy_x_1 of { happy_var_1 -> 
-	( checkType happy_var_1)}
-	) (\r -> happyReturn (happyIn95 r))
-
-happyReduce_225 = happySpecReduce_1  82# happyReduction_225
-happyReduction_225 happy_x_1
-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> 
-	happyIn96
-		 (happy_var_1
-	)}
-
-happyReduce_226 = happySpecReduce_3  82# happyReduction_226
-happyReduction_226 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> 
-	case happyOut106 happy_x_2 of { happy_var_2 -> 
-	case happyOut96 happy_x_3 of { happy_var_3 -> 
-	happyIn96
-		 (TyInfix (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
-	)}}}
-
-happyReduce_227 = happySpecReduce_3  82# happyReduction_227
-happyReduction_227 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> 
-	case happyOut261 happy_x_2 of { happy_var_2 -> 
-	case happyOut96 happy_x_3 of { happy_var_3 -> 
-	happyIn96
-		 (TyInfix (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
-	)}}}
-
-happyReduce_228 = happySpecReduce_3  82# happyReduction_228
-happyReduction_228 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> 
-	case happyOut108 happy_x_3 of { happy_var_3 -> 
-	happyIn96
-		 (TyFun (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_229 = happyMonadReduce 3# 82# happyReduction_229
-happyReduction_229 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> 
-	case happyOut100 happy_x_3 of { happy_var_3 -> 
-	( do { checkEnabledOneOf [TypeFamilies, GADTs] ;
-                                              let {l = happy_var_1 <> happy_var_3 <** [happy_var_2]};
-                                              return $ TyPred l $ EqualP l happy_var_1 happy_var_3 })}}}
-	) (\r -> happyReturn (happyIn96 r))
-
-happyReduce_230 = happyMonadReduce 1# 83# happyReduction_230
-happyReduction_230 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut98 happy_x_1 of { happy_var_1 -> 
-	( checkType happy_var_1)}
-	) (\r -> happyReturn (happyIn97 r))
-
-happyReduce_231 = happySpecReduce_3  84# happyReduction_231
-happyReduction_231 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut221 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> 
-	case happyOut96 happy_x_3 of { happy_var_3 -> 
-	happyIn98
-		 (let l = (happy_var_1 <> happy_var_3 <** [happy_var_2]) in TyPred l $ IParam l happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_232 = happySpecReduce_1  84# happyReduction_232
-happyReduction_232 happy_x_1
-	 =  case happyOut96 happy_x_1 of { happy_var_1 -> 
-	happyIn98
-		 (happy_var_1
-	)}
-
-happyReduce_233 = happyMonadReduce 1# 85# happyReduction_233
-happyReduction_233 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> 
-	( checkType happy_var_1)}
-	) (\r -> happyReturn (happyIn99 r))
-
-happyReduce_234 = happySpecReduce_2  86# happyReduction_234
-happyReduction_234 happy_x_2
-	happy_x_1
-	 =  case happyOut100 happy_x_1 of { happy_var_1 -> 
-	case happyOut101 happy_x_2 of { happy_var_2 -> 
-	happyIn100
-		 (TyApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2
-	)}}
-
-happyReduce_235 = happySpecReduce_1  86# happyReduction_235
-happyReduction_235 happy_x_1
-	 =  case happyOut101 happy_x_1 of { happy_var_1 -> 
-	happyIn100
-		 (happy_var_1
-	)}
-
-happyReduce_236 = happySpecReduce_1  87# happyReduction_236
-happyReduction_236 happy_x_1
-	 =  case happyOut104 happy_x_1 of { happy_var_1 -> 
-	happyIn101
-		 (TyCon   (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_237 = happyMonadReduce 1# 87# happyReduction_237
-happyReduction_237 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut259 happy_x_1 of { happy_var_1 -> 
-	( checkTyVar happy_var_1)}
-	) (\r -> happyReturn (happyIn101 r))
-
-happyReduce_238 = happySpecReduce_2  87# happyReduction_238
-happyReduction_238 happy_x_2
-	happy_x_1
-	 =  case happyOut103 happy_x_1 of { happy_var_1 -> 
-	case happyOut101 happy_x_2 of { happy_var_2 -> 
-	happyIn101
-		 (let (bangOrPack, locs) = happy_var_1
-                                          in let annot = if bangOrPack then (BangedTy (nIS (last locs) <** locs)) else UnpackedTy (nIS (head locs) <++> nIS (last locs) <** locs)
-                                           in bangType (nIS (head locs) <++> ann happy_var_2) annot happy_var_2
-	)}}
-
-happyReduce_239 = happySpecReduce_3  87# happyReduction_239
-happyReduction_239 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut110 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn101
-		 (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_240 = happySpecReduce_3  87# happyReduction_240
-happyReduction_240 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> 
-	case happyOut111 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> 
-	happyIn101
-		 (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_241 = happySpecReduce_3  87# happyReduction_241
-happyReduction_241 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> 
-	case happyOut98 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> 
-	happyIn101
-		 (TyList  (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_242 = happySpecReduce_3  87# happyReduction_242
-happyReduction_242 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 ParArrayLeftSquare) -> 
-	case happyOut98 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 ParArrayRightSquare) -> 
-	happyIn101
-		 (TyParArray  (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_243 = happySpecReduce_3  87# happyReduction_243
-happyReduction_243 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut108 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn101
-		 (TyParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_244 = happyReduce 5# 87# happyReduction_244
-happyReduction_244 (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 happyOut108 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> 
-	case happyOut134 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> 
-	happyIn101
-		 (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_245 = happySpecReduce_3  87# happyReduction_245
-happyReduction_245 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THParenEscape) -> 
-	case happyOut157 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn101
-		 (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in TySplice l $ ParenSplice l happy_var_2
-	)}}}
-
-happyReduce_246 = happySpecReduce_1  87# happyReduction_246
-happyReduction_246 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn101
-		 (let Loc l (THIdEscape s) = happy_var_1 in TySplice (nIS l) $ IdSplice (nIS l) s
-	)}
-
-happyReduce_247 = happySpecReduce_1  87# happyReduction_247
-happyReduction_247 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> 
-	happyIn101
-		 (TyWildCard (nIS happy_var_1) Nothing
-	)}
-
-happyReduce_248 = happyMonadReduce 1# 87# happyReduction_248
-happyReduction_248 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut102 happy_x_1 of { happy_var_1 -> 
-	( checkEnabled DataKinds >> return (TyPromoted (ann happy_var_1) happy_var_1))}
-	) (\r -> happyReturn (happyIn101 r))
-
-happyReduce_249 = happyMonadReduce 4# 88# happyReduction_249
-happyReduction_249 (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 happyOut111 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 (happyIn102 r))
-
-happyReduce_250 = happySpecReduce_3  88# happyReduction_250
-happyReduction_250 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) -> 
-	happyIn102
-		 (PromotedList   (happy_var_1 <^^> happy_var_3 <** [happy_var_1, happy_var_3]) True  []
-	)}}
-
-happyReduce_251 = happyMonadReduce 3# 88# happyReduction_251
-happyReduction_251 (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 happyOut110 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 (happyIn102 r))
-
-happyReduce_252 = happyMonadReduce 4# 88# happyReduction_252
-happyReduction_252 (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 happyOut111 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 (happyIn102 r))
-
-happyReduce_253 = happySpecReduce_3  88# happyReduction_253
-happyReduction_253 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 RightParen) -> 
-	happyIn102
-		 (PromotedUnit  (happy_var_1 <^^> happy_var_3 )
-	)}}
-
-happyReduce_254 = happySpecReduce_2  88# happyReduction_254
-happyReduction_254 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> 
-	case happyOut232 happy_x_2 of { happy_var_2 -> 
-	happyIn102
-		 (PromotedCon ((noInfoSpan happy_var_1 <++> ann happy_var_2) <** [happy_var_1]) True  happy_var_2
-	)}}
-
-happyReduce_255 = happySpecReduce_2  88# happyReduction_255
-happyReduction_255 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> 
-	case happyOut258 happy_x_2 of { happy_var_2 -> 
-	happyIn102
-		 (PromotedCon ((noInfoSpan happy_var_1 <++> ann happy_var_2) <** [happy_var_1]) True  happy_var_2
-	)}}
-
-happyReduce_256 = happySpecReduce_1  88# happyReduction_256
-happyReduction_256 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn102
-		 (let Loc l (IntTok  (i,raw)) = happy_var_1 in PromotedInteger (nIS l) i raw
-	)}
-
-happyReduce_257 = happySpecReduce_1  88# happyReduction_257
-happyReduction_257 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn102
-		 (let Loc l (StringTok (s,raw)) = happy_var_1 in PromotedString (nIS l) s raw
-	)}
-
-happyReduce_258 = happySpecReduce_1  89# happyReduction_258
-happyReduction_258 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> 
-	happyIn103
-		 ((True, [happy_var_1])
-	)}
-
-happyReduce_259 = happySpecReduce_3  89# happyReduction_259
-happyReduction_259 happy_x_3
-	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) -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 Exclamation) -> 
-	happyIn103
-		 ((False, [happy_var_1,happy_var_2,happy_var_3])
-	)}}}
-
-happyReduce_260 = happySpecReduce_1  90# happyReduction_260
-happyReduction_260 happy_x_1
-	 =  case happyOut105 happy_x_1 of { happy_var_1 -> 
-	happyIn104
-		 (happy_var_1
-	)}
-
-happyReduce_261 = happySpecReduce_2  90# happyReduction_261
-happyReduction_261 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) -> 
-	happyIn104
-		 (unit_tycon_name              (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])
-	)}}
-
-happyReduce_262 = happySpecReduce_3  90# 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 happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn104
-		 (fun_tycon_name               (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3])
-	)}}}
-
-happyReduce_263 = happySpecReduce_2  90# happyReduction_263
-happyReduction_263 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) -> 
-	happyIn104
-		 (list_tycon_name              (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])
-	)}}
-
-happyReduce_264 = happySpecReduce_3  90# happyReduction_264
-happyReduction_264 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut173 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn104
-		 (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_265 = happySpecReduce_2  90# happyReduction_265
-happyReduction_265 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) -> 
-	happyIn104
-		 (unboxed_singleton_tycon_name (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])
-	)}}
-
-happyReduce_266 = happySpecReduce_3  90# happyReduction_266
-happyReduction_266 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> 
-	case happyOut173 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> 
-	happyIn104
-		 (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_267 = happySpecReduce_1  91# happyReduction_267
-happyReduction_267 happy_x_1
-	 =  case happyOut237 happy_x_1 of { happy_var_1 -> 
-	happyIn105
-		 (happy_var_1
-	)}
-
-happyReduce_268 = happySpecReduce_3  91# happyReduction_268
-happyReduction_268 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut232 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn105
-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_269 = happySpecReduce_3  91# happyReduction_269
-happyReduction_269 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut241 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn105
-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_270 = happySpecReduce_1  92# happyReduction_270
-happyReduction_270 happy_x_1
-	 =  case happyOut228 happy_x_1 of { happy_var_1 -> 
-	happyIn106
-		 (happy_var_1
-	)}
-
-happyReduce_271 = happyMonadReduce 1# 93# happyReduction_271
-happyReduction_271 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut108 happy_x_1 of { happy_var_1 -> 
-	( checkType happy_var_1)}
-	) (\r -> happyReturn (happyIn107 r))
-
-happyReduce_272 = happyReduce 4# 94# happyReduction_272
-happyReduction_272 (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 happyOut112 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> 
-	case happyOut108 happy_x_4 of { happy_var_4 -> 
-	happyIn108
-		 (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_273 = happySpecReduce_2  94# happyReduction_273
-happyReduction_273 happy_x_2
-	happy_x_1
-	 =  case happyOut109 happy_x_1 of { happy_var_1 -> 
-	case happyOut108 happy_x_2 of { happy_var_2 -> 
-	happyIn108
-		 (mkTyForall (happy_var_1 <> happy_var_2) Nothing (Just happy_var_1) happy_var_2
-	)}}
-
-happyReduce_274 = happySpecReduce_1  94# happyReduction_274
-happyReduction_274 happy_x_1
-	 =  case happyOut98 happy_x_1 of { happy_var_1 -> 
-	happyIn108
-		 (happy_var_1
-	)}
-
-happyReduce_275 = happyMonadReduce 2# 95# happyReduction_275
-happyReduction_275 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut100 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]))) happy_var_1)}}
-	) (\r -> happyReturn (happyIn109 r))
-
-happyReduce_276 = happyMonadReduce 4# 95# happyReduction_276
-happyReduction_276 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Tilde) -> 
-	case happyOut100 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 DoubleArrow) -> 
-	( do { checkEnabledOneOf [TypeFamilies, GADTs];
-                                              let {l = happy_var_1 <> happy_var_3 <** [happy_var_2,happy_var_4]};
-                                              checkPContext (TyPred l $ EqualP l happy_var_1 happy_var_3) })}}}}
-	) (\r -> happyReturn (happyIn109 r))
-
-happyReduce_277 = happySpecReduce_3  96# happyReduction_277
-happyReduction_277 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut111 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut108 happy_x_3 of { happy_var_3 -> 
-	happyIn110
-		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
-	)}}}
-
-happyReduce_278 = happySpecReduce_1  97# happyReduction_278
-happyReduction_278 happy_x_1
-	 =  case happyOut108 happy_x_1 of { happy_var_1 -> 
-	happyIn111
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_279 = happySpecReduce_3  97# happyReduction_279
-happyReduction_279 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut111 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut108 happy_x_3 of { happy_var_3 -> 
-	happyIn111
-		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
-	)}}}
-
-happyReduce_280 = happySpecReduce_2  98# happyReduction_280
-happyReduction_280 happy_x_2
-	happy_x_1
-	 =  case happyOut112 happy_x_1 of { happy_var_1 -> 
-	case happyOut113 happy_x_2 of { happy_var_2 -> 
-	happyIn112
-		 ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))
-	)}}
-
-happyReduce_281 = happySpecReduce_0  98# happyReduction_281
-happyReduction_281  =  happyIn112
-		 (([],Nothing)
-	)
-
-happyReduce_282 = happySpecReduce_1  99# happyReduction_282
-happyReduction_282 happy_x_1
-	 =  case happyOut259 happy_x_1 of { happy_var_1 -> 
-	happyIn113
-		 (UnkindedVar (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_283 = happyReduce 5# 99# happyReduction_283
-happyReduction_283 (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 happyOut259 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> 
-	case happyOut134 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> 
-	happyIn113
-		 (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_284 = happySpecReduce_2  100# happyReduction_284
-happyReduction_284 happy_x_2
-	happy_x_1
-	 =  case happyOut114 happy_x_1 of { happy_var_1 -> 
-	case happyOut259 happy_x_2 of { happy_var_2 -> 
-	happyIn114
-		 ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))
-	)}}
-
-happyReduce_285 = happySpecReduce_0  100# happyReduction_285
-happyReduction_285  =  happyIn114
-		 (([], Nothing)
-	)
-
-happyReduce_286 = happySpecReduce_2  101# happyReduction_286
-happyReduction_286 happy_x_2
-	happy_x_1
-	 =  case happyOut114 happy_x_1 of { happy_var_1 -> 
-	case happyOut259 happy_x_2 of { happy_var_2 -> 
-	happyIn115
-		 ((happy_var_2 : fst happy_var_1, snd happy_var_1 <?+> ann happy_var_2)
-	)}}
-
-happyReduce_287 = happySpecReduce_0  102# happyReduction_287
-happyReduction_287  =  happyIn116
-		 (([],[], Nothing)
-	)
-
-happyReduce_288 = happyMonadReduce 2# 102# happyReduction_288
-happyReduction_288 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> 
-	case happyOut117 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 (happyIn116 r))
-
-happyReduce_289 = happySpecReduce_3  103# happyReduction_289
-happyReduction_289 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut117 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut118 happy_x_3 of { happy_var_3 -> 
-	happyIn117
-		 (let (fds,ss,l) = happy_var_1 in (happy_var_3 : fds, happy_var_2 : ss, l <++> ann happy_var_3)
-	)}}}
-
-happyReduce_290 = happySpecReduce_1  103# happyReduction_290
-happyReduction_290 happy_x_1
-	 =  case happyOut118 happy_x_1 of { happy_var_1 -> 
-	happyIn117
-		 (([happy_var_1],[],ann happy_var_1)
-	)}
-
-happyReduce_291 = happySpecReduce_3  104# happyReduction_291
-happyReduction_291 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut114 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> 
-	case happyOut115 happy_x_3 of { happy_var_3 -> 
-	happyIn118
-		 (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_292 = happyMonadReduce 4# 105# happyReduction_292
-happyReduction_292 (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 happyOut120 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 (happyIn119 r))
-
-happyReduce_293 = happyMonadReduce 4# 105# happyReduction_293
-happyReduction_293 (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 happyOut247 happy_x_2 of { happy_var_2 -> 
-	case happyOut120 happy_x_3 of { happy_var_3 -> 
-	case happyOut248 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 (happyIn119 r))
-
-happyReduce_294 = happyMonadReduce 0# 105# happyReduction_294
-happyReduction_294 (happyRest) tk
-	 = happyThen (( checkEnabled EmptyDataDecls >> return ([],[],Nothing))
-	) (\r -> happyReturn (happyIn119 r))
-
-happyReduce_295 = happySpecReduce_3  106# happyReduction_295
-happyReduction_295 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
-	case happyOut121 happy_x_2 of { happy_var_2 -> 
-	case happyOut28 happy_x_3 of { happy_var_3 -> 
-	happyIn120
-		 ((fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)
-	)}}}
-
-happyReduce_296 = happySpecReduce_3  107# happyReduction_296
-happyReduction_296 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut121 happy_x_1 of { happy_var_1 -> 
-	case happyOut27 happy_x_2 of { happy_var_2 -> 
-	case happyOut122 happy_x_3 of { happy_var_3 -> 
-	happyIn121
-		 ((happy_var_3 ++ fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
-	)}}}
-
-happyReduce_297 = happySpecReduce_1  107# happyReduction_297
-happyReduction_297 happy_x_1
-	 =  case happyOut122 happy_x_1 of { happy_var_1 -> 
-	happyIn121
-		 ((happy_var_1,[])
-	)}
-
-happyReduce_298 = happyMonadReduce 3# 108# happyReduction_298
-happyReduction_298 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut223 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> 
-	case happyOut107 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 (happyIn122 r))
-
-happyReduce_299 = happyMonadReduce 7# 108# happyReduction_299
-happyReduction_299 (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 happyOut223 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 happyOut129 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 happyOut107 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 (happyIn122 r))
-
-happyReduce_300 = happySpecReduce_2  109# happyReduction_300
-happyReduction_300 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> 
-	case happyOut124 happy_x_2 of { happy_var_2 -> 
-	happyIn123
-		 (let (ds,ss,l) = happy_var_2 in (ds, happy_var_1 : reverse ss, Just $ nIS happy_var_1 <++> l)
-	)}}
-
-happyReduce_301 = happySpecReduce_3  110# happyReduction_301
-happyReduction_301 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 happyOut125 happy_x_3 of { happy_var_3 -> 
-	happyIn124
-		 (let (ds,ss,l) = happy_var_1 in (happy_var_3 : ds, happy_var_2 : ss, l <++> ann happy_var_3)
-	)}}}
-
-happyReduce_302 = happySpecReduce_1  110# happyReduction_302
-happyReduction_302 happy_x_1
-	 =  case happyOut125 happy_x_1 of { happy_var_1 -> 
-	happyIn124
-		 (([happy_var_1],[],ann happy_var_1)
-	)}
-
-happyReduce_303 = happyMonadReduce 3# 111# happyReduction_303
-happyReduction_303 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut126 happy_x_1 of { happy_var_1 -> 
-	case happyOut109 happy_x_2 of { happy_var_2 -> 
-	case happyOut127 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 (happyIn125 r))
-
-happyReduce_304 = happySpecReduce_2  111# happyReduction_304
-happyReduction_304 happy_x_2
-	happy_x_1
-	 =  case happyOut126 happy_x_1 of { happy_var_1 -> 
-	case happyOut127 happy_x_2 of { happy_var_2 -> 
-	happyIn125
-		 (let (mtvs, ss, ml) = happy_var_1 in QualConDecl (ml <?+> ann happy_var_2 <** ss) mtvs Nothing happy_var_2
-	)}}
-
-happyReduce_305 = happyMonadReduce 3# 112# happyReduction_305
-happyReduction_305 (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 happyOut112 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 (happyIn126 r))
-
-happyReduce_306 = happySpecReduce_0  112# happyReduction_306
-happyReduction_306  =  happyIn126
-		 ((Nothing, [], Nothing)
-	)
-
-happyReduce_307 = happySpecReduce_1  113# happyReduction_307
-happyReduction_307 happy_x_1
-	 =  case happyOut128 happy_x_1 of { happy_var_1 -> 
-	happyIn127
-		 (let (n,ts,l) = happy_var_1 in ConDecl l n ts
-	)}
-
-happyReduce_308 = happySpecReduce_3  113# happyReduction_308
-happyReduction_308 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut99 happy_x_1 of { happy_var_1 -> 
-	case happyOut227 happy_x_2 of { happy_var_2 -> 
-	case happyOut99 happy_x_3 of { happy_var_3 -> 
-	happyIn127
-		 (InfixConDecl (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
-	)}}}
-
-happyReduce_309 = happyMonadReduce 3# 113# happyReduction_309
-happyReduction_309 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut223 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 (happyIn127 r))
-
-happyReduce_310 = happyMonadReduce 4# 113# happyReduction_310
-happyReduction_310 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut223 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> 
-	case happyOut129 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 (happyIn127 r))
-
-happyReduce_311 = happyMonadReduce 1# 114# happyReduction_311
-happyReduction_311 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut100 happy_x_1 of { happy_var_1 -> 
-	( do { (c,ts) <- splitTyConApp happy_var_1;
-                                              return (c, ts, ann happy_var_1) })}
-	) (\r -> happyReturn (happyIn128 r))
-
-happyReduce_312 = happySpecReduce_3  115# happyReduction_312
-happyReduction_312 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut129 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut130 happy_x_3 of { happy_var_3 -> 
-	happyIn129
-		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
-	)}}}
-
-happyReduce_313 = happySpecReduce_1  115# happyReduction_313
-happyReduction_313 happy_x_1
-	 =  case happyOut130 happy_x_1 of { happy_var_1 -> 
-	happyIn129
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_314 = happySpecReduce_3  116# happyReduction_314
-happyReduction_314 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut80 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> 
-	case happyOut107 happy_x_3 of { happy_var_3 -> 
-	happyIn130
-		 (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_315 = happySpecReduce_0  117# happyReduction_315
-happyReduction_315  =  happyIn131
-		 (Nothing
-	)
-
-happyReduce_316 = happySpecReduce_2  117# happyReduction_316
-happyReduction_316 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> 
-	case happyOut133 happy_x_2 of { happy_var_2 -> 
-	happyIn131
-		 (let l = nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1] in Just $ Deriving l [IRule (ann happy_var_2) Nothing Nothing happy_var_2]
-	)}}
-
-happyReduce_317 = happySpecReduce_3  117# happyReduction_317
-happyReduction_317 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn131
-		 (Just $ Deriving (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3]) []
-	)}}}
-
-happyReduce_318 = happyReduce 4# 117# happyReduction_318
-happyReduction_318 (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 happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> 
-	case happyOut132 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> 
-	happyIn131
-		 (-- Distinguish deriving (Show) from deriving Show (#189)
-                                        case fst happy_var_3 of
-                                          [ts] -> Just $ Deriving (happy_var_1 <^^> happy_var_4 <** [happy_var_1]) [IParen (happy_var_2 <^^> happy_var_4 <** [happy_var_2,happy_var_4]) ts]
-                                          tss  -> Just $ Deriving (happy_var_1 <^^> happy_var_4 <** happy_var_1:happy_var_2: reverse (snd happy_var_3) ++ [happy_var_4]) (reverse tss)
-	) `HappyStk` happyRest}}}}
-
-happyReduce_319 = happyMonadReduce 1# 118# happyReduction_319
-happyReduction_319 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut111 happy_x_1 of { happy_var_1 -> 
-	( checkDeriving (fst happy_var_1) >>= \ds -> return (ds, snd happy_var_1))}
-	) (\r -> happyReturn (happyIn132 r))
-
-happyReduce_320 = happySpecReduce_1  119# happyReduction_320
-happyReduction_320 happy_x_1
-	 =  case happyOut237 happy_x_1 of { happy_var_1 -> 
-	happyIn133
-		 (IHCon (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_321 = happyMonadReduce 1# 120# happyReduction_321
-happyReduction_321 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut135 happy_x_1 of { happy_var_1 -> 
-	( checkEnabled KindSignatures >> return happy_var_1)}
-	) (\r -> happyReturn (happyIn134 r))
-
-happyReduce_322 = happySpecReduce_1  121# happyReduction_322
-happyReduction_322 happy_x_1
-	 =  case happyOut136 happy_x_1 of { happy_var_1 -> 
-	happyIn135
-		 (happy_var_1
-	)}
-
-happyReduce_323 = happySpecReduce_3  121# happyReduction_323
-happyReduction_323 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut136 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> 
-	case happyOut135 happy_x_3 of { happy_var_3 -> 
-	happyIn135
-		 (KindFn (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_324 = happySpecReduce_1  122# happyReduction_324
-happyReduction_324 happy_x_1
-	 =  case happyOut137 happy_x_1 of { happy_var_1 -> 
-	happyIn136
-		 (happy_var_1
-	)}
-
-happyReduce_325 = happySpecReduce_2  122# happyReduction_325
-happyReduction_325 happy_x_2
-	happy_x_1
-	 =  case happyOut136 happy_x_1 of { happy_var_1 -> 
-	case happyOut137 happy_x_2 of { happy_var_2 -> 
-	happyIn136
-		 (KindApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2
-	)}}
-
-happyReduce_326 = happySpecReduce_1  123# happyReduction_326
-happyReduction_326 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> 
-	happyIn137
-		 (KindStar  (nIS happy_var_1)
-	)}
-
-happyReduce_327 = happySpecReduce_3  123# happyReduction_327
-happyReduction_327 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut135 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn137
-		 (KindParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_328 = happyMonadReduce 1# 123# happyReduction_328
-happyReduction_328 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut138 happy_x_1 of { happy_var_1 -> 
-	( checkKind happy_var_1 >> return happy_var_1)}
-	) (\r -> happyReturn (happyIn137 r))
-
-happyReduce_329 = happyMonadReduce 1# 123# happyReduction_329
-happyReduction_329 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut233 happy_x_1 of { happy_var_1 -> 
-	( checkEnabled PolyKinds >> return (KindVar (ann happy_var_1) happy_var_1))}
-	) (\r -> happyReturn (happyIn137 r))
-
-happyReduce_330 = happySpecReduce_1  124# happyReduction_330
-happyReduction_330 happy_x_1
-	 =  case happyOut258 happy_x_1 of { happy_var_1 -> 
-	happyIn138
-		 (KindVar (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_331 = happySpecReduce_2  124# happyReduction_331
-happyReduction_331 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) -> 
-	happyIn138
-		 (let l = happy_var_1 <^^> happy_var_2 in KindVar l (unit_tycon_name l)
-	)}}
-
-happyReduce_332 = happyReduce 5# 124# happyReduction_332
-happyReduction_332 (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 happyOut134 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 Comma) -> 
-	case happyOut139 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> 
-	happyIn138
-		 (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_333 = happySpecReduce_3  124# happyReduction_333
-happyReduction_333 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> 
-	case happyOut134 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> 
-	happyIn138
-		 (KindList  ((happy_var_1 <^^> happy_var_3) <** [happy_var_1, happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_334 = happySpecReduce_1  125# happyReduction_334
-happyReduction_334 happy_x_1
-	 =  case happyOut135 happy_x_1 of { happy_var_1 -> 
-	happyIn139
-		 (([happy_var_1], [])
-	)}
-
-happyReduce_335 = happySpecReduce_3  125# happyReduction_335
-happyReduction_335 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut135 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut139 happy_x_3 of { happy_var_3 -> 
-	happyIn139
-		 ((happy_var_1 : (fst happy_var_3), happy_var_2 : (snd happy_var_3))
-	)}}}
-
-happyReduce_336 = happySpecReduce_0  126# happyReduction_336
-happyReduction_336  =  happyIn140
-		 ((Nothing,[])
-	)
-
-happyReduce_337 = happySpecReduce_2  126# happyReduction_337
-happyReduction_337 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> 
-	case happyOut134 happy_x_2 of { happy_var_2 -> 
-	happyIn140
-		 ((Just happy_var_2,[happy_var_1])
-	)}}
-
-happyReduce_338 = happyMonadReduce 4# 127# happyReduction_338
-happyReduction_338 (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 happyOut142 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 (happyIn141 r))
-
-happyReduce_339 = happyMonadReduce 4# 127# happyReduction_339
-happyReduction_339 (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 happyOut247 happy_x_2 of { happy_var_2 -> 
-	case happyOut142 happy_x_3 of { happy_var_3 -> 
-	case happyOut248 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 (happyIn141 r))
-
-happyReduce_340 = happySpecReduce_0  127# happyReduction_340
-happyReduction_340  =  happyIn141
-		 ((Nothing,[],Nothing)
-	)
-
-happyReduce_341 = happyMonadReduce 3# 128# happyReduction_341
-happyReduction_341 (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 happyOut143 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 (happyIn142 r))
-
-happyReduce_342 = happySpecReduce_1  128# happyReduction_342
-happyReduction_342 happy_x_1
-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
-	happyIn142
-		 (([],reverse happy_var_1)
-	)}
-
-happyReduce_343 = happySpecReduce_3  129# happyReduction_343
-happyReduction_343 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut143 happy_x_1 of { happy_var_1 -> 
-	case happyOut27 happy_x_2 of { happy_var_2 -> 
-	case happyOut144 happy_x_3 of { happy_var_3 -> 
-	happyIn143
-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
-	)}}}
-
-happyReduce_344 = happySpecReduce_1  129# happyReduction_344
-happyReduction_344 happy_x_1
-	 =  case happyOut144 happy_x_1 of { happy_var_1 -> 
-	happyIn143
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_345 = happySpecReduce_1  130# happyReduction_345
-happyReduction_345 happy_x_1
-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> 
-	happyIn144
-		 (ClsDecl (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_346 = happyMonadReduce 1# 130# happyReduction_346
-happyReduction_346 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut145 happy_x_1 of { happy_var_1 -> 
-	( checkEnabled TypeFamilies >> return happy_var_1)}
-	) (\r -> happyReturn (happyIn144 r))
-
-happyReduce_347 = happyMonadReduce 2# 130# happyReduction_347
-happyReduction_347 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> 
-	case happyOut70 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 (happyIn144 r))
-
-happyReduce_348 = happyMonadReduce 3# 131# happyReduction_348
-happyReduction_348 (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 happyOut98 happy_x_2 of { happy_var_2 -> 
-	case happyOut140 happy_x_3 of { happy_var_3 -> 
-	( do { dh <- checkSimpleType happy_var_2;
-                    return (ClsTyFam  (nIS happy_var_1 <++> ann happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** happy_var_1:snd happy_var_3) dh (fst happy_var_3)) })}}}
-	) (\r -> happyReturn (happyIn145 r))
-
-happyReduce_349 = happyReduce 4# 131# happyReduction_349
-happyReduction_349 (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_Type) -> 
-	case happyOut95 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> 
-	case happyOut107 happy_x_4 of { happy_var_4 -> 
-	happyIn145
-		 (ClsTyDef (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4
-	) `HappyStk` happyRest}}}}
-
-happyReduce_350 = happyReduce 5# 131# happyReduction_350
-happyReduction_350 (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_Type) -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> 
-	case happyOut95 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 Equals) -> 
-	case happyOut107 happy_x_5 of { happy_var_5 -> 
-	happyIn145
-		 (ClsTyDef (nIS happy_var_1 <++> ann happy_var_5 <** [happy_var_1,happy_var_2,happy_var_4]) happy_var_3 happy_var_5
-	) `HappyStk` happyRest}}}}}
-
-happyReduce_351 = happyMonadReduce 3# 131# happyReduction_351
-happyReduction_351 (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 happyOut108 happy_x_2 of { happy_var_2 -> 
-	case happyOut140 happy_x_3 of { happy_var_3 -> 
-	( do { (cs,dh) <- checkDataHeader happy_var_2;
-                    return (ClsDataFam (nIS happy_var_1 <++> ann happy_var_2 <+?> (fmap ann) (fst happy_var_3) <** happy_var_1:snd happy_var_3) cs dh (fst happy_var_3)) })}}}
-	) (\r -> happyReturn (happyIn145 r))
-
-happyReduce_352 = happyMonadReduce 4# 132# happyReduction_352
-happyReduction_352 (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 happyOut147 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 (happyIn146 r))
-
-happyReduce_353 = happyMonadReduce 4# 132# happyReduction_353
-happyReduction_353 (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 happyOut247 happy_x_2 of { happy_var_2 -> 
-	case happyOut147 happy_x_3 of { happy_var_3 -> 
-	case happyOut248 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 (happyIn146 r))
-
-happyReduce_354 = happySpecReduce_0  132# happyReduction_354
-happyReduction_354  =  happyIn146
-		 ((Nothing, [], Nothing)
-	)
-
-happyReduce_355 = happyMonadReduce 3# 133# happyReduction_355
-happyReduction_355 (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 happyOut148 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 (happyIn147 r))
-
-happyReduce_356 = happySpecReduce_1  133# happyReduction_356
-happyReduction_356 happy_x_1
-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
-	happyIn147
-		 (([],reverse happy_var_1)
-	)}
-
-happyReduce_357 = happySpecReduce_3  134# happyReduction_357
-happyReduction_357 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut148 happy_x_1 of { happy_var_1 -> 
-	case happyOut27 happy_x_2 of { happy_var_2 -> 
-	case happyOut149 happy_x_3 of { happy_var_3 -> 
-	happyIn148
-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
-	)}}}
-
-happyReduce_358 = happySpecReduce_1  134# happyReduction_358
-happyReduction_358 happy_x_1
-	 =  case happyOut149 happy_x_1 of { happy_var_1 -> 
-	happyIn148
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_359 = happySpecReduce_1  135# happyReduction_359
-happyReduction_359 happy_x_1
-	 =  case happyOut151 happy_x_1 of { happy_var_1 -> 
-	happyIn149
-		 (InsDecl (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_360 = happyMonadReduce 1# 135# happyReduction_360
-happyReduction_360 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut150 happy_x_1 of { happy_var_1 -> 
-	( checkEnabled TypeFamilies >> return happy_var_1)}
-	) (\r -> happyReturn (happyIn149 r))
-
-happyReduce_361 = happySpecReduce_1  135# happyReduction_361
-happyReduction_361 happy_x_1
-	 =  case happyOut72 happy_x_1 of { happy_var_1 -> 
-	happyIn149
-		 (InsDecl (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_362 = happyMonadReduce 1# 135# happyReduction_362
-happyReduction_362 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut71 happy_x_1 of { happy_var_1 -> 
-	( checkEnabled InstanceSigs >> return (InsDecl (ann happy_var_1) happy_var_1))}
-	) (\r -> happyReturn (happyIn149 r))
-
-happyReduce_363 = happyMonadReduce 4# 136# happyReduction_363
-happyReduction_363 (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 happyOut95 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> 
-	case happyOut107 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 (happyIn150 r))
-
-happyReduce_364 = happyMonadReduce 4# 136# happyReduction_364
-happyReduction_364 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> 
-	case happyOut107 happy_x_2 of { happy_var_2 -> 
-	case happyOut123 happy_x_3 of { happy_var_3 -> 
-	case happyOut131 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 happy_var_4 <** ss ) happy_var_1 happy_var_2 (reverse ds) happy_var_4) })}}}}
-	) (\r -> happyReturn (happyIn150 r))
-
-happyReduce_365 = happyMonadReduce 5# 136# 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) tk
-	 = happyThen (case happyOut64 happy_x_1 of { happy_var_1 -> 
-	case happyOut107 happy_x_2 of { happy_var_2 -> 
-	case happyOut140 happy_x_3 of { happy_var_3 -> 
-	case happyOut119 happy_x_4 of { happy_var_4 -> 
-	case happyOut131 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 happy_var_5 <** (snd happy_var_3 ++ ss)) happy_var_1 happy_var_2 (fst happy_var_3) (reverse gs) happy_var_5 })}}}}}
-	) (\r -> happyReturn (happyIn150 r))
-
-happyReduce_366 = happyMonadReduce 4# 137# happyReduction_366
-happyReduction_366 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut161 happy_x_1 of { happy_var_1 -> 
-	case happyOut153 happy_x_2 of { happy_var_2 -> 
-	case happyOut154 happy_x_3 of { happy_var_3 -> 
-	case happyOut152 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 (happyIn151 r))
-
-happyReduce_367 = happyMonadReduce 4# 137# happyReduction_367
-happyReduction_367 (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 happyOut170 happy_x_2 of { happy_var_2 -> 
-	case happyOut154 happy_x_3 of { happy_var_3 -> 
-	case happyOut152 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 (happyIn151 r))
-
-happyReduce_368 = happySpecReduce_2  138# happyReduction_368
-happyReduction_368 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> 
-	case happyOut79 happy_x_2 of { happy_var_2 -> 
-	happyIn152
-		 ((Just happy_var_2, [happy_var_1])
-	)}}
-
-happyReduce_369 = happySpecReduce_0  138# happyReduction_369
-happyReduction_369  =  happyIn152
-		 ((Nothing, [])
-	)
-
-happyReduce_370 = happyMonadReduce 2# 139# happyReduction_370
-happyReduction_370 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> 
-	case happyOut107 happy_x_2 of { happy_var_2 -> 
-	( checkEnabled ScopedTypeVariables >> return (Just (happy_var_2, happy_var_1)))}}
-	) (\r -> happyReturn (happyIn153 r))
-
-happyReduce_371 = happySpecReduce_0  139# happyReduction_371
-happyReduction_371  =  happyIn153
-		 (Nothing
-	)
-
-happyReduce_372 = happySpecReduce_2  140# happyReduction_372
-happyReduction_372 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> 
-	case happyOut157 happy_x_2 of { happy_var_2 -> 
-	happyIn154
-		 (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
-	)}}
-
-happyReduce_373 = happySpecReduce_1  140# happyReduction_373
-happyReduction_373 happy_x_1
-	 =  case happyOut155 happy_x_1 of { happy_var_1 -> 
-	happyIn154
-		 (GuardedRhss (snd happy_var_1) (reverse $ fst happy_var_1)
-	)}
-
-happyReduce_374 = happySpecReduce_2  141# happyReduction_374
-happyReduction_374 happy_x_2
-	happy_x_1
-	 =  case happyOut155 happy_x_1 of { happy_var_1 -> 
-	case happyOut156 happy_x_2 of { happy_var_2 -> 
-	happyIn155
-		 ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)
-	)}}
-
-happyReduce_375 = happySpecReduce_1  141# happyReduction_375
-happyReduction_375 happy_x_1
-	 =  case happyOut156 happy_x_1 of { happy_var_1 -> 
-	happyIn155
-		 (([happy_var_1],ann happy_var_1)
-	)}
-
-happyReduce_376 = happyMonadReduce 4# 142# happyReduction_376
-happyReduction_376 (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 happyOut194 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> 
-	case happyOut157 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 (happyIn156 r))
-
-happyReduce_377 = happyMonadReduce 1# 143# happyReduction_377
-happyReduction_377 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut158 happy_x_1 of { happy_var_1 -> 
-	( checkExpr happy_var_1)}
-	) (\r -> happyReturn (happyIn157 r))
-
-happyReduce_378 = happySpecReduce_3  144# happyReduction_378
-happyReduction_378 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 DoubleColon) -> 
-	case happyOut107 happy_x_3 of { happy_var_3 -> 
-	happyIn158
-		 (ExpTypeSig      (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_379 = happySpecReduce_1  144# happyReduction_379
-happyReduction_379 happy_x_1
-	 =  case happyOut159 happy_x_1 of { happy_var_1 -> 
-	happyIn158
-		 (happy_var_1
-	)}
-
-happyReduce_380 = happySpecReduce_2  144# happyReduction_380
-happyReduction_380 happy_x_2
-	happy_x_1
-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> 
-	case happyOut230 happy_x_2 of { happy_var_2 -> 
-	happyIn158
-		 (PostOp          (happy_var_1 <> happy_var_2)          happy_var_1 happy_var_2
-	)}}
-
-happyReduce_381 = happySpecReduce_3  144# happyReduction_381
-happyReduction_381 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrowTail) -> 
-	case happyOut158 happy_x_3 of { happy_var_3 -> 
-	happyIn158
-		 (LeftArrApp      (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_382 = happySpecReduce_3  144# happyReduction_382
-happyReduction_382 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrowTail) -> 
-	case happyOut158 happy_x_3 of { happy_var_3 -> 
-	happyIn158
-		 (RightArrApp     (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_383 = happySpecReduce_3  144# happyReduction_383
-happyReduction_383 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftDblArrowTail) -> 
-	case happyOut158 happy_x_3 of { happy_var_3 -> 
-	happyIn158
-		 (LeftArrHighApp  (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_384 = happySpecReduce_3  144# happyReduction_384
-happyReduction_384 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightDblArrowTail) -> 
-	case happyOut158 happy_x_3 of { happy_var_3 -> 
-	happyIn158
-		 (RightArrHighApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_385 = happySpecReduce_1  145# happyReduction_385
-happyReduction_385 happy_x_1
-	 =  case happyOut160 happy_x_1 of { happy_var_1 -> 
-	happyIn159
-		 (happy_var_1
-	)}
-
-happyReduce_386 = happySpecReduce_1  145# happyReduction_386
-happyReduction_386 happy_x_1
-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> 
-	happyIn159
-		 (happy_var_1
-	)}
-
-happyReduce_387 = happySpecReduce_3  146# happyReduction_387
-happyReduction_387 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> 
-	case happyOut230 happy_x_2 of { happy_var_2 -> 
-	case happyOut162 happy_x_3 of { happy_var_3 -> 
-	happyIn160
-		 (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
-	)}}}
-
-happyReduce_388 = happySpecReduce_1  146# happyReduction_388
-happyReduction_388 happy_x_1
-	 =  case happyOut162 happy_x_1 of { happy_var_1 -> 
-	happyIn160
-		 (happy_var_1
-	)}
-
-happyReduce_389 = happySpecReduce_3  147# happyReduction_389
-happyReduction_389 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut161 happy_x_1 of { happy_var_1 -> 
-	case happyOut230 happy_x_2 of { happy_var_2 -> 
-	case happyOut165 happy_x_3 of { happy_var_3 -> 
-	happyIn161
-		 (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
-	)}}}
-
-happyReduce_390 = happySpecReduce_1  147# happyReduction_390
-happyReduction_390 happy_x_1
-	 =  case happyOut165 happy_x_1 of { happy_var_1 -> 
-	happyIn161
-		 (happy_var_1
-	)}
-
-happyReduce_391 = happyReduce 4# 148# happyReduction_391
-happyReduction_391 (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 happyOut168 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> 
-	case happyOut158 happy_x_4 of { happy_var_4 -> 
-	happyIn162
-		 (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_392 = happyReduce 4# 148# happyReduction_392
-happyReduction_392 (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 happyOut79 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_In) -> 
-	case happyOut158 happy_x_4 of { happy_var_4 -> 
-	happyIn162
-		 (Let    (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3])    happy_var_2 happy_var_4
-	) `HappyStk` happyRest}}}}
-
-happyReduce_393 = happyReduce 8# 148# happyReduction_393
-happyReduction_393 (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 happyOut158 happy_x_2 of { happy_var_2 -> 
-	case happyOut163 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 KW_Then) -> 
-	case happyOut158 happy_x_5 of { happy_var_5 -> 
-	case happyOut163 happy_x_6 of { happy_var_6 -> 
-	case happyOutTok happy_x_7 of { (Loc happy_var_7 KW_Else) -> 
-	case happyOut158 happy_x_8 of { happy_var_8 -> 
-	happyIn162
-		 (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_394 = happyMonadReduce 2# 148# happyReduction_394
-happyReduction_394 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> 
-	case happyOut205 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 (happyIn162 r))
-
-happyReduce_395 = happyReduce 4# 148# happyReduction_395
-happyReduction_395 (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 happyOut169 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> 
-	case happyOut158 happy_x_4 of { happy_var_4 -> 
-	happyIn162
-		 (Proc   (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3])    happy_var_2 happy_var_4
-	) `HappyStk` happyRest}}}}
-
-happyReduce_396 = happySpecReduce_1  148# happyReduction_396
-happyReduction_396 happy_x_1
-	 =  case happyOut166 happy_x_1 of { happy_var_1 -> 
-	happyIn162
-		 (happy_var_1
-	)}
-
-happyReduce_397 = happyMonadReduce 1# 149# happyReduction_397
-happyReduction_397 (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 (happyIn163 r))
-
-happyReduce_398 = happySpecReduce_0  149# happyReduction_398
-happyReduction_398  =  happyIn163
-		 ([]
-	)
-
-happyReduce_399 = happySpecReduce_1  150# happyReduction_399
-happyReduction_399 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> 
-	happyIn164
-		 ([happy_var_1]
-	)}
-
-happyReduce_400 = happySpecReduce_0  150# happyReduction_400
-happyReduction_400  =  happyIn164
-		 ([]
-	)
-
-happyReduce_401 = happyReduce 4# 151# happyReduction_401
-happyReduction_401 (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 happyOut158 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_Of) -> 
-	case happyOut197 happy_x_4 of { happy_var_4 -> 
-	happyIn165
-		 (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_402 = happyMonadReduce 3# 151# happyReduction_402
-happyReduction_402 (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 happyOut197 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 (happyIn165 r))
-
-happyReduce_403 = happySpecReduce_2  151# happyReduction_403
-happyReduction_403 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> 
-	case happyOut167 happy_x_2 of { happy_var_2 -> 
-	happyIn165
-		 (NegApp (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
-	)}}
-
-happyReduce_404 = happySpecReduce_2  151# happyReduction_404
-happyReduction_404 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> 
-	case happyOut208 happy_x_2 of { happy_var_2 -> 
-	happyIn165
-		 (let (sts, inf, ss) = happy_var_2 in Do   (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts
-	)}}
-
-happyReduce_405 = happySpecReduce_2  151# happyReduction_405
-happyReduction_405 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> 
-	case happyOut208 happy_x_2 of { happy_var_2 -> 
-	happyIn165
-		 (let (sts, inf, ss) = happy_var_2 in MDo  (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts
-	)}}
-
-happyReduce_406 = happySpecReduce_1  151# happyReduction_406
-happyReduction_406 happy_x_1
-	 =  case happyOut167 happy_x_1 of { happy_var_1 -> 
-	happyIn165
-		 (happy_var_1
-	)}
-
-happyReduce_407 = happyReduce 4# 152# happyReduction_407
-happyReduction_407 (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 happyOut158 happy_x_4 of { happy_var_4 -> 
-	happyIn166
-		 (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_408 = happyReduce 4# 152# happyReduction_408
-happyReduction_408 (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 happyOut158 happy_x_4 of { happy_var_4 -> 
-	happyIn166
-		 (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_409 = happyReduce 11# 152# happyReduction_409
-happyReduction_409 (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 happyOut158 happy_x_11 of { happy_var_11 -> 
-	happyIn166
-		 (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_410 = happySpecReduce_2  153# happyReduction_410
-happyReduction_410 happy_x_2
-	happy_x_1
-	 =  case happyOut167 happy_x_1 of { happy_var_1 -> 
-	case happyOut170 happy_x_2 of { happy_var_2 -> 
-	happyIn167
-		 (App (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2
-	)}}
-
-happyReduce_411 = happySpecReduce_1  153# happyReduction_411
-happyReduction_411 happy_x_1
-	 =  case happyOut170 happy_x_1 of { happy_var_1 -> 
-	happyIn167
-		 (happy_var_1
-	)}
-
-happyReduce_412 = happySpecReduce_2  154# happyReduction_412
-happyReduction_412 happy_x_2
-	happy_x_1
-	 =  case happyOut168 happy_x_1 of { happy_var_1 -> 
-	case happyOut169 happy_x_2 of { happy_var_2 -> 
-	happyIn168
-		 (happy_var_2 : happy_var_1
-	)}}
-
-happyReduce_413 = happySpecReduce_1  154# happyReduction_413
-happyReduction_413 happy_x_1
-	 =  case happyOut169 happy_x_1 of { happy_var_1 -> 
-	happyIn168
-		 ([happy_var_1]
-	)}
-
-happyReduce_414 = happyMonadReduce 1# 155# happyReduction_414
-happyReduction_414 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut170 happy_x_1 of { happy_var_1 -> 
-	( checkPattern happy_var_1)}
-	) (\r -> happyReturn (happyIn169 r))
-
-happyReduce_415 = happyMonadReduce 2# 155# happyReduction_415
-happyReduction_415 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> 
-	case happyOut170 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 (happyIn169 r))
-
-happyReduce_416 = happyMonadReduce 3# 156# happyReduction_416
-happyReduction_416 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut220 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 At) -> 
-	case happyOut170 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 (happyIn170 r))
-
-happyReduce_417 = happyMonadReduce 3# 156# happyReduction_417
-happyReduction_417 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut220 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 RPCAt) -> 
-	case happyOut170 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 (happyIn170 r))
-
-happyReduce_418 = happySpecReduce_2  156# happyReduction_418
-happyReduction_418 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Tilde) -> 
-	case happyOut170 happy_x_2 of { happy_var_2 -> 
-	happyIn170
-		 (IrrPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
-	)}}
-
-happyReduce_419 = happySpecReduce_1  156# happyReduction_419
-happyReduction_419 happy_x_1
-	 =  case happyOut171 happy_x_1 of { happy_var_1 -> 
-	happyIn170
-		 (happy_var_1
-	)}
-
-happyReduce_420 = happyMonadReduce 3# 157# happyReduction_420
-happyReduction_420 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut171 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 (happyIn171 r))
-
-happyReduce_421 = happyMonadReduce 4# 157# happyReduction_421
-happyReduction_421 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut171 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> 
-	case happyOut212 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 (happyIn171 r))
-
-happyReduce_422 = happySpecReduce_1  157# happyReduction_422
-happyReduction_422 happy_x_1
-	 =  case happyOut172 happy_x_1 of { happy_var_1 -> 
-	happyIn171
-		 (happy_var_1
-	)}
-
-happyReduce_423 = happySpecReduce_1  158# happyReduction_423
-happyReduction_423 happy_x_1
-	 =  case happyOut221 happy_x_1 of { happy_var_1 -> 
-	happyIn172
-		 (IPVar (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_424 = happySpecReduce_1  158# happyReduction_424
-happyReduction_424 happy_x_1
-	 =  case happyOut220 happy_x_1 of { happy_var_1 -> 
-	happyIn172
-		 (Var (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_425 = happySpecReduce_1  158# happyReduction_425
-happyReduction_425 happy_x_1
-	 =  case happyOut217 happy_x_1 of { happy_var_1 -> 
-	happyIn172
-		 (happy_var_1
-	)}
-
-happyReduce_426 = happySpecReduce_1  158# happyReduction_426
-happyReduction_426 happy_x_1
-	 =  case happyOut246 happy_x_1 of { happy_var_1 -> 
-	happyIn172
-		 (Lit (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_427 = happySpecReduce_3  158# happyReduction_427
-happyReduction_427 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut174 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn172
-		 (Paren (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_428 = happySpecReduce_3  158# happyReduction_428
-happyReduction_428 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut174 happy_x_2 of { happy_var_2 -> 
-	case happyOut175 happy_x_3 of { happy_var_3 -> 
-	happyIn172
-		 (TupleSection (happy_var_1 <^^> head (snd happy_var_3) <** happy_var_1:reverse (snd happy_var_3)) Boxed (Just happy_var_2 : fst happy_var_3)
-	)}}}
-
-happyReduce_429 = happyReduce 4# 158# 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 LeftParen) -> 
-	case happyOut173 happy_x_2 of { happy_var_2 -> 
-	case happyOut174 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> 
-	happyIn172
-		 (TupleSection (happy_var_1 <^^> happy_var_4 <** happy_var_1:reverse (happy_var_4:happy_var_2)) Boxed
-                                                      (replicate (length happy_var_2) Nothing ++ [Just happy_var_3])
-	) `HappyStk` happyRest}}}}
-
-happyReduce_430 = happyReduce 4# 158# happyReduction_430
-happyReduction_430 (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 happyOut173 happy_x_2 of { happy_var_2 -> 
-	case happyOut174 happy_x_3 of { happy_var_3 -> 
-	case happyOut175 happy_x_4 of { happy_var_4 -> 
-	happyIn172
-		 (TupleSection (happy_var_1 <^^> head (snd happy_var_4) <** happy_var_1:reverse (snd happy_var_4 ++ happy_var_2)) Boxed
-                                                      (replicate (length happy_var_2) Nothing ++ Just happy_var_3 : fst happy_var_4)
-	) `HappyStk` happyRest}}}}
-
-happyReduce_431 = happySpecReduce_3  158# happyReduction_431
-happyReduction_431 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> 
-	case happyOut174 happy_x_2 of { happy_var_2 -> 
-	case happyOut176 happy_x_3 of { happy_var_3 -> 
-	happyIn172
-		 (TupleSection (happy_var_1 <^^> head (snd happy_var_3) <** happy_var_1:reverse (snd happy_var_3)) Unboxed (Just happy_var_2 : fst happy_var_3)
-	)}}}
-
-happyReduce_432 = happySpecReduce_3  158# happyReduction_432
-happyReduction_432 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> 
-	case happyOut174 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> 
-	happyIn172
-		 (TupleSection (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) Unboxed [Just happy_var_2]
-	)}}}
-
-happyReduce_433 = happyReduce 4# 158# happyReduction_433
-happyReduction_433 (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 LeftHashParen) -> 
-	case happyOut173 happy_x_2 of { happy_var_2 -> 
-	case happyOut174 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightHashParen) -> 
-	happyIn172
-		 (TupleSection (happy_var_1 <^^> happy_var_4 <** happy_var_1:reverse (happy_var_4:happy_var_2)) Unboxed
-                                                      (replicate (length happy_var_2) Nothing ++ [Just happy_var_3])
-	) `HappyStk` happyRest}}}}
-
-happyReduce_434 = happyReduce 4# 158# happyReduction_434
-happyReduction_434 (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 LeftHashParen) -> 
-	case happyOut173 happy_x_2 of { happy_var_2 -> 
-	case happyOut174 happy_x_3 of { happy_var_3 -> 
-	case happyOut176 happy_x_4 of { happy_var_4 -> 
-	happyIn172
-		 (TupleSection (happy_var_1 <^^> head (snd happy_var_4) <** happy_var_1:reverse (snd happy_var_4 ++ happy_var_2)) Unboxed
-                                                      (replicate (length happy_var_2) Nothing ++ Just happy_var_3 : fst happy_var_4)
-	) `HappyStk` happyRest}}}}
-
-happyReduce_435 = happySpecReduce_3  158# happyReduction_435
-happyReduction_435 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> 
-	case happyOut188 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> 
-	happyIn172
-		 (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])
-	)}}}
-
-happyReduce_436 = happySpecReduce_3  158# happyReduction_436
-happyReduction_436 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 ParArrayLeftSquare) -> 
-	case happyOut196 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 ParArrayRightSquare) -> 
-	happyIn172
-		 (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])
-	)}}}
-
-happyReduce_437 = happySpecReduce_1  158# happyReduction_437
-happyReduction_437 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> 
-	happyIn172
-		 (WildCard (nIS happy_var_1)
-	)}
-
-happyReduce_438 = happyMonadReduce 3# 158# happyReduction_438
-happyReduction_438 (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 happyOut178 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 (happyIn172 r))
-
-happyReduce_439 = happySpecReduce_3  158# happyReduction_439
-happyReduction_439 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 RPGuardOpen) -> 
-	case happyOut177 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RPGuardClose) -> 
-	happyIn172
-		 (SeqRP (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (snd happy_var_2) ++ [happy_var_3])) $ reverse (fst happy_var_2)
-	)}}}
-
-happyReduce_440 = happyReduce 5# 158# happyReduction_440
-happyReduction_440 (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 happyOut158 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 Bar) -> 
-	case happyOut194 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (Loc happy_var_5 RPGuardClose) -> 
-	happyIn172
-		 (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_441 = happySpecReduce_1  158# happyReduction_441
-happyReduction_441 happy_x_1
-	 =  case happyOut179 happy_x_1 of { happy_var_1 -> 
-	happyIn172
-		 (happy_var_1
-	)}
-
-happyReduce_442 = happySpecReduce_1  158# happyReduction_442
-happyReduction_442 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn172
-		 (let Loc l (THIdEscape s) = happy_var_1 in SpliceExp (nIS l) $ IdSplice (nIS l) s
-	)}
-
-happyReduce_443 = happySpecReduce_3  158# happyReduction_443
-happyReduction_443 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THParenEscape) -> 
-	case happyOut157 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn172
-		 (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in SpliceExp l $ ParenSplice l happy_var_2
-	)}}}
-
-happyReduce_444 = happySpecReduce_3  158# happyReduction_444
-happyReduction_444 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THExpQuote) -> 
-	case happyOut157 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> 
-	happyIn172
-		 (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in BracketExp l $ ExpBracket l happy_var_2
-	)}}}
-
-happyReduce_445 = happyMonadReduce 3# 158# happyReduction_445
-happyReduction_445 (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 happyOut159 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 (happyIn172 r))
-
-happyReduce_446 = happySpecReduce_3  158# happyReduction_446
-happyReduction_446 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THTypQuote) -> 
-	case happyOut107 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> 
-	happyIn172
-		 (let l = happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3] in BracketExp l $ TypeBracket l happy_var_2
-	)}}}
-
-happyReduce_447 = happyReduce 5# 158# happyReduction_447
-happyReduction_447 (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 happyOut247 happy_x_2 of { happy_var_2 -> 
-	case happyOut53 happy_x_3 of { happy_var_3 -> 
-	case happyOut248 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (Loc happy_var_5 THCloseQuote) -> 
-	happyIn172
-		 (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_448 = happySpecReduce_2  158# happyReduction_448
-happyReduction_448 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> 
-	case happyOut220 happy_x_2 of { happy_var_2 -> 
-	happyIn172
-		 (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
-	)}}
-
-happyReduce_449 = happySpecReduce_2  158# happyReduction_449
-happyReduction_449 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> 
-	case happyOut223 happy_x_2 of { happy_var_2 -> 
-	happyIn172
-		 (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
-	)}}
-
-happyReduce_450 = happySpecReduce_2  158# happyReduction_450
-happyReduction_450 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THTyQuote) -> 
-	case happyOut259 happy_x_2 of { happy_var_2 -> 
-	happyIn172
-		 (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) (UnQual (ann happy_var_2) happy_var_2)
-	)}}
-
-happyReduce_451 = happySpecReduce_2  158# happyReduction_451
-happyReduction_451 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THTyQuote) -> 
-	case happyOut104 happy_x_2 of { happy_var_2 -> 
-	happyIn172
-		 (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
-	)}}
-
-happyReduce_452 = happySpecReduce_1  158# happyReduction_452
-happyReduction_452 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn172
-		 (let Loc l (THQuasiQuote (n,q)) = happy_var_1 in QuasiQuote (nIS l) n q
-	)}
-
-happyReduce_453 = happySpecReduce_2  159# happyReduction_453
-happyReduction_453 happy_x_2
-	happy_x_1
-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	happyIn173
-		 (happy_var_2 : happy_var_1
-	)}}
-
-happyReduce_454 = happySpecReduce_1  159# happyReduction_454
-happyReduction_454 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Comma) -> 
-	happyIn173
-		 ([happy_var_1]
-	)}
-
-happyReduce_455 = happySpecReduce_1  160# happyReduction_455
-happyReduction_455 happy_x_1
-	 =  case happyOut158 happy_x_1 of { happy_var_1 -> 
-	happyIn174
-		 (happy_var_1
-	)}
-
-happyReduce_456 = happySpecReduce_2  160# happyReduction_456
-happyReduction_456 happy_x_2
-	happy_x_1
-	 =  case happyOut231 happy_x_1 of { happy_var_1 -> 
-	case happyOut159 happy_x_2 of { happy_var_2 -> 
-	happyIn174
-		 (PreOp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2
-	)}}
-
-happyReduce_457 = happyMonadReduce 3# 160# happyReduction_457
-happyReduction_457 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut158 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> 
-	case happyOut204 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 (happyIn174 r))
-
-happyReduce_458 = happySpecReduce_3  161# happyReduction_458
-happyReduction_458 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> 
-	case happyOut174 happy_x_2 of { happy_var_2 -> 
-	case happyOut175 happy_x_3 of { happy_var_3 -> 
-	happyIn175
-		 (let (mes, ss) = happy_var_3 in (replicate (length happy_var_1 - 1) Nothing ++ Just happy_var_2 : mes, ss ++ happy_var_1)
-	)}}}
-
-happyReduce_459 = happySpecReduce_3  161# happyReduction_459
-happyReduction_459 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> 
-	case happyOut174 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn175
-		 ((replicate (length happy_var_1 - 1) Nothing ++ [Just happy_var_2], happy_var_3 : happy_var_1)
-	)}}}
-
-happyReduce_460 = happySpecReduce_2  161# happyReduction_460
-happyReduction_460 happy_x_2
-	happy_x_1
-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> 
-	happyIn175
-		 ((replicate (length happy_var_1) Nothing, happy_var_2 : happy_var_1)
-	)}}
-
-happyReduce_461 = happySpecReduce_3  162# happyReduction_461
-happyReduction_461 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> 
-	case happyOut174 happy_x_2 of { happy_var_2 -> 
-	case happyOut176 happy_x_3 of { happy_var_3 -> 
-	happyIn176
-		 (let (mes, ss) = happy_var_3 in (replicate (length happy_var_1 - 1) Nothing ++ Just happy_var_2 : mes, ss ++ happy_var_1)
-	)}}}
-
-happyReduce_462 = happySpecReduce_3  162# happyReduction_462
-happyReduction_462 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> 
-	case happyOut174 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> 
-	happyIn176
-		 ((replicate (length happy_var_1 - 1) Nothing ++ [Just happy_var_2], happy_var_3 : happy_var_1)
-	)}}}
-
-happyReduce_463 = happySpecReduce_2  162# happyReduction_463
-happyReduction_463 happy_x_2
-	happy_x_1
-	 =  case happyOut173 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> 
-	happyIn176
-		 ((replicate (length happy_var_1) Nothing, happy_var_2 : happy_var_1)
-	)}}
-
-happyReduce_464 = happySpecReduce_3  163# happyReduction_464
-happyReduction_464 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut177 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut158 happy_x_3 of { happy_var_3 -> 
-	happyIn177
-		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
-	)}}}
-
-happyReduce_465 = happySpecReduce_1  163# happyReduction_465
-happyReduction_465 happy_x_1
-	 =  case happyOut158 happy_x_1 of { happy_var_1 -> 
-	happyIn177
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_466 = happySpecReduce_3  164# happyReduction_466
-happyReduction_466 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut158 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> 
-	case happyOut178 happy_x_3 of { happy_var_3 -> 
-	happyIn178
-		 (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_467 = happySpecReduce_3  164# happyReduction_467
-happyReduction_467 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut158 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> 
-	case happyOut158 happy_x_3 of { happy_var_3 -> 
-	happyIn178
-		 (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_468 = happyMonadReduce 10# 165# happyReduction_468
-happyReduction_468 (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 happyOut182 happy_x_2 of { happy_var_2 -> 
-	case happyOut185 happy_x_3 of { happy_var_3 -> 
-	case happyOut187 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (Loc happy_var_5 XStdTagClose) -> 
-	case happyOut180 happy_x_6 of { happy_var_6 -> 
-	case happyOut164 happy_x_7 of { happy_var_7 -> 
-	case happyOutTok happy_x_8 of { (Loc happy_var_8 XCloseTagOpen) -> 
-	case happyOut182 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 (happyIn179 r))
-
-happyReduce_469 = happyReduce 5# 165# happyReduction_469
-happyReduction_469 (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 happyOut182 happy_x_2 of { happy_var_2 -> 
-	case happyOut185 happy_x_3 of { happy_var_3 -> 
-	case happyOut187 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (Loc happy_var_5 XEmptyTagClose) -> 
-	happyIn179
-		 (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_470 = happySpecReduce_3  165# happyReduction_470
-happyReduction_470 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 XCodeTagOpen) -> 
-	case happyOut158 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 XCodeTagClose) -> 
-	happyIn179
-		 (XExpTag (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_471 = happyReduce 5# 165# happyReduction_471
-happyReduction_471 (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 happyOut180 happy_x_2 of { happy_var_2 -> 
-	case happyOut164 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) -> 
-	happyIn179
-		 (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_472 = happySpecReduce_2  166# happyReduction_472
-happyReduction_472 happy_x_2
-	happy_x_1
-	 =  case happyOut180 happy_x_1 of { happy_var_1 -> 
-	case happyOut181 happy_x_2 of { happy_var_2 -> 
-	happyIn180
-		 (happy_var_2 : happy_var_1
-	)}}
-
-happyReduce_473 = happySpecReduce_0  166# happyReduction_473
-happyReduction_473  =  happyIn180
-		 ([]
-	)
-
-happyReduce_474 = happySpecReduce_1  167# happyReduction_474
-happyReduction_474 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn181
-		 (let Loc l (XPCDATA pcd) = happy_var_1 in XPcdata (nIS l) pcd
-	)}
-
-happyReduce_475 = happySpecReduce_3  167# happyReduction_475
-happyReduction_475 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 XRPatOpen) -> 
-	case happyOut177 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 XRPatClose) -> 
-	happyIn181
-		 (XRPats (happy_var_1 <^^> happy_var_3 <** (snd happy_var_2 ++ [happy_var_1,happy_var_3])) $ reverse (fst happy_var_2)
-	)}}}
-
-happyReduce_476 = happySpecReduce_1  167# happyReduction_476
-happyReduction_476 happy_x_1
-	 =  case happyOut179 happy_x_1 of { happy_var_1 -> 
-	happyIn181
-		 (happy_var_1
-	)}
-
-happyReduce_477 = happySpecReduce_3  168# happyReduction_477
-happyReduction_477 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut183 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Colon) -> 
-	case happyOut183 happy_x_3 of { happy_var_3 -> 
-	happyIn182
-		 (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_478 = happySpecReduce_1  168# happyReduction_478
-happyReduction_478 happy_x_1
-	 =  case happyOut183 happy_x_1 of { happy_var_1 -> 
-	happyIn182
-		 (let Loc l str = happy_var_1 in XName (nIS l) str
-	)}
-
-happyReduce_479 = happySpecReduce_1  169# happyReduction_479
-happyReduction_479 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn183
-		 (let Loc l (VarId  s) = happy_var_1 in Loc l s
-	)}
-
-happyReduce_480 = happySpecReduce_1  169# happyReduction_480
-happyReduction_480 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn183
-		 (let Loc l (ConId  s) = happy_var_1 in Loc l s
-	)}
-
-happyReduce_481 = happySpecReduce_1  169# happyReduction_481
-happyReduction_481 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn183
-		 (let Loc l (DVarId s) = happy_var_1 in Loc l $ mkDVar s
-	)}
-
-happyReduce_482 = happySpecReduce_1  169# happyReduction_482
-happyReduction_482 happy_x_1
-	 =  case happyOut184 happy_x_1 of { happy_var_1 -> 
-	happyIn183
-		 (happy_var_1
-	)}
-
-happyReduce_483 = happySpecReduce_1  170# happyReduction_483
-happyReduction_483 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> 
-	happyIn184
-		 (Loc happy_var_1 "type"
-	)}
-
-happyReduce_484 = happySpecReduce_1  170# happyReduction_484
-happyReduction_484 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Class) -> 
-	happyIn184
-		 (Loc happy_var_1 "class"
-	)}
-
-happyReduce_485 = happySpecReduce_1  170# happyReduction_485
-happyReduction_485 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> 
-	happyIn184
-		 (Loc happy_var_1 "data"
-	)}
-
-happyReduce_486 = happySpecReduce_1  170# happyReduction_486
-happyReduction_486 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> 
-	happyIn184
-		 (Loc happy_var_1 "foreign"
-	)}
-
-happyReduce_487 = happySpecReduce_1  170# happyReduction_487
-happyReduction_487 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Export) -> 
-	happyIn184
-		 (Loc happy_var_1 "export"
-	)}
-
-happyReduce_488 = happySpecReduce_1  170# happyReduction_488
-happyReduction_488 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> 
-	happyIn184
-		 (Loc happy_var_1 "safe"
-	)}
-
-happyReduce_489 = happySpecReduce_1  170# happyReduction_489
-happyReduction_489 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> 
-	happyIn184
-		 (Loc happy_var_1 "unsafe"
-	)}
-
-happyReduce_490 = happySpecReduce_1  170# happyReduction_490
-happyReduction_490 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> 
-	happyIn184
-		 (Loc happy_var_1 "interruptible"
-	)}
-
-happyReduce_491 = happySpecReduce_1  170# happyReduction_491
-happyReduction_491 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> 
-	happyIn184
-		 (Loc happy_var_1 "threadsafe"
-	)}
-
-happyReduce_492 = happySpecReduce_1  170# happyReduction_492
-happyReduction_492 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> 
-	happyIn184
-		 (Loc happy_var_1 "stdcall"
-	)}
-
-happyReduce_493 = happySpecReduce_1  170# happyReduction_493
-happyReduction_493 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> 
-	happyIn184
-		 (Loc happy_var_1 "ccall"
-	)}
-
-happyReduce_494 = happySpecReduce_1  170# happyReduction_494
-happyReduction_494 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> 
-	happyIn184
-		 (Loc happy_var_1 "cplusplus"
-	)}
-
-happyReduce_495 = happySpecReduce_1  170# happyReduction_495
-happyReduction_495 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> 
-	happyIn184
-		 (Loc happy_var_1 "dotnet"
-	)}
-
-happyReduce_496 = happySpecReduce_1  170# happyReduction_496
-happyReduction_496 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> 
-	happyIn184
-		 (Loc happy_var_1 "jvm"
-	)}
-
-happyReduce_497 = happySpecReduce_1  170# happyReduction_497
-happyReduction_497 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> 
-	happyIn184
-		 (Loc happy_var_1 "js"
-	)}
-
-happyReduce_498 = happySpecReduce_1  170# happyReduction_498
-happyReduction_498 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> 
-	happyIn184
-		 (Loc happy_var_1 "javascript"
-	)}
-
-happyReduce_499 = happySpecReduce_1  170# happyReduction_499
-happyReduction_499 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> 
-	happyIn184
-		 (Loc happy_var_1 "capi"
-	)}
-
-happyReduce_500 = happySpecReduce_1  170# happyReduction_500
-happyReduction_500 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> 
-	happyIn184
-		 (Loc happy_var_1 "as"
-	)}
-
-happyReduce_501 = happySpecReduce_1  170# happyReduction_501
-happyReduction_501 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_By) -> 
-	happyIn184
-		 (Loc happy_var_1 "by"
-	)}
-
-happyReduce_502 = happySpecReduce_1  170# happyReduction_502
-happyReduction_502 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Case) -> 
-	happyIn184
-		 (Loc happy_var_1 "case"
-	)}
-
-happyReduce_503 = happySpecReduce_1  170# happyReduction_503
-happyReduction_503 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> 
-	happyIn184
-		 (Loc happy_var_1 "default"
-	)}
-
-happyReduce_504 = happySpecReduce_1  170# happyReduction_504
-happyReduction_504 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> 
-	happyIn184
-		 (Loc happy_var_1 "deriving"
-	)}
-
-happyReduce_505 = happySpecReduce_1  170# happyReduction_505
-happyReduction_505 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> 
-	happyIn184
-		 (Loc happy_var_1 "do"
-	)}
-
-happyReduce_506 = happySpecReduce_1  170# happyReduction_506
-happyReduction_506 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Else) -> 
-	happyIn184
-		 (Loc happy_var_1 "else"
-	)}
-
-happyReduce_507 = happySpecReduce_1  170# happyReduction_507
-happyReduction_507 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> 
-	happyIn184
-		 (Loc happy_var_1 "family"
-	)}
-
-happyReduce_508 = happySpecReduce_1  170# happyReduction_508
-happyReduction_508 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> 
-	happyIn184
-		 (Loc happy_var_1 "forall"
-	)}
-
-happyReduce_509 = happySpecReduce_1  170# happyReduction_509
-happyReduction_509 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Group) -> 
-	happyIn184
-		 (Loc happy_var_1 "group"
-	)}
-
-happyReduce_510 = happySpecReduce_1  170# happyReduction_510
-happyReduction_510 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> 
-	happyIn184
-		 (Loc happy_var_1 "hiding"
-	)}
-
-happyReduce_511 = happySpecReduce_1  170# happyReduction_511
-happyReduction_511 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> 
-	happyIn184
-		 (Loc happy_var_1 "if"
-	)}
-
-happyReduce_512 = happySpecReduce_1  170# happyReduction_512
-happyReduction_512 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Import) -> 
-	happyIn184
-		 (Loc happy_var_1 "import"
-	)}
-
-happyReduce_513 = happySpecReduce_1  170# happyReduction_513
-happyReduction_513 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_In) -> 
-	happyIn184
-		 (Loc happy_var_1 "in"
-	)}
-
-happyReduce_514 = happySpecReduce_1  170# happyReduction_514
-happyReduction_514 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Infix) -> 
-	happyIn184
-		 (Loc happy_var_1 "infix"
-	)}
-
-happyReduce_515 = happySpecReduce_1  170# happyReduction_515
-happyReduction_515 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixL) -> 
-	happyIn184
-		 (Loc happy_var_1 "infixl"
-	)}
-
-happyReduce_516 = happySpecReduce_1  170# happyReduction_516
-happyReduction_516 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixR) -> 
-	happyIn184
-		 (Loc happy_var_1 "infixr"
-	)}
-
-happyReduce_517 = happySpecReduce_1  170# happyReduction_517
-happyReduction_517 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Instance) -> 
-	happyIn184
-		 (Loc happy_var_1 "instance"
-	)}
-
-happyReduce_518 = happySpecReduce_1  170# happyReduction_518
-happyReduction_518 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> 
-	happyIn184
-		 (Loc happy_var_1 "let"
-	)}
-
-happyReduce_519 = happySpecReduce_1  170# happyReduction_519
-happyReduction_519 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> 
-	happyIn184
-		 (Loc happy_var_1 "mdo"
-	)}
-
-happyReduce_520 = happySpecReduce_1  170# happyReduction_520
-happyReduction_520 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> 
-	happyIn184
-		 (Loc happy_var_1 "module"
-	)}
-
-happyReduce_521 = happySpecReduce_1  170# happyReduction_521
-happyReduction_521 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> 
-	happyIn184
-		 (Loc happy_var_1 "newtype"
-	)}
-
-happyReduce_522 = happySpecReduce_1  170# happyReduction_522
-happyReduction_522 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Of) -> 
-	happyIn184
-		 (Loc happy_var_1 "of"
-	)}
-
-happyReduce_523 = happySpecReduce_1  170# happyReduction_523
-happyReduction_523 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Proc) -> 
-	happyIn184
-		 (Loc happy_var_1 "proc"
-	)}
-
-happyReduce_524 = happySpecReduce_1  170# happyReduction_524
-happyReduction_524 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> 
-	happyIn184
-		 (Loc happy_var_1 "rec"
-	)}
-
-happyReduce_525 = happySpecReduce_1  170# happyReduction_525
-happyReduction_525 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> 
-	happyIn184
-		 (Loc happy_var_1 "then"
-	)}
-
-happyReduce_526 = happySpecReduce_1  170# happyReduction_526
-happyReduction_526 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Using) -> 
-	happyIn184
-		 (Loc happy_var_1 "using"
-	)}
-
-happyReduce_527 = happySpecReduce_1  170# happyReduction_527
-happyReduction_527 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> 
-	happyIn184
-		 (Loc happy_var_1 "where"
-	)}
-
-happyReduce_528 = happySpecReduce_1  170# happyReduction_528
-happyReduction_528 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> 
-	happyIn184
-		 (Loc happy_var_1 "qualified"
-	)}
-
-happyReduce_529 = happySpecReduce_2  171# happyReduction_529
-happyReduction_529 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_530 = happySpecReduce_0  171# happyReduction_530
-happyReduction_530  =  happyIn185
-		 ([]
-	)
-
-happyReduce_531 = happySpecReduce_3  172# happyReduction_531
-happyReduction_531 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut182 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> 
-	case happyOut170 happy_x_3 of { happy_var_3 -> 
-	happyIn186
-		 (XAttr (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_532 = happySpecReduce_1  173# happyReduction_532
-happyReduction_532 happy_x_1
-	 =  case happyOut170 happy_x_1 of { happy_var_1 -> 
-	happyIn187
-		 (Just happy_var_1
-	)}
-
-happyReduce_533 = happySpecReduce_0  173# happyReduction_533
-happyReduction_533  =  happyIn187
-		 (Nothing
-	)
-
-happyReduce_534 = happySpecReduce_1  174# happyReduction_534
-happyReduction_534 happy_x_1
-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
-	happyIn188
-		 (\l -> List l [happy_var_1]
-	)}
-
-happyReduce_535 = happySpecReduce_1  174# happyReduction_535
-happyReduction_535 happy_x_1
-	 =  case happyOut189 happy_x_1 of { happy_var_1 -> 
-	happyIn188
-		 (\l -> let (ps,ss) = happy_var_1 in List (l <** reverse ss) (reverse ps)
-	)}
-
-happyReduce_536 = happySpecReduce_2  174# happyReduction_536
-happyReduction_536 happy_x_2
-	happy_x_1
-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> 
-	happyIn188
-		 (\l -> EnumFrom       (l <** [happy_var_2]) happy_var_1
-	)}}
-
-happyReduce_537 = happyReduce 4# 174# happyReduction_537
-happyReduction_537 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut174 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut158 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> 
-	happyIn188
-		 (\l -> EnumFromThen   (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3
-	) `HappyStk` happyRest}}}}
-
-happyReduce_538 = happySpecReduce_3  174# happyReduction_538
-happyReduction_538 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> 
-	case happyOut158 happy_x_3 of { happy_var_3 -> 
-	happyIn188
-		 (\l -> EnumFromTo     (l <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_539 = happyReduce 5# 174# happyReduction_539
-happyReduction_539 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut174 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut158 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> 
-	case happyOut158 happy_x_5 of { happy_var_5 -> 
-	happyIn188
-		 (\l -> EnumFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5
-	) `HappyStk` happyRest}}}}}
-
-happyReduce_540 = happySpecReduce_3  174# happyReduction_540
-happyReduction_540 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> 
-	case happyOut190 happy_x_3 of { happy_var_3 -> 
-	happyIn188
-		 (\l -> let (stss, ss) = happy_var_3 in ParComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)
-	)}}}
-
-happyReduce_541 = happySpecReduce_3  175# happyReduction_541
-happyReduction_541 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut189 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut174 happy_x_3 of { happy_var_3 -> 
-	happyIn189
-		 (let (es, ss) = happy_var_1 in (happy_var_3 : es, happy_var_2 : ss)
-	)}}}
-
-happyReduce_542 = happySpecReduce_3  175# happyReduction_542
-happyReduction_542 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut174 happy_x_3 of { happy_var_3 -> 
-	happyIn189
-		 (([happy_var_3,happy_var_1], [happy_var_2])
-	)}}}
-
-happyReduce_543 = happySpecReduce_3  176# happyReduction_543
-happyReduction_543 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut190 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> 
-	case happyOut191 happy_x_3 of { happy_var_3 -> 
-	happyIn190
-		 (let { (stss, ss1) = happy_var_1;
-                                              (sts, ss2) = happy_var_3 }
-                                         in (reverse sts : stss, ss1 ++ [happy_var_2] ++ reverse ss2)
-	)}}}
-
-happyReduce_544 = happySpecReduce_1  176# happyReduction_544
-happyReduction_544 happy_x_1
-	 =  case happyOut191 happy_x_1 of { happy_var_1 -> 
-	happyIn190
-		 (let (sts, ss) = happy_var_1 in ([reverse sts], reverse ss)
-	)}
-
-happyReduce_545 = happySpecReduce_3  177# happyReduction_545
-happyReduction_545 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut191 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut192 happy_x_3 of { happy_var_3 -> 
-	happyIn191
-		 (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)
-	)}}}
-
-happyReduce_546 = happySpecReduce_1  177# happyReduction_546
-happyReduction_546 happy_x_1
-	 =  case happyOut192 happy_x_1 of { happy_var_1 -> 
-	happyIn191
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_547 = happySpecReduce_1  178# happyReduction_547
-happyReduction_547 happy_x_1
-	 =  case happyOut193 happy_x_1 of { happy_var_1 -> 
-	happyIn192
-		 (happy_var_1
-	)}
-
-happyReduce_548 = happySpecReduce_1  178# happyReduction_548
-happyReduction_548 happy_x_1
-	 =  case happyOut195 happy_x_1 of { happy_var_1 -> 
-	happyIn192
-		 (QualStmt (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_549 = happySpecReduce_2  179# happyReduction_549
-happyReduction_549 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> 
-	case happyOut157 happy_x_2 of { happy_var_2 -> 
-	happyIn193
-		 (ThenTrans    (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
-	)}}
-
-happyReduce_550 = happyReduce 4# 179# happyReduction_550
-happyReduction_550 (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 happyOut157 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> 
-	case happyOut157 happy_x_4 of { happy_var_4 -> 
-	happyIn193
-		 (ThenBy       (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4
-	) `HappyStk` happyRest}}}}
-
-happyReduce_551 = happyReduce 4# 179# happyReduction_551
-happyReduction_551 (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 happyOut157 happy_x_4 of { happy_var_4 -> 
-	happyIn193
-		 (GroupBy      (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4
-	) `HappyStk` happyRest}}}}
-
-happyReduce_552 = happyReduce 4# 179# happyReduction_552
-happyReduction_552 (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 happyOut157 happy_x_4 of { happy_var_4 -> 
-	happyIn193
-		 (GroupUsing   (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4
-	) `HappyStk` happyRest}}}}
-
-happyReduce_553 = happyReduce 6# 179# happyReduction_553
-happyReduction_553 (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 happyOut157 happy_x_4 of { happy_var_4 -> 
-	case happyOutTok happy_x_5 of { (Loc happy_var_5 KW_Using) -> 
-	case happyOut157 happy_x_6 of { happy_var_6 -> 
-	happyIn193
-		 (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_554 = happySpecReduce_3  180# happyReduction_554
-happyReduction_554 happy_x_3
-	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 Comma) -> 
-	case happyOut195 happy_x_3 of { happy_var_3 -> 
-	happyIn194
-		 (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)
-	)}}}
-
-happyReduce_555 = happySpecReduce_1  180# happyReduction_555
-happyReduction_555 happy_x_1
-	 =  case happyOut195 happy_x_1 of { happy_var_1 -> 
-	happyIn194
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_556 = happySpecReduce_3  181# happyReduction_556
-happyReduction_556 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut204 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrow) -> 
-	case happyOut157 happy_x_3 of { happy_var_3 -> 
-	happyIn195
-		 (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_557 = happySpecReduce_1  181# happyReduction_557
-happyReduction_557 happy_x_1
-	 =  case happyOut157 happy_x_1 of { happy_var_1 -> 
-	happyIn195
-		 (Qualifier (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_558 = happySpecReduce_2  181# happyReduction_558
-happyReduction_558 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> 
-	case happyOut79 happy_x_2 of { happy_var_2 -> 
-	happyIn195
-		 (LetStmt   (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
-	)}}
-
-happyReduce_559 = happySpecReduce_0  182# happyReduction_559
-happyReduction_559  =  happyIn196
-		 (\l -> ParArray l []
-	)
-
-happyReduce_560 = happySpecReduce_1  182# happyReduction_560
-happyReduction_560 happy_x_1
-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
-	happyIn196
-		 (\l -> ParArray l [happy_var_1]
-	)}
-
-happyReduce_561 = happySpecReduce_1  182# happyReduction_561
-happyReduction_561 happy_x_1
-	 =  case happyOut189 happy_x_1 of { happy_var_1 -> 
-	happyIn196
-		 (\l -> let (ps,ss) = happy_var_1 in ParArray (l <** reverse ss) (reverse ps)
-	)}
-
-happyReduce_562 = happySpecReduce_3  182# happyReduction_562
-happyReduction_562 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> 
-	case happyOut158 happy_x_3 of { happy_var_3 -> 
-	happyIn196
-		 (\l -> ParArrayFromTo     (l <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_563 = happyReduce 5# 182# happyReduction_563
-happyReduction_563 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut174 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
-	case happyOut158 happy_x_3 of { happy_var_3 -> 
-	case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> 
-	case happyOut158 happy_x_5 of { happy_var_5 -> 
-	happyIn196
-		 (\l -> ParArrayFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5
-	) `HappyStk` happyRest}}}}}
-
-happyReduce_564 = happySpecReduce_3  182# happyReduction_564
-happyReduction_564 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> 
-	case happyOut190 happy_x_3 of { happy_var_3 -> 
-	happyIn196
-		 (\l -> let (stss, ss) = happy_var_3 in ParArrayComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)
-	)}}}
-
-happyReduce_565 = happySpecReduce_3  183# happyReduction_565
-happyReduction_565 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> 
-	case happyOut198 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
-	happyIn197
-		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
-	)}}}
-
-happyReduce_566 = happySpecReduce_3  183# happyReduction_566
-happyReduction_566 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut247 happy_x_1 of { happy_var_1 -> 
-	case happyOut198 happy_x_2 of { happy_var_2 -> 
-	case happyOut248 happy_x_3 of { happy_var_3 -> 
-	happyIn197
-		 (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_567 = happySpecReduce_3  184# happyReduction_567
-happyReduction_567 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
-	case happyOut199 happy_x_2 of { happy_var_2 -> 
-	case happyOut28 happy_x_3 of { happy_var_3 -> 
-	happyIn198
-		 ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)
-	)}}}
-
-happyReduce_568 = happySpecReduce_3  185# happyReduction_568
-happyReduction_568 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut199 happy_x_1 of { happy_var_1 -> 
-	case happyOut27 happy_x_2 of { happy_var_2 -> 
-	case happyOut200 happy_x_3 of { happy_var_3 -> 
-	happyIn199
-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)
-	)}}}
-
-happyReduce_569 = happySpecReduce_1  185# happyReduction_569
-happyReduction_569 happy_x_1
-	 =  case happyOut200 happy_x_1 of { happy_var_1 -> 
-	happyIn199
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_570 = happySpecReduce_3  186# happyReduction_570
-happyReduction_570 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut204 happy_x_1 of { happy_var_1 -> 
-	case happyOut201 happy_x_2 of { happy_var_2 -> 
-	case happyOut152 happy_x_3 of { happy_var_3 -> 
-	happyIn200
-		 (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_571 = happySpecReduce_2  187# happyReduction_571
-happyReduction_571 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 RightArrow) -> 
-	case happyOut157 happy_x_2 of { happy_var_2 -> 
-	happyIn201
-		 (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
-	)}}
-
-happyReduce_572 = happySpecReduce_1  187# happyReduction_572
-happyReduction_572 happy_x_1
-	 =  case happyOut202 happy_x_1 of { happy_var_1 -> 
-	happyIn201
-		 (GuardedRhss  (snd happy_var_1) (reverse $ fst happy_var_1)
-	)}
-
-happyReduce_573 = happySpecReduce_2  188# happyReduction_573
-happyReduction_573 happy_x_2
-	happy_x_1
-	 =  case happyOut202 happy_x_1 of { happy_var_1 -> 
-	case happyOut203 happy_x_2 of { happy_var_2 -> 
-	happyIn202
-		 ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)
-	)}}
-
-happyReduce_574 = happySpecReduce_1  188# happyReduction_574
-happyReduction_574 happy_x_1
-	 =  case happyOut203 happy_x_1 of { happy_var_1 -> 
-	happyIn202
-		 (([happy_var_1], ann happy_var_1)
-	)}
-
-happyReduce_575 = happyMonadReduce 4# 189# happyReduction_575
-happyReduction_575 (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 happyOut194 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> 
-	case happyOut157 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 (happyIn203 r))
-
-happyReduce_576 = happyMonadReduce 1# 190# happyReduction_576
-happyReduction_576 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut158 happy_x_1 of { happy_var_1 -> 
-	( checkPattern happy_var_1)}
-	) (\r -> happyReturn (happyIn204 r))
-
-happyReduce_577 = happyMonadReduce 2# 190# happyReduction_577
-happyReduction_577 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> 
-	case happyOut170 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 (happyIn204 r))
-
-happyReduce_578 = happySpecReduce_3  191# happyReduction_578
-happyReduction_578 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> 
-	case happyOut206 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
-	happyIn205
-		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
-	)}}}
-
-happyReduce_579 = happySpecReduce_3  191# happyReduction_579
-happyReduction_579 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut247 happy_x_1 of { happy_var_1 -> 
-	case happyOut206 happy_x_2 of { happy_var_2 -> 
-	case happyOut248 happy_x_3 of { happy_var_3 -> 
-	happyIn205
-		 (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_580 = happySpecReduce_3  192# happyReduction_580
-happyReduction_580 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
-	case happyOut207 happy_x_2 of { happy_var_2 -> 
-	case happyOut28 happy_x_3 of { happy_var_3 -> 
-	happyIn206
-		 ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)
-	)}}}
-
-happyReduce_581 = happySpecReduce_3  193# happyReduction_581
-happyReduction_581 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut207 happy_x_1 of { happy_var_1 -> 
-	case happyOut28 happy_x_2 of { happy_var_2 -> 
-	case happyOut203 happy_x_3 of { happy_var_3 -> 
-	happyIn207
-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)
-	)}}}
-
-happyReduce_582 = happySpecReduce_1  193# happyReduction_582
-happyReduction_582 happy_x_1
-	 =  case happyOut203 happy_x_1 of { happy_var_1 -> 
-	happyIn207
-		 (([happy_var_1], [])
-	)}
-
-happyReduce_583 = happySpecReduce_3  194# happyReduction_583
-happyReduction_583 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> 
-	case happyOut209 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
-	happyIn208
-		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
-	)}}}
-
-happyReduce_584 = happySpecReduce_3  194# happyReduction_584
-happyReduction_584 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut247 happy_x_1 of { happy_var_1 -> 
-	case happyOut209 happy_x_2 of { happy_var_2 -> 
-	case happyOut248 happy_x_3 of { happy_var_3 -> 
-	happyIn208
-		 (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_585 = happySpecReduce_2  195# happyReduction_585
-happyReduction_585 happy_x_2
-	happy_x_1
-	 =  case happyOut211 happy_x_1 of { happy_var_1 -> 
-	case happyOut210 happy_x_2 of { happy_var_2 -> 
-	happyIn209
-		 ((happy_var_1 : fst happy_var_2, snd happy_var_2)
-	)}}
-
-happyReduce_586 = happySpecReduce_2  195# happyReduction_586
-happyReduction_586 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> 
-	case happyOut209 happy_x_2 of { happy_var_2 -> 
-	happyIn209
-		 ((fst happy_var_2, happy_var_1 : snd happy_var_2)
-	)}}
-
-happyReduce_587 = happySpecReduce_0  195# happyReduction_587
-happyReduction_587  =  happyIn209
-		 (([],[])
-	)
-
-happyReduce_588 = happySpecReduce_2  196# happyReduction_588
-happyReduction_588 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> 
-	case happyOut209 happy_x_2 of { happy_var_2 -> 
-	happyIn210
-		 ((fst happy_var_2, happy_var_1 : snd happy_var_2)
-	)}}
-
-happyReduce_589 = happySpecReduce_0  196# happyReduction_589
-happyReduction_589  =  happyIn210
-		 (([],[])
-	)
-
-happyReduce_590 = happySpecReduce_2  197# happyReduction_590
-happyReduction_590 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> 
-	case happyOut79 happy_x_2 of { happy_var_2 -> 
-	happyIn211
-		 (LetStmt (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
-	)}}
-
-happyReduce_591 = happySpecReduce_3  197# happyReduction_591
-happyReduction_591 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut204 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrow) -> 
-	case happyOut157 happy_x_3 of { happy_var_3 -> 
-	happyIn211
-		 (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_592 = happySpecReduce_1  197# happyReduction_592
-happyReduction_592 happy_x_1
-	 =  case happyOut157 happy_x_1 of { happy_var_1 -> 
-	happyIn211
-		 (Qualifier (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_593 = happySpecReduce_2  197# happyReduction_593
-happyReduction_593 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> 
-	case happyOut208 happy_x_2 of { happy_var_2 -> 
-	happyIn211
-		 (let (stms,inf,ss) = happy_var_2 in RecStmt (nIS happy_var_1 <++> inf <** happy_var_1:ss) stms
-	)}}
-
-happyReduce_594 = happySpecReduce_3  198# happyReduction_594
-happyReduction_594 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut213 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 -> 
-	happyIn212
-		 (let (fbs, ss) = happy_var_3 in (happy_var_1 : fbs, happy_var_2 : ss)
-	)}}}
-
-happyReduce_595 = happySpecReduce_1  198# happyReduction_595
-happyReduction_595 happy_x_1
-	 =  case happyOut213 happy_x_1 of { happy_var_1 -> 
-	happyIn212
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_596 = happyMonadReduce 1# 198# happyReduction_596
-happyReduction_596 (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 (happyIn212 r))
-
-happyReduce_597 = happySpecReduce_3  199# happyReduction_597
-happyReduction_597 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut220 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> 
-	case happyOut158 happy_x_3 of { happy_var_3 -> 
-	happyIn213
-		 (FieldUpdate (happy_var_1 <>happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_598 = happyMonadReduce 1# 199# happyReduction_598
-happyReduction_598 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut220 happy_x_1 of { happy_var_1 -> 
-	( checkEnabled NamedFieldPuns >> checkQualOrUnQual happy_var_1 >>= return . FieldPun (ann happy_var_1))}
-	) (\r -> happyReturn (happyIn213 r))
-
-happyReduce_599 = happySpecReduce_3  200# happyReduction_599
-happyReduction_599 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
-	case happyOut215 happy_x_2 of { happy_var_2 -> 
-	case happyOut28 happy_x_3 of { happy_var_3 -> 
-	happyIn214
-		 ((reverse (fst happy_var_2), reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)
-	)}}}
-
-happyReduce_600 = happySpecReduce_3  201# happyReduction_600
-happyReduction_600 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut215 happy_x_1 of { happy_var_1 -> 
-	case happyOut27 happy_x_2 of { happy_var_2 -> 
-	case happyOut216 happy_x_3 of { happy_var_3 -> 
-	happyIn215
-		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
-	)}}}
-
-happyReduce_601 = happySpecReduce_1  201# happyReduction_601
-happyReduction_601 happy_x_1
-	 =  case happyOut216 happy_x_1 of { happy_var_1 -> 
-	happyIn215
-		 (([happy_var_1],[])
-	)}
-
-happyReduce_602 = happySpecReduce_3  202# happyReduction_602
-happyReduction_602 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut221 happy_x_1 of { happy_var_1 -> 
-	case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> 
-	case happyOut157 happy_x_3 of { happy_var_3 -> 
-	happyIn216
-		 (IPBind (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_603 = happySpecReduce_2  203# happyReduction_603
-happyReduction_603 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) -> 
-	happyIn217
-		 (p_unit_con              (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])
-	)}}
-
-happyReduce_604 = happySpecReduce_2  203# happyReduction_604
-happyReduction_604 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) -> 
-	happyIn217
-		 (List                    (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2]) []
-	)}}
-
-happyReduce_605 = happySpecReduce_3  203# happyReduction_605
-happyReduction_605 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut173 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn217
-		 (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_606 = happySpecReduce_2  203# happyReduction_606
-happyReduction_606 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) -> 
-	happyIn217
-		 (p_unboxed_singleton_con (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])
-	)}}
-
-happyReduce_607 = happySpecReduce_3  203# happyReduction_607
-happyReduction_607 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> 
-	case happyOut173 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> 
-	happyIn217
-		 (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_608 = happySpecReduce_1  203# happyReduction_608
-happyReduction_608 happy_x_1
-	 =  case happyOut223 happy_x_1 of { happy_var_1 -> 
-	happyIn217
-		 (Con (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_609 = happySpecReduce_1  204# happyReduction_609
-happyReduction_609 happy_x_1
-	 =  case happyOut235 happy_x_1 of { happy_var_1 -> 
-	happyIn218
-		 (happy_var_1
-	)}
-
-happyReduce_610 = happySpecReduce_3  204# happyReduction_610
-happyReduction_610 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut243 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn218
-		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
-	)}}}
-
-happyReduce_611 = happySpecReduce_1  205# happyReduction_611
-happyReduction_611 happy_x_1
-	 =  case happyOut234 happy_x_1 of { happy_var_1 -> 
-	happyIn219
-		 (happy_var_1
-	)}
-
-happyReduce_612 = happySpecReduce_3  205# happyReduction_612
-happyReduction_612 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut243 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn219
-		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
-	)}}}
-
-happyReduce_613 = happySpecReduce_1  206# happyReduction_613
-happyReduction_613 happy_x_1
-	 =  case happyOut233 happy_x_1 of { happy_var_1 -> 
-	happyIn220
-		 (happy_var_1
-	)}
-
-happyReduce_614 = happySpecReduce_3  206# happyReduction_614
-happyReduction_614 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut241 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn220
-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_615 = happySpecReduce_1  207# happyReduction_615
-happyReduction_615 happy_x_1
-	 =  case happyOut236 happy_x_1 of { happy_var_1 -> 
-	happyIn221
-		 (happy_var_1
-	)}
-
-happyReduce_616 = happySpecReduce_1  208# happyReduction_616
-happyReduction_616 happy_x_1
-	 =  case happyOut238 happy_x_1 of { happy_var_1 -> 
-	happyIn222
-		 (happy_var_1
-	)}
-
-happyReduce_617 = happySpecReduce_3  208# happyReduction_617
-happyReduction_617 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut240 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn222
-		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
-	)}}}
-
-happyReduce_618 = happySpecReduce_1  209# happyReduction_618
-happyReduction_618 happy_x_1
-	 =  case happyOut237 happy_x_1 of { happy_var_1 -> 
-	happyIn223
-		 (happy_var_1
-	)}
-
-happyReduce_619 = happySpecReduce_3  209# happyReduction_619
-happyReduction_619 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
-	case happyOut232 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
-	happyIn223
-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_620 = happySpecReduce_1  210# happyReduction_620
-happyReduction_620 happy_x_1
-	 =  case happyOut243 happy_x_1 of { happy_var_1 -> 
-	happyIn224
-		 (happy_var_1
-	)}
-
-happyReduce_621 = happySpecReduce_3  210# happyReduction_621
-happyReduction_621 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> 
-	case happyOut235 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
-	happyIn224
-		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
-	)}}}
-
-happyReduce_622 = happySpecReduce_1  211# happyReduction_622
-happyReduction_622 happy_x_1
-	 =  case happyOut241 happy_x_1 of { happy_var_1 -> 
-	happyIn225
-		 (happy_var_1
-	)}
-
-happyReduce_623 = happySpecReduce_3  211# happyReduction_623
-happyReduction_623 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> 
-	case happyOut233 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
-	happyIn225
-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_624 = happySpecReduce_1  212# happyReduction_624
-happyReduction_624 happy_x_1
-	 =  case happyOut242 happy_x_1 of { happy_var_1 -> 
-	happyIn226
-		 (happy_var_1
-	)}
-
-happyReduce_625 = happySpecReduce_3  212# happyReduction_625
-happyReduction_625 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> 
-	case happyOut233 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
-	happyIn226
-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_626 = happySpecReduce_1  213# happyReduction_626
-happyReduction_626 happy_x_1
-	 =  case happyOut240 happy_x_1 of { happy_var_1 -> 
-	happyIn227
-		 (happy_var_1
-	)}
-
-happyReduce_627 = happySpecReduce_3  213# happyReduction_627
-happyReduction_627 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> 
-	case happyOut238 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
-	happyIn227
-		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
-	)}}}
-
-happyReduce_628 = happySpecReduce_1  214# happyReduction_628
-happyReduction_628 happy_x_1
-	 =  case happyOut232 happy_x_1 of { happy_var_1 -> 
-	happyIn228
-		 (happy_var_1
-	)}
-
-happyReduce_629 = happySpecReduce_3  214# happyReduction_629
-happyReduction_629 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> 
-	case happyOut237 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
-	happyIn228
-		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_630 = happySpecReduce_1  215# happyReduction_630
-happyReduction_630 happy_x_1
-	 =  case happyOut224 happy_x_1 of { happy_var_1 -> 
-	happyIn229
-		 (VarOp (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_631 = happySpecReduce_1  215# happyReduction_631
-happyReduction_631 happy_x_1
-	 =  case happyOut227 happy_x_1 of { happy_var_1 -> 
-	happyIn229
-		 (ConOp (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_632 = happySpecReduce_1  216# happyReduction_632
-happyReduction_632 happy_x_1
-	 =  case happyOut225 happy_x_1 of { happy_var_1 -> 
-	happyIn230
-		 (QVarOp (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_633 = happySpecReduce_1  216# happyReduction_633
-happyReduction_633 happy_x_1
-	 =  case happyOut228 happy_x_1 of { happy_var_1 -> 
-	happyIn230
-		 (QConOp (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_634 = happySpecReduce_1  217# happyReduction_634
-happyReduction_634 happy_x_1
-	 =  case happyOut226 happy_x_1 of { happy_var_1 -> 
-	happyIn231
-		 (QVarOp (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_635 = happySpecReduce_1  217# happyReduction_635
-happyReduction_635 happy_x_1
-	 =  case happyOut228 happy_x_1 of { happy_var_1 -> 
-	happyIn231
-		 (QConOp (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_636 = happySpecReduce_1  218# happyReduction_636
-happyReduction_636 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Colon) -> 
-	happyIn232
-		 (list_cons_name (nIS happy_var_1)
-	)}
-
-happyReduce_637 = happySpecReduce_1  218# happyReduction_637
-happyReduction_637 happy_x_1
-	 =  case happyOut239 happy_x_1 of { happy_var_1 -> 
-	happyIn232
-		 (happy_var_1
-	)}
-
-happyReduce_638 = happySpecReduce_1  219# happyReduction_638
-happyReduction_638 happy_x_1
-	 =  case happyOut235 happy_x_1 of { happy_var_1 -> 
-	happyIn233
-		 (UnQual (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_639 = happySpecReduce_1  219# happyReduction_639
-happyReduction_639 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn233
-		 (let {Loc l (QVarId q) = happy_var_1; nis = nIS l}
-                                 in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))
-	)}
-
-happyReduce_640 = happySpecReduce_1  220# happyReduction_640
-happyReduction_640 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn234
-		 (let Loc l (VarId v) = happy_var_1 in Ident (nIS l) v
-	)}
-
-happyReduce_641 = happySpecReduce_1  220# happyReduction_641
-happyReduction_641 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> 
-	happyIn234
-		 (as_name         (nIS happy_var_1)
-	)}
-
-happyReduce_642 = happySpecReduce_1  220# happyReduction_642
-happyReduction_642 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> 
-	happyIn234
-		 (qualified_name  (nIS happy_var_1)
-	)}
-
-happyReduce_643 = happySpecReduce_1  220# happyReduction_643
-happyReduction_643 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> 
-	happyIn234
-		 (hiding_name     (nIS happy_var_1)
-	)}
-
-happyReduce_644 = happySpecReduce_1  220# happyReduction_644
-happyReduction_644 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Export) -> 
-	happyIn234
-		 (export_name     (nIS happy_var_1)
-	)}
-
-happyReduce_645 = happySpecReduce_1  220# happyReduction_645
-happyReduction_645 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> 
-	happyIn234
-		 (stdcall_name    (nIS happy_var_1)
-	)}
-
-happyReduce_646 = happySpecReduce_1  220# happyReduction_646
-happyReduction_646 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> 
-	happyIn234
-		 (ccall_name      (nIS happy_var_1)
-	)}
-
-happyReduce_647 = happySpecReduce_1  220# happyReduction_647
-happyReduction_647 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> 
-	happyIn234
-		 (cplusplus_name  (nIS happy_var_1)
-	)}
-
-happyReduce_648 = happySpecReduce_1  220# happyReduction_648
-happyReduction_648 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> 
-	happyIn234
-		 (dotnet_name     (nIS happy_var_1)
-	)}
-
-happyReduce_649 = happySpecReduce_1  220# happyReduction_649
-happyReduction_649 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> 
-	happyIn234
-		 (jvm_name        (nIS happy_var_1)
-	)}
-
-happyReduce_650 = happySpecReduce_1  220# happyReduction_650
-happyReduction_650 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> 
-	happyIn234
-		 (js_name         (nIS happy_var_1)
-	)}
-
-happyReduce_651 = happySpecReduce_1  220# happyReduction_651
-happyReduction_651 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> 
-	happyIn234
-		 (javascript_name (nIS happy_var_1)
-	)}
-
-happyReduce_652 = happySpecReduce_1  220# happyReduction_652
-happyReduction_652 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> 
-	happyIn234
-		 (capi_name       (nIS happy_var_1)
-	)}
-
-happyReduce_653 = happySpecReduce_1  221# happyReduction_653
-happyReduction_653 happy_x_1
-	 =  case happyOut234 happy_x_1 of { happy_var_1 -> 
-	happyIn235
-		 (happy_var_1
-	)}
-
-happyReduce_654 = happySpecReduce_1  221# happyReduction_654
-happyReduction_654 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> 
-	happyIn235
-		 (safe_name       (nIS happy_var_1)
-	)}
-
-happyReduce_655 = happySpecReduce_1  221# happyReduction_655
-happyReduction_655 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> 
-	happyIn235
-		 (unsafe_name     (nIS happy_var_1)
-	)}
-
-happyReduce_656 = happySpecReduce_1  221# happyReduction_656
-happyReduction_656 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> 
-	happyIn235
-		 (interruptible_name (nIS happy_var_1)
-	)}
-
-happyReduce_657 = happySpecReduce_1  221# happyReduction_657
-happyReduction_657 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> 
-	happyIn235
-		 (threadsafe_name (nIS happy_var_1)
-	)}
-
-happyReduce_658 = happySpecReduce_1  221# happyReduction_658
-happyReduction_658 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> 
-	happyIn235
-		 (forall_name	  (nIS happy_var_1)
-	)}
-
-happyReduce_659 = happySpecReduce_1  221# happyReduction_659
-happyReduction_659 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> 
-	happyIn235
-		 (family_name     (nIS happy_var_1)
-	)}
-
-happyReduce_660 = happySpecReduce_1  222# happyReduction_660
-happyReduction_660 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn236
-		 (let Loc l (IDupVarId i) = happy_var_1 in IPDup (nIS l) i
-	)}
-
-happyReduce_661 = happySpecReduce_1  222# happyReduction_661
-happyReduction_661 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn236
-		 (let Loc l (ILinVarId i) = happy_var_1 in IPLin (nIS l) i
-	)}
-
-happyReduce_662 = happySpecReduce_1  223# happyReduction_662
-happyReduction_662 happy_x_1
-	 =  case happyOut238 happy_x_1 of { happy_var_1 -> 
-	happyIn237
-		 (UnQual (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_663 = happySpecReduce_1  223# happyReduction_663
-happyReduction_663 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn237
-		 (let {Loc l (QConId q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))
-	)}
-
-happyReduce_664 = happySpecReduce_1  224# happyReduction_664
-happyReduction_664 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn238
-		 (let Loc l (ConId c) = happy_var_1 in Ident (nIS l) c
-	)}
-
-happyReduce_665 = happySpecReduce_1  225# happyReduction_665
-happyReduction_665 happy_x_1
-	 =  case happyOut240 happy_x_1 of { happy_var_1 -> 
-	happyIn239
-		 (UnQual (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_666 = happySpecReduce_1  225# happyReduction_666
-happyReduction_666 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn239
-		 (let {Loc l (QConSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))
-	)}
-
-happyReduce_667 = happySpecReduce_1  226# happyReduction_667
-happyReduction_667 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn240
-		 (let Loc l (ConSym c) = happy_var_1 in Symbol (nIS l) c
-	)}
-
-happyReduce_668 = happySpecReduce_1  227# happyReduction_668
-happyReduction_668 happy_x_1
-	 =  case happyOut243 happy_x_1 of { happy_var_1 -> 
-	happyIn241
-		 (UnQual (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_669 = happySpecReduce_1  227# happyReduction_669
-happyReduction_669 happy_x_1
-	 =  case happyOut245 happy_x_1 of { happy_var_1 -> 
-	happyIn241
-		 (happy_var_1
-	)}
-
-happyReduce_670 = happySpecReduce_1  228# happyReduction_670
-happyReduction_670 happy_x_1
-	 =  case happyOut244 happy_x_1 of { happy_var_1 -> 
-	happyIn242
-		 (UnQual (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_671 = happySpecReduce_1  228# happyReduction_671
-happyReduction_671 happy_x_1
-	 =  case happyOut245 happy_x_1 of { happy_var_1 -> 
-	happyIn242
-		 (happy_var_1
-	)}
-
-happyReduce_672 = happySpecReduce_1  229# happyReduction_672
-happyReduction_672 happy_x_1
-	 =  case happyOut244 happy_x_1 of { happy_var_1 -> 
-	happyIn243
-		 (happy_var_1
-	)}
-
-happyReduce_673 = happySpecReduce_1  229# happyReduction_673
-happyReduction_673 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> 
-	happyIn243
-		 (minus_name (nIS happy_var_1)
-	)}
-
-happyReduce_674 = happySpecReduce_1  230# happyReduction_674
-happyReduction_674 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn244
-		 (let Loc l (VarSym v) = happy_var_1 in Symbol (nIS l) v
-	)}
-
-happyReduce_675 = happySpecReduce_1  230# happyReduction_675
-happyReduction_675 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> 
-	happyIn244
-		 (bang_name (nIS happy_var_1)
-	)}
-
-happyReduce_676 = happySpecReduce_1  230# happyReduction_676
-happyReduction_676 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Dot) -> 
-	happyIn244
-		 (dot_name  (nIS happy_var_1)
-	)}
-
-happyReduce_677 = happySpecReduce_1  230# happyReduction_677
-happyReduction_677 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> 
-	happyIn244
-		 (star_name (nIS happy_var_1)
-	)}
-
-happyReduce_678 = happySpecReduce_1  231# happyReduction_678
-happyReduction_678 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn245
-		 (let {Loc l (QVarSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))
-	)}
-
-happyReduce_679 = happySpecReduce_1  232# happyReduction_679
-happyReduction_679 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn246
-		 (let Loc l (IntTok        (i,raw)) = happy_var_1 in Int        (nIS l) i raw
-	)}
-
-happyReduce_680 = happySpecReduce_1  232# happyReduction_680
-happyReduction_680 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn246
-		 (let Loc l (Character     (c,raw)) = happy_var_1 in Char       (nIS l) c raw
-	)}
-
-happyReduce_681 = happySpecReduce_1  232# happyReduction_681
-happyReduction_681 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn246
-		 (let Loc l (FloatTok      (r,raw)) = happy_var_1 in Frac       (nIS l) r raw
-	)}
-
-happyReduce_682 = happySpecReduce_1  232# happyReduction_682
-happyReduction_682 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn246
-		 (let Loc l (StringTok     (s,raw)) = happy_var_1 in String     (nIS l) s raw
-	)}
-
-happyReduce_683 = happySpecReduce_1  232# happyReduction_683
-happyReduction_683 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn246
-		 (let Loc l (IntTokHash    (i,raw)) = happy_var_1 in PrimInt    (nIS l) i raw
-	)}
-
-happyReduce_684 = happySpecReduce_1  232# happyReduction_684
-happyReduction_684 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn246
-		 (let Loc l (WordTokHash   (w,raw)) = happy_var_1 in PrimWord   (nIS l) w raw
-	)}
-
-happyReduce_685 = happySpecReduce_1  232# happyReduction_685
-happyReduction_685 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn246
-		 (let Loc l (FloatTokHash  (f,raw)) = happy_var_1 in PrimFloat  (nIS l) f raw
-	)}
-
-happyReduce_686 = happySpecReduce_1  232# happyReduction_686
-happyReduction_686 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn246
-		 (let Loc l (DoubleTokHash (d,raw)) = happy_var_1 in PrimDouble (nIS l) d raw
-	)}
-
-happyReduce_687 = happySpecReduce_1  232# happyReduction_687
-happyReduction_687 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn246
-		 (let Loc l (CharacterHash (c,raw)) = happy_var_1 in PrimChar   (nIS l) c raw
-	)}
-
-happyReduce_688 = happySpecReduce_1  232# happyReduction_688
-happyReduction_688 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn246
-		 (let Loc l (StringHash    (s,raw)) = happy_var_1 in PrimString (nIS l) s raw
-	)}
-
-happyReduce_689 = happyMonadReduce 0# 233# happyReduction_689
-happyReduction_689 (happyRest) tk
-	 = happyThen (( pushCurrentContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x) (return x) -})
-	) (\r -> happyReturn (happyIn247 r))
-
-happyReduce_690 = happySpecReduce_1  234# happyReduction_690
-happyReduction_690 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 VRightCurly) -> 
-	happyIn248
-		 (happy_var_1 {- >>= \x -> trace (show x ++ show x ++ show x) (return x) -}
-	)}
-
-happyReduce_691 = happyMonadReduce 1# 234# happyReduction_691
-happyReduction_691 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (( popContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x ++ show x) (return x) -})
-	) (\r -> happyReturn (happyIn248 r))
-
-happyReduce_692 = happyMonadReduce 1# 235# happyReduction_692
-happyReduction_692 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut250 happy_x_1 of { happy_var_1 -> 
-	( checkEnabled PatternSynonyms >> return happy_var_1)}
-	) (\r -> happyReturn (happyIn249 r))
-
-happyReduce_693 = happyReduce 4# 236# happyReduction_693
-happyReduction_693 (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 happyOut251 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> 
-	case happyOut204 happy_x_4 of { happy_var_4 -> 
-	happyIn250
-		 (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_694 = happyReduce 4# 236# happyReduction_694
-happyReduction_694 (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 happyOut251 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftArrow) -> 
-	case happyOut204 happy_x_4 of { happy_var_4 -> 
-	happyIn250
-		 (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_695 = happyReduce 5# 236# happyReduction_695
-happyReduction_695 (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 happyOut251 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftArrow) -> 
-	case happyOut204 happy_x_4 of { happy_var_4 -> 
-	case happyOut253 happy_x_5 of { happy_var_5 -> 
-	happyIn250
-		 (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_696 = happySpecReduce_2  237# happyReduction_696
-happyReduction_696 happy_x_2
-	happy_x_1
-	 =  case happyOut222 happy_x_1 of { happy_var_1 -> 
-	case happyOut252 happy_x_2 of { happy_var_2 -> 
-	happyIn251
-		 (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_697 = happySpecReduce_3  237# happyReduction_697
-happyReduction_697 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut235 happy_x_1 of { happy_var_1 -> 
-	case happyOut239 happy_x_2 of { happy_var_2 -> 
-	case happyOut235 happy_x_3 of { happy_var_3 -> 
-	happyIn251
-		 (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_698 = happySpecReduce_0  238# happyReduction_698
-happyReduction_698  =  happyIn252
-		 ([]
-	)
-
-happyReduce_699 = happySpecReduce_2  238# happyReduction_699
-happyReduction_699 happy_x_2
-	happy_x_1
-	 =  case happyOut235 happy_x_1 of { happy_var_1 -> 
-	case happyOut252 happy_x_2 of { happy_var_2 -> 
-	happyIn252
-		 (PVar (ann happy_var_1) happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_700 = happyMonadReduce 4# 239# happyReduction_700
-happyReduction_700 (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 happyOut66 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 (happyIn253 r))
-
-happyReduce_701 = happyMonadReduce 4# 239# happyReduction_701
-happyReduction_701 (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 happyOut247 happy_x_2 of { happy_var_2 -> 
-	case happyOut66 happy_x_3 of { happy_var_3 -> 
-	case happyOut248 happy_x_4 of { happy_var_4 -> 
-	(  checkExplicitPatSyn happy_var_1 happy_var_2 happy_var_3 happy_var_4)}}}}
-	) (\r -> happyReturn (happyIn253 r))
-
-happyReduce_702 = happyMonadReduce 4# 240# happyReduction_702
-happyReduction_702 (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 happyOut222 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> 
-	case happyOut255 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, happy_var_3] ++ ps)  happy_var_2 qtvs prov req ty} ;
-                    return sig })}}}}
-	) (\r -> happyReturn (happyIn254 r))
-
-happyReduce_703 = happyReduce 4# 241# happyReduction_703
-happyReduction_703 (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 happyOut112 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> 
-	case happyOut255 happy_x_4 of { happy_var_4 -> 
-	happyIn255
-		 (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_704 = happyMonadReduce 3# 241# happyReduction_704
-happyReduction_704 (happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut109 happy_x_1 of { happy_var_1 -> 
-	case happyOut109 happy_x_2 of { happy_var_2 -> 
-	case happyOut98 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 (happyIn255 r))
-
-happyReduce_705 = happyMonadReduce 2# 241# happyReduction_705
-happyReduction_705 (happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut109 happy_x_1 of { happy_var_1 -> 
-	case happyOut98 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 (happyIn255 r))
-
-happyReduce_706 = happyMonadReduce 1# 241# happyReduction_706
-happyReduction_706 (happy_x_1 `HappyStk`
-	happyRest) tk
-	 = happyThen (case happyOut98 happy_x_1 of { happy_var_1 -> 
-	( checkType happy_var_1 >>= \t -> return (Nothing, [], Nothing, Nothing, t))}
-	) (\r -> happyReturn (happyIn255 r))
-
-happyReduce_707 = happySpecReduce_1  242# happyReduction_707
-happyReduction_707 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn256
-		 (let Loc l (ConId  n) = happy_var_1 in ModuleName (nIS l) n
-	)}
-
-happyReduce_708 = happySpecReduce_1  242# happyReduction_708
-happyReduction_708 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn256
-		 (let Loc l (QConId n) = happy_var_1 in ModuleName (nIS l) (fst n ++ '.':snd n)
-	)}
-
-happyReduce_709 = happySpecReduce_1  243# happyReduction_709
-happyReduction_709 happy_x_1
-	 =  case happyOut222 happy_x_1 of { happy_var_1 -> 
-	happyIn257
-		 (happy_var_1
-	)}
-
-happyReduce_710 = happySpecReduce_1  244# happyReduction_710
-happyReduction_710 happy_x_1
-	 =  case happyOut223 happy_x_1 of { happy_var_1 -> 
-	happyIn258
-		 (happy_var_1
-	)}
-
-happyReduce_711 = happySpecReduce_1  245# happyReduction_711
-happyReduction_711 happy_x_1
-	 =  case happyOut260 happy_x_1 of { happy_var_1 -> 
-	happyIn259
-		 (happy_var_1
-	)}
-
-happyReduce_712 = happySpecReduce_1  246# happyReduction_712
-happyReduction_712 happy_x_1
-	 =  case happyOut234 happy_x_1 of { happy_var_1 -> 
-	happyIn260
-		 (happy_var_1
-	)}
-
-happyReduce_713 = happySpecReduce_1  246# happyReduction_713
-happyReduction_713 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> 
-	happyIn260
-		 (safe_name       (nIS happy_var_1)
-	)}
-
-happyReduce_714 = happySpecReduce_1  246# happyReduction_714
-happyReduction_714 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> 
-	happyIn260
-		 (unsafe_name     (nIS happy_var_1)
-	)}
-
-happyReduce_715 = happySpecReduce_1  246# happyReduction_715
-happyReduction_715 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> 
-	happyIn260
-		 (threadsafe_name (nIS happy_var_1)
-	)}
-
-happyReduce_716 = happySpecReduce_3  247# happyReduction_716
-happyReduction_716 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> 
-	case happyOut259 happy_x_2 of { happy_var_2 -> 
-	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
-	happyIn261
-		 (UnQual (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
-	)}}}
-
-happyReduce_717 = happySpecReduce_1  247# happyReduction_717
-happyReduction_717 happy_x_1
-	 =  case happyOut262 happy_x_1 of { happy_var_1 -> 
-	happyIn261
-		 (UnQual (ann happy_var_1) happy_var_1
-	)}
-
-happyReduce_718 = happySpecReduce_1  248# happyReduction_718
-happyReduction_718 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn262
-		 (let Loc l (VarSym x) = happy_var_1 in Symbol (nIS l) x
-	)}
-
-happyReduce_719 = happySpecReduce_1  248# happyReduction_719
-happyReduction_719 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> 
-	happyIn262
-		 (Symbol (nIS happy_var_1) "-"
-	)}
-
-happyReduce_720 = happyReduce 5# 249# happyReduction_720
-happyReduction_720 (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 happyOut35 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) -> 
-	happyIn263
-		 (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_721 = happyReduce 5# 249# happyReduction_721
-happyReduction_721 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut247 happy_x_1 of { happy_var_1 -> 
-	case happyOut28 happy_x_2 of { happy_var_2 -> 
-	case happyOut35 happy_x_3 of { happy_var_3 -> 
-	case happyOut28 happy_x_4 of { happy_var_4 -> 
-	case happyOut248 happy_x_5 of { happy_var_5 -> 
-	happyIn263
-		 (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_722 = happySpecReduce_3  250# happyReduction_722
-happyReduction_722 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
-	case happyOut256 happy_x_3 of { happy_var_3 -> 
-	happyIn264
-		 ((happy_var_1, Just happy_var_3)
-	)}}
-
-happyReduce_723 = happySpecReduce_1  250# happyReduction_723
-happyReduction_723 happy_x_1
-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
-	happyIn264
-		 ((happy_var_1, Nothing)
-	)}
-
-happyReduce_724 = happySpecReduce_2  251# happyReduction_724
-happyReduction_724 happy_x_2
-	happy_x_1
-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
-	case happyOut23 happy_x_2 of { happy_var_2 -> 
-	happyIn265
-		 ((happy_var_1, happy_var_2)
-	)}}
-
-happyReduce_725 = happySpecReduce_3  252# happyReduction_725
-happyReduction_725 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 happyOut263 happy_x_3 of { happy_var_3 -> 
-	happyIn266
-		 ((happy_var_1, happy_var_2, Just happy_var_3)
-	)}}}
-
-happyReduce_726 = happySpecReduce_2  252# happyReduction_726
-happyReduction_726 happy_x_2
-	happy_x_1
-	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
-	case happyOut23 happy_x_2 of { happy_var_2 -> 
-	happyIn266
-		 ((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 147# tk action sts stk;
-	Loc _ (VarId _) -> cont 1#;
-	Loc _ (QVarId _) -> cont 2#;
-	Loc _ (IDupVarId _) -> cont 3#;
-	Loc _ (ILinVarId _) -> cont 4#;
-	Loc _ (ConId _) -> cont 5#;
-	Loc _ (QConId _) -> cont 6#;
-	Loc _ (DVarId _) -> cont 7#;
-	Loc _ (VarSym _) -> cont 8#;
-	Loc _ (ConSym _) -> cont 9#;
-	Loc _ (QVarSym _) -> cont 10#;
-	Loc _ (QConSym _) -> cont 11#;
-	Loc _ (IntTok _) -> cont 12#;
-	Loc _ (FloatTok _) -> cont 13#;
-	Loc _ (Character _) -> cont 14#;
-	Loc _ (StringTok _) -> cont 15#;
-	Loc _ (IntTokHash _) -> cont 16#;
-	Loc _ (WordTokHash _) -> cont 17#;
-	Loc _ (FloatTokHash _) -> cont 18#;
-	Loc _ (DoubleTokHash _) -> cont 19#;
-	Loc _ (CharacterHash _) -> cont 20#;
-	Loc _ (StringHash _) -> cont 21#;
-	Loc happy_dollar_dollar LeftParen -> cont 22#;
-	Loc happy_dollar_dollar RightParen -> cont 23#;
-	Loc happy_dollar_dollar LeftHashParen -> cont 24#;
-	Loc happy_dollar_dollar RightHashParen -> cont 25#;
-	Loc happy_dollar_dollar SemiColon -> cont 26#;
-	Loc happy_dollar_dollar LeftCurly -> cont 27#;
-	Loc happy_dollar_dollar RightCurly -> cont 28#;
-	Loc happy_dollar_dollar VRightCurly -> cont 29#;
-	Loc happy_dollar_dollar LeftSquare -> cont 30#;
-	Loc happy_dollar_dollar RightSquare -> cont 31#;
-	Loc happy_dollar_dollar ParArrayLeftSquare -> cont 32#;
-	Loc happy_dollar_dollar ParArrayRightSquare -> cont 33#;
-	Loc happy_dollar_dollar Comma -> cont 34#;
-	Loc happy_dollar_dollar Underscore -> cont 35#;
-	Loc happy_dollar_dollar BackQuote -> cont 36#;
-	Loc happy_dollar_dollar Dot -> cont 37#;
-	Loc happy_dollar_dollar DotDot -> cont 38#;
-	Loc happy_dollar_dollar Colon -> cont 39#;
-	Loc happy_dollar_dollar DoubleColon -> cont 40#;
-	Loc happy_dollar_dollar Equals -> cont 41#;
-	Loc happy_dollar_dollar Backslash -> cont 42#;
-	Loc happy_dollar_dollar Bar -> cont 43#;
-	Loc happy_dollar_dollar LeftArrow -> cont 44#;
-	Loc happy_dollar_dollar RightArrow -> cont 45#;
-	Loc happy_dollar_dollar At -> cont 46#;
-	Loc happy_dollar_dollar Tilde -> cont 47#;
-	Loc happy_dollar_dollar DoubleArrow -> cont 48#;
-	Loc happy_dollar_dollar Minus -> cont 49#;
-	Loc happy_dollar_dollar Exclamation -> cont 50#;
-	Loc happy_dollar_dollar Star -> cont 51#;
-	Loc happy_dollar_dollar LeftArrowTail -> cont 52#;
-	Loc happy_dollar_dollar RightArrowTail -> cont 53#;
-	Loc happy_dollar_dollar LeftDblArrowTail -> cont 54#;
-	Loc happy_dollar_dollar RightDblArrowTail -> cont 55#;
-	Loc happy_dollar_dollar RPGuardOpen -> cont 56#;
-	Loc happy_dollar_dollar RPGuardClose -> cont 57#;
-	Loc happy_dollar_dollar RPCAt -> cont 58#;
-	Loc _ (THIdEscape _) -> cont 59#;
-	Loc happy_dollar_dollar THParenEscape -> cont 60#;
-	Loc happy_dollar_dollar THExpQuote -> cont 61#;
-	Loc happy_dollar_dollar THPatQuote -> cont 62#;
-	Loc happy_dollar_dollar THTypQuote -> cont 63#;
-	Loc happy_dollar_dollar THDecQuote -> cont 64#;
-	Loc happy_dollar_dollar THCloseQuote -> cont 65#;
-	Loc happy_dollar_dollar THVarQuote -> cont 66#;
-	Loc happy_dollar_dollar THTyQuote -> cont 67#;
-	Loc _ (THQuasiQuote _) -> cont 68#;
-	Loc _ (XPCDATA _) -> cont 69#;
-	Loc happy_dollar_dollar XStdTagOpen -> cont 70#;
-	Loc happy_dollar_dollar XCloseTagOpen -> cont 71#;
-	Loc happy_dollar_dollar XCodeTagOpen -> cont 72#;
-	Loc happy_dollar_dollar XChildTagOpen -> cont 73#;
-	Loc happy_dollar_dollar XStdTagClose -> cont 74#;
-	Loc happy_dollar_dollar XEmptyTagClose -> cont 75#;
-	Loc happy_dollar_dollar XCodeTagClose -> cont 76#;
-	Loc happy_dollar_dollar XRPatOpen -> cont 77#;
-	Loc happy_dollar_dollar XRPatClose -> cont 78#;
-	Loc happy_dollar_dollar KW_Foreign -> cont 79#;
-	Loc happy_dollar_dollar KW_Export -> cont 80#;
-	Loc happy_dollar_dollar KW_Safe -> cont 81#;
-	Loc happy_dollar_dollar KW_Unsafe -> cont 82#;
-	Loc happy_dollar_dollar KW_Threadsafe -> cont 83#;
-	Loc happy_dollar_dollar KW_Interruptible -> cont 84#;
-	Loc happy_dollar_dollar KW_StdCall -> cont 85#;
-	Loc happy_dollar_dollar KW_CCall -> cont 86#;
-	Loc happy_dollar_dollar KW_CPlusPlus -> cont 87#;
-	Loc happy_dollar_dollar KW_DotNet -> cont 88#;
-	Loc happy_dollar_dollar KW_Jvm -> cont 89#;
-	Loc happy_dollar_dollar KW_Js -> cont 90#;
-	Loc happy_dollar_dollar KW_JavaScript -> cont 91#;
-	Loc happy_dollar_dollar KW_CApi -> cont 92#;
-	Loc happy_dollar_dollar KW_As -> cont 93#;
-	Loc happy_dollar_dollar KW_By -> cont 94#;
-	Loc happy_dollar_dollar KW_Case -> cont 95#;
-	Loc happy_dollar_dollar KW_Class -> cont 96#;
-	Loc happy_dollar_dollar KW_Data -> cont 97#;
-	Loc happy_dollar_dollar KW_Default -> cont 98#;
-	Loc happy_dollar_dollar KW_Deriving -> cont 99#;
-	Loc happy_dollar_dollar KW_Do -> cont 100#;
-	Loc happy_dollar_dollar KW_Else -> cont 101#;
-	Loc happy_dollar_dollar KW_Family -> cont 102#;
-	Loc happy_dollar_dollar KW_Forall -> cont 103#;
-	Loc happy_dollar_dollar KW_Group -> cont 104#;
-	Loc happy_dollar_dollar KW_Hiding -> cont 105#;
-	Loc happy_dollar_dollar KW_If -> cont 106#;
-	Loc happy_dollar_dollar KW_Import -> cont 107#;
-	Loc happy_dollar_dollar KW_In -> cont 108#;
-	Loc happy_dollar_dollar KW_Infix -> cont 109#;
-	Loc happy_dollar_dollar KW_InfixL -> cont 110#;
-	Loc happy_dollar_dollar KW_InfixR -> cont 111#;
-	Loc happy_dollar_dollar KW_Instance -> cont 112#;
-	Loc happy_dollar_dollar KW_Let -> cont 113#;
-	Loc happy_dollar_dollar KW_MDo -> cont 114#;
-	Loc happy_dollar_dollar KW_Module -> cont 115#;
-	Loc happy_dollar_dollar KW_NewType -> cont 116#;
-	Loc happy_dollar_dollar KW_Of -> cont 117#;
-	Loc happy_dollar_dollar KW_Proc -> cont 118#;
-	Loc happy_dollar_dollar KW_Rec -> cont 119#;
-	Loc happy_dollar_dollar KW_Then -> cont 120#;
-	Loc happy_dollar_dollar KW_Type -> cont 121#;
-	Loc happy_dollar_dollar KW_Using -> cont 122#;
-	Loc happy_dollar_dollar KW_Where -> cont 123#;
-	Loc happy_dollar_dollar KW_Qualified -> cont 124#;
-	Loc happy_dollar_dollar KW_Role -> cont 125#;
-	Loc happy_dollar_dollar KW_Pattern -> cont 126#;
-	Loc _ (INLINE _) -> cont 127#;
-	Loc happy_dollar_dollar INLINE_CONLIKE -> cont 128#;
-	Loc happy_dollar_dollar SPECIALISE -> cont 129#;
-	Loc _ (SPECIALISE_INLINE _) -> cont 130#;
-	Loc happy_dollar_dollar SOURCE -> cont 131#;
-	Loc happy_dollar_dollar RULES -> cont 132#;
-	Loc happy_dollar_dollar CORE -> cont 133#;
-	Loc happy_dollar_dollar SCC -> cont 134#;
-	Loc happy_dollar_dollar GENERATED -> cont 135#;
-	Loc happy_dollar_dollar DEPRECATED -> cont 136#;
-	Loc happy_dollar_dollar WARNING -> cont 137#;
-	Loc happy_dollar_dollar UNPACK -> cont 138#;
-	Loc _ (OPTIONS _) -> cont 139#;
-	Loc happy_dollar_dollar LANGUAGE -> cont 140#;
-	Loc happy_dollar_dollar ANN -> cont 141#;
-	Loc happy_dollar_dollar MINIMAL -> cont 142#;
-	Loc happy_dollar_dollar NO_OVERLAP -> cont 143#;
-	Loc happy_dollar_dollar OVERLAP -> cont 144#;
-	Loc happy_dollar_dollar INCOHERENT -> cont 145#;
-	Loc happy_dollar_dollar PragmaEnd -> cont 146#;
-	_ -> happyError' tk
-	})
-
-happyError_ 147# tk = happyError' tk
-happyError_ _ tk = happyError' tk
-
-happyThen :: () => P a -> (a -> P b) -> P b
-happyThen = (>>=)
-happyReturn :: () => a -> P a
-happyReturn = (return)
-happyThen1 = happyThen
-happyReturn1 :: () => a -> P a
-happyReturn1 = happyReturn
-happyError' :: () => (Loc Token) -> P a
-happyError' tk = parseError tk
-
-mparseModule = happySomeParser where
-  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut16 x))
-
-mparseExp = happySomeParser where
-  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut157 x))
-
-mparsePat = happySomeParser where
-  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut204 x))
-
-mparseDeclAux = happySomeParser where
-  happySomeParser = happyThen (happyParse 3#) (\x -> happyReturn (happyOut25 x))
-
-mparseType = happySomeParser where
-  happySomeParser = happyThen (happyParse 4#) (\x -> happyReturn (happyOut107 x))
-
-mparseStmt = happySomeParser where
-  happySomeParser = happyThen (happyParse 5#) (\x -> happyReturn (happyOut211 x))
-
-mparseImportDecl = happySomeParser where
-  happySomeParser = happyThen (happyParse 6#) (\x -> happyReturn (happyOut36 x))
-
-ngparseModulePragmas = happySomeParser where
-  happySomeParser = happyThen (happyParse 7#) (\x -> happyReturn (happyOut18 x))
-
-ngparseModuleHeadAndImports = happySomeParser where
-  happySomeParser = happyThen (happyParse 8#) (\x -> happyReturn (happyOut266 x))
-
-ngparsePragmasAndModuleHead = happySomeParser where
-  happySomeParser = happyThen (happyParse 9#) (\x -> happyReturn (happyOut265 x))
-
-ngparsePragmasAndModuleName = happySomeParser where
-  happySomeParser = happyThen (happyParse 10#) (\x -> happyReturn (happyOut264 x))
+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
+import qualified Data.Array as Happy_Data_Array
+import qualified GHC.Exts as Happy_GHC_Exts
+import Control.Applicative(Applicative(..))
+import Control.Monad (ap)
+
+-- parser produced by Happy Version 1.19.5
+
+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 :: (QName L) -> (HappyAbsSyn )
+happyIn118 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn118 #-}
+happyOut118 :: (HappyAbsSyn ) -> (QName 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 :: (([TyVarBind L],Maybe L)) -> (HappyAbsSyn )
+happyIn124 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn124 #-}
+happyOut124 :: (HappyAbsSyn ) -> (([TyVarBind L],Maybe L))
+happyOut124 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut124 #-}
+happyIn125 :: (TyVarBind L) -> (HappyAbsSyn )
+happyIn125 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn125 #-}
+happyOut125 :: (HappyAbsSyn ) -> (TyVarBind L)
+happyOut125 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut125 #-}
+happyIn126 :: (([Name L],Maybe L)) -> (HappyAbsSyn )
+happyIn126 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn126 #-}
+happyOut126 :: (HappyAbsSyn ) -> (([Name L],Maybe L))
+happyOut126 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut126 #-}
+happyIn127 :: (([Name L],L)) -> (HappyAbsSyn )
+happyIn127 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn127 #-}
+happyOut127 :: (HappyAbsSyn ) -> (([Name L],L))
+happyOut127 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut127 #-}
+happyIn128 :: (([FunDep L],[S],Maybe L)) -> (HappyAbsSyn )
+happyIn128 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn128 #-}
+happyOut128 :: (HappyAbsSyn ) -> (([FunDep L],[S],Maybe L))
+happyOut128 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut128 #-}
+happyIn129 :: (([FunDep L],[S],L)) -> (HappyAbsSyn )
+happyIn129 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn129 #-}
+happyOut129 :: (HappyAbsSyn ) -> (([FunDep L],[S],L))
+happyOut129 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut129 #-}
+happyIn130 :: (FunDep L) -> (HappyAbsSyn )
+happyIn130 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn130 #-}
+happyOut130 :: (HappyAbsSyn ) -> (FunDep L)
+happyOut130 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut130 #-}
+happyIn131 :: (([GadtDecl L],[S],Maybe L)) -> (HappyAbsSyn )
+happyIn131 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn131 #-}
+happyOut131 :: (HappyAbsSyn ) -> (([GadtDecl L],[S],Maybe L))
+happyOut131 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut131 #-}
+happyIn132 :: (([GadtDecl L],[S])) -> (HappyAbsSyn )
+happyIn132 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn132 #-}
+happyOut132 :: (HappyAbsSyn ) -> (([GadtDecl L],[S]))
+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]) -> (HappyAbsSyn )
+happyIn134 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn134 #-}
+happyOut134 :: (HappyAbsSyn ) -> ([GadtDecl L])
+happyOut134 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut134 #-}
+happyIn135 :: (([QualConDecl L],[S],Maybe L)) -> (HappyAbsSyn )
+happyIn135 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn135 #-}
+happyOut135 :: (HappyAbsSyn ) -> (([QualConDecl L],[S],Maybe L))
+happyOut135 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut135 #-}
+happyIn136 :: (([QualConDecl L],[S],L)) -> (HappyAbsSyn )
+happyIn136 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn136 #-}
+happyOut136 :: (HappyAbsSyn ) -> (([QualConDecl L],[S],L))
+happyOut136 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut136 #-}
+happyIn137 :: (QualConDecl L) -> (HappyAbsSyn )
+happyIn137 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn137 #-}
+happyOut137 :: (HappyAbsSyn ) -> (QualConDecl L)
+happyOut137 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut137 #-}
+happyIn138 :: ((Maybe [TyVarBind L], [S], Maybe L)) -> (HappyAbsSyn )
+happyIn138 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn138 #-}
+happyOut138 :: (HappyAbsSyn ) -> ((Maybe [TyVarBind L], [S], Maybe L))
+happyOut138 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut138 #-}
+happyIn139 :: (ConDecl L) -> (HappyAbsSyn )
+happyIn139 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn139 #-}
+happyOut139 :: (HappyAbsSyn ) -> (ConDecl L)
+happyOut139 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut139 #-}
+happyIn140 :: ((Name L, [Type L], L)) -> (HappyAbsSyn )
+happyIn140 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn140 #-}
+happyOut140 :: (HappyAbsSyn ) -> ((Name L, [Type L], L))
+happyOut140 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut140 #-}
+happyIn141 :: (([FieldDecl L],[S])) -> (HappyAbsSyn )
+happyIn141 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn141 #-}
+happyOut141 :: (HappyAbsSyn ) -> (([FieldDecl L],[S]))
+happyOut141 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut141 #-}
+happyIn142 :: (FieldDecl L) -> (HappyAbsSyn )
+happyIn142 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn142 #-}
+happyOut142 :: (HappyAbsSyn ) -> (FieldDecl L)
+happyOut142 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut142 #-}
+happyIn143 :: (Maybe (Deriving L)) -> (HappyAbsSyn )
+happyIn143 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn143 #-}
+happyOut143 :: (HappyAbsSyn ) -> (Maybe (Deriving L))
+happyOut143 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut143 #-}
+happyIn144 :: (([InstRule L],[S])) -> (HappyAbsSyn )
+happyIn144 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn144 #-}
+happyOut144 :: (HappyAbsSyn ) -> (([InstRule L],[S]))
+happyOut144 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut144 #-}
+happyIn145 :: (InstHead L) -> (HappyAbsSyn )
+happyIn145 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn145 #-}
+happyOut145 :: (HappyAbsSyn ) -> (InstHead L)
+happyOut145 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut145 #-}
+happyIn146 :: (Kind L) -> (HappyAbsSyn )
+happyIn146 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn146 #-}
+happyOut146 :: (HappyAbsSyn ) -> (Kind L)
+happyOut146 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut146 #-}
+happyIn147 :: (Kind L) -> (HappyAbsSyn )
+happyIn147 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn147 #-}
+happyOut147 :: (HappyAbsSyn ) -> (Kind L)
+happyOut147 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut147 #-}
+happyIn148 :: (Kind L) -> (HappyAbsSyn )
+happyIn148 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn148 #-}
+happyOut148 :: (HappyAbsSyn ) -> (Kind 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], [S])) -> (HappyAbsSyn )
+happyIn151 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn151 #-}
+happyOut151 :: (HappyAbsSyn ) -> (([Kind L], [S]))
+happyOut151 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut151 #-}
+happyIn152 :: ((Maybe (Kind L), [S])) -> (HappyAbsSyn )
+happyIn152 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn152 #-}
+happyOut152 :: (HappyAbsSyn ) -> ((Maybe (Kind L), [S]))
+happyOut152 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut152 #-}
+happyIn153 :: ((Maybe [ClassDecl L],[S],Maybe L)) -> (HappyAbsSyn )
+happyIn153 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn153 #-}
+happyOut153 :: (HappyAbsSyn ) -> ((Maybe [ClassDecl L],[S],Maybe L))
+happyOut153 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut153 #-}
+happyIn154 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )
+happyIn154 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn154 #-}
+happyOut154 :: (HappyAbsSyn ) -> (([ClassDecl L],[S]))
+happyOut154 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut154 #-}
+happyIn155 :: (([ClassDecl L],[S])) -> (HappyAbsSyn )
+happyIn155 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn155 #-}
+happyOut155 :: (HappyAbsSyn ) -> (([ClassDecl L],[S]))
+happyOut155 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut155 #-}
+happyIn156 :: (ClassDecl L) -> (HappyAbsSyn )
+happyIn156 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn156 #-}
+happyOut156 :: (HappyAbsSyn ) -> (ClassDecl L)
+happyOut156 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut156 #-}
+happyIn157 :: ([S]) -> (HappyAbsSyn )
+happyIn157 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn157 #-}
+happyOut157 :: (HappyAbsSyn ) -> ([S])
+happyOut157 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut157 #-}
+happyIn158 :: (ClassDecl L) -> (HappyAbsSyn )
+happyIn158 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn158 #-}
+happyOut158 :: (HappyAbsSyn ) -> (ClassDecl L)
+happyOut158 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut158 #-}
+happyIn159 :: ((Maybe [InstDecl L],[S],Maybe L)) -> (HappyAbsSyn )
+happyIn159 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn159 #-}
+happyOut159 :: (HappyAbsSyn ) -> ((Maybe [InstDecl L],[S],Maybe L))
+happyOut159 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut159 #-}
+happyIn160 :: (([InstDecl L],[S])) -> (HappyAbsSyn )
+happyIn160 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn160 #-}
+happyOut160 :: (HappyAbsSyn ) -> (([InstDecl L],[S]))
+happyOut160 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut160 #-}
+happyIn161 :: (([InstDecl L],[S])) -> (HappyAbsSyn )
+happyIn161 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn161 #-}
+happyOut161 :: (HappyAbsSyn ) -> (([InstDecl L],[S]))
+happyOut161 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut161 #-}
+happyIn162 :: (InstDecl L) -> (HappyAbsSyn )
+happyIn162 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn162 #-}
+happyOut162 :: (HappyAbsSyn ) -> (InstDecl L)
+happyOut162 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut162 #-}
+happyIn163 :: (InstDecl L) -> (HappyAbsSyn )
+happyIn163 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn163 #-}
+happyOut163 :: (HappyAbsSyn ) -> (InstDecl L)
+happyOut163 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut163 #-}
+happyIn164 :: (Decl L) -> (HappyAbsSyn )
+happyIn164 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn164 #-}
+happyOut164 :: (HappyAbsSyn ) -> (Decl L)
+happyOut164 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut164 #-}
+happyIn165 :: ((Maybe (Binds L),[S])) -> (HappyAbsSyn )
+happyIn165 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn165 #-}
+happyOut165 :: (HappyAbsSyn ) -> ((Maybe (Binds L),[S]))
+happyOut165 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut165 #-}
+happyIn166 :: ((Maybe (Type L, S))) -> (HappyAbsSyn )
+happyIn166 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn166 #-}
+happyOut166 :: (HappyAbsSyn ) -> ((Maybe (Type L, S)))
+happyOut166 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut166 #-}
+happyIn167 :: (Rhs L) -> (HappyAbsSyn )
+happyIn167 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn167 #-}
+happyOut167 :: (HappyAbsSyn ) -> (Rhs L)
+happyOut167 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut167 #-}
+happyIn168 :: (([GuardedRhs L],L)) -> (HappyAbsSyn )
+happyIn168 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn168 #-}
+happyOut168 :: (HappyAbsSyn ) -> (([GuardedRhs L],L))
+happyOut168 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut168 #-}
+happyIn169 :: (GuardedRhs L) -> (HappyAbsSyn )
+happyIn169 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn169 #-}
+happyOut169 :: (HappyAbsSyn ) -> (GuardedRhs L)
+happyOut169 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut169 #-}
+happyIn170 :: (Exp L) -> (HappyAbsSyn )
+happyIn170 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn170 #-}
+happyOut170 :: (HappyAbsSyn ) -> (Exp L)
+happyOut170 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut170 #-}
+happyIn171 :: (PExp L) -> (HappyAbsSyn )
+happyIn171 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn171 #-}
+happyOut171 :: (HappyAbsSyn ) -> (PExp L)
+happyOut171 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut171 #-}
+happyIn172 :: (PExp L) -> (HappyAbsSyn )
+happyIn172 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn172 #-}
+happyOut172 :: (HappyAbsSyn ) -> (PExp L)
+happyOut172 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut172 #-}
+happyIn173 :: (PExp L) -> (HappyAbsSyn )
+happyIn173 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn173 #-}
+happyOut173 :: (HappyAbsSyn ) -> (PExp L)
+happyOut173 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut173 #-}
+happyIn174 :: (PExp L) -> (HappyAbsSyn )
+happyIn174 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn174 #-}
+happyOut174 :: (HappyAbsSyn ) -> (PExp 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 :: ([S]) -> (HappyAbsSyn )
+happyIn176 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn176 #-}
+happyOut176 :: (HappyAbsSyn ) -> ([S])
+happyOut176 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut176 #-}
+happyIn177 :: ([S]) -> (HappyAbsSyn )
+happyIn177 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn177 #-}
+happyOut177 :: (HappyAbsSyn ) -> ([S])
+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 :: (PExp L) -> (HappyAbsSyn )
+happyIn180 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn180 #-}
+happyOut180 :: (HappyAbsSyn ) -> (PExp L)
+happyOut180 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut180 #-}
+happyIn181 :: ([Pat L]) -> (HappyAbsSyn )
+happyIn181 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn181 #-}
+happyOut181 :: (HappyAbsSyn ) -> ([Pat L])
+happyOut181 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut181 #-}
+happyIn182 :: (Pat L) -> (HappyAbsSyn )
+happyIn182 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn182 #-}
+happyOut182 :: (HappyAbsSyn ) -> (Pat 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 :: (PExp L) -> (HappyAbsSyn )
+happyIn185 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn185 #-}
+happyOut185 :: (HappyAbsSyn ) -> (PExp L)
+happyOut185 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut185 #-}
+happyIn186 :: ([S]) -> (HappyAbsSyn )
+happyIn186 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn186 #-}
+happyOut186 :: (HappyAbsSyn ) -> ([S])
+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 :: (([Maybe (PExp L)],[S])) -> (HappyAbsSyn )
+happyIn188 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn188 #-}
+happyOut188 :: (HappyAbsSyn ) -> (([Maybe (PExp L)],[S]))
+happyOut188 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut188 #-}
+happyIn189 :: (([Maybe (PExp L)],[S])) -> (HappyAbsSyn )
+happyIn189 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn189 #-}
+happyOut189 :: (HappyAbsSyn ) -> (([Maybe (PExp L)],[S]))
+happyOut189 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut189 #-}
+happyIn190 :: (([PExp L],[S])) -> (HappyAbsSyn )
+happyIn190 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn190 #-}
+happyOut190 :: (HappyAbsSyn ) -> (([PExp L],[S]))
+happyOut190 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut190 #-}
+happyIn191 :: (PExp L) -> (HappyAbsSyn )
+happyIn191 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn191 #-}
+happyOut191 :: (HappyAbsSyn ) -> (PExp L)
+happyOut191 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut191 #-}
+happyIn192 :: (PExp L) -> (HappyAbsSyn )
+happyIn192 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn192 #-}
+happyOut192 :: (HappyAbsSyn ) -> (PExp L)
+happyOut192 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut192 #-}
+happyIn193 :: ([PExp L]) -> (HappyAbsSyn )
+happyIn193 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn193 #-}
+happyOut193 :: (HappyAbsSyn ) -> ([PExp L])
+happyOut193 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut193 #-}
+happyIn194 :: (PExp L) -> (HappyAbsSyn )
+happyIn194 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn194 #-}
+happyOut194 :: (HappyAbsSyn ) -> (PExp L)
+happyOut194 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut194 #-}
+happyIn195 :: (XName L) -> (HappyAbsSyn )
+happyIn195 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn195 #-}
+happyOut195 :: (HappyAbsSyn ) -> (XName L)
+happyOut195 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut195 #-}
+happyIn196 :: (Loc String) -> (HappyAbsSyn )
+happyIn196 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn196 #-}
+happyOut196 :: (HappyAbsSyn ) -> (Loc String)
+happyOut196 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut196 #-}
+happyIn197 :: (Loc String) -> (HappyAbsSyn )
+happyIn197 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn197 #-}
+happyOut197 :: (HappyAbsSyn ) -> (Loc String)
+happyOut197 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut197 #-}
+happyIn198 :: ([ParseXAttr L]) -> (HappyAbsSyn )
+happyIn198 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn198 #-}
+happyOut198 :: (HappyAbsSyn ) -> ([ParseXAttr L])
+happyOut198 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut198 #-}
+happyIn199 :: (ParseXAttr L) -> (HappyAbsSyn )
+happyIn199 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn199 #-}
+happyOut199 :: (HappyAbsSyn ) -> (ParseXAttr L)
+happyOut199 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut199 #-}
+happyIn200 :: (Maybe (PExp L)) -> (HappyAbsSyn )
+happyIn200 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn200 #-}
+happyOut200 :: (HappyAbsSyn ) -> (Maybe (PExp L))
+happyOut200 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut200 #-}
+happyIn201 :: (L -> PExp L) -> (HappyAbsSyn )
+happyIn201 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn201 #-}
+happyOut201 :: (HappyAbsSyn ) -> (L -> PExp L)
+happyOut201 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut201 #-}
+happyIn202 :: (([PExp L],[S])) -> (HappyAbsSyn )
+happyIn202 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn202 #-}
+happyOut202 :: (HappyAbsSyn ) -> (([PExp L],[S]))
+happyOut202 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut202 #-}
+happyIn203 :: (([[QualStmt L]],[S])) -> (HappyAbsSyn )
+happyIn203 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn203 #-}
+happyOut203 :: (HappyAbsSyn ) -> (([[QualStmt L]],[S]))
+happyOut203 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut203 #-}
+happyIn204 :: (([QualStmt L],[S])) -> (HappyAbsSyn )
+happyIn204 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn204 #-}
+happyOut204 :: (HappyAbsSyn ) -> (([QualStmt L],[S]))
+happyOut204 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut204 #-}
+happyIn205 :: (QualStmt L) -> (HappyAbsSyn )
+happyIn205 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn205 #-}
+happyOut205 :: (HappyAbsSyn ) -> (QualStmt L)
+happyOut205 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut205 #-}
+happyIn206 :: (QualStmt L) -> (HappyAbsSyn )
+happyIn206 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn206 #-}
+happyOut206 :: (HappyAbsSyn ) -> (QualStmt L)
+happyOut206 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut206 #-}
+happyIn207 :: (([Stmt L],[S])) -> (HappyAbsSyn )
+happyIn207 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn207 #-}
+happyOut207 :: (HappyAbsSyn ) -> (([Stmt L],[S]))
+happyOut207 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut207 #-}
+happyIn208 :: (Stmt L) -> (HappyAbsSyn )
+happyIn208 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn208 #-}
+happyOut208 :: (HappyAbsSyn ) -> (Stmt L)
+happyOut208 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut208 #-}
+happyIn209 :: (L -> PExp L) -> (HappyAbsSyn )
+happyIn209 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn209 #-}
+happyOut209 :: (HappyAbsSyn ) -> (L -> PExp L)
+happyOut209 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut209 #-}
+happyIn210 :: (([Alt L],L,[S])) -> (HappyAbsSyn )
+happyIn210 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn210 #-}
+happyOut210 :: (HappyAbsSyn ) -> (([Alt L],L,[S]))
+happyOut210 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut210 #-}
+happyIn211 :: (([Alt L],[S])) -> (HappyAbsSyn )
+happyIn211 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn211 #-}
+happyOut211 :: (HappyAbsSyn ) -> (([Alt L],[S]))
+happyOut211 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut211 #-}
+happyIn212 :: (([Alt L],[S])) -> (HappyAbsSyn )
+happyIn212 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn212 #-}
+happyOut212 :: (HappyAbsSyn ) -> (([Alt L],[S]))
+happyOut212 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut212 #-}
+happyIn213 :: (Alt L) -> (HappyAbsSyn )
+happyIn213 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn213 #-}
+happyOut213 :: (HappyAbsSyn ) -> (Alt L)
+happyOut213 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut213 #-}
+happyIn214 :: (Rhs L) -> (HappyAbsSyn )
+happyIn214 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn214 #-}
+happyOut214 :: (HappyAbsSyn ) -> (Rhs L)
+happyOut214 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut214 #-}
+happyIn215 :: (([GuardedRhs L],L)) -> (HappyAbsSyn )
+happyIn215 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn215 #-}
+happyOut215 :: (HappyAbsSyn ) -> (([GuardedRhs L],L))
+happyOut215 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut215 #-}
+happyIn216 :: (GuardedRhs L) -> (HappyAbsSyn )
+happyIn216 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn216 #-}
+happyOut216 :: (HappyAbsSyn ) -> (GuardedRhs L)
+happyOut216 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut216 #-}
+happyIn217 :: (Pat L) -> (HappyAbsSyn )
+happyIn217 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn217 #-}
+happyOut217 :: (HappyAbsSyn ) -> (Pat L)
+happyOut217 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut217 #-}
+happyIn218 :: (([GuardedRhs L], L, [S])) -> (HappyAbsSyn )
+happyIn218 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn218 #-}
+happyOut218 :: (HappyAbsSyn ) -> (([GuardedRhs L], L, [S]))
+happyOut218 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut218 #-}
+happyIn219 :: (([GuardedRhs L], [S])) -> (HappyAbsSyn )
+happyIn219 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn219 #-}
+happyOut219 :: (HappyAbsSyn ) -> (([GuardedRhs L], [S]))
+happyOut219 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut219 #-}
+happyIn220 :: (([GuardedRhs L], [S])) -> (HappyAbsSyn )
+happyIn220 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn220 #-}
+happyOut220 :: (HappyAbsSyn ) -> (([GuardedRhs L], [S]))
+happyOut220 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut220 #-}
+happyIn221 :: (([Stmt L],L,[S])) -> (HappyAbsSyn )
+happyIn221 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn221 #-}
+happyOut221 :: (HappyAbsSyn ) -> (([Stmt L],L,[S]))
+happyOut221 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut221 #-}
+happyIn222 :: (([Stmt L],[S])) -> (HappyAbsSyn )
+happyIn222 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn222 #-}
+happyOut222 :: (HappyAbsSyn ) -> (([Stmt L],[S]))
+happyOut222 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut222 #-}
+happyIn223 :: (([Stmt L],[S])) -> (HappyAbsSyn )
+happyIn223 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn223 #-}
+happyOut223 :: (HappyAbsSyn ) -> (([Stmt L],[S]))
+happyOut223 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut223 #-}
+happyIn224 :: (Stmt L) -> (HappyAbsSyn )
+happyIn224 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn224 #-}
+happyOut224 :: (HappyAbsSyn ) -> (Stmt L)
+happyOut224 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut224 #-}
+happyIn225 :: (([PFieldUpdate L],[S])) -> (HappyAbsSyn )
+happyIn225 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn225 #-}
+happyOut225 :: (HappyAbsSyn ) -> (([PFieldUpdate L],[S]))
+happyOut225 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut225 #-}
+happyIn226 :: (PFieldUpdate L) -> (HappyAbsSyn )
+happyIn226 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn226 #-}
+happyOut226 :: (HappyAbsSyn ) -> (PFieldUpdate L)
+happyOut226 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut226 #-}
+happyIn227 :: (([IPBind L],[S])) -> (HappyAbsSyn )
+happyIn227 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn227 #-}
+happyOut227 :: (HappyAbsSyn ) -> (([IPBind L],[S]))
+happyOut227 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut227 #-}
+happyIn228 :: (([IPBind L],[S])) -> (HappyAbsSyn )
+happyIn228 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn228 #-}
+happyOut228 :: (HappyAbsSyn ) -> (([IPBind L],[S]))
+happyOut228 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut228 #-}
+happyIn229 :: (IPBind L) -> (HappyAbsSyn )
+happyIn229 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn229 #-}
+happyOut229 :: (HappyAbsSyn ) -> (IPBind L)
+happyOut229 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut229 #-}
+happyIn230 :: (PExp L) -> (HappyAbsSyn )
+happyIn230 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn230 #-}
+happyOut230 :: (HappyAbsSyn ) -> (PExp L)
+happyOut230 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut230 #-}
+happyIn231 :: (Name L) -> (HappyAbsSyn )
+happyIn231 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn231 #-}
+happyOut231 :: (HappyAbsSyn ) -> (Name L)
+happyOut231 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut231 #-}
+happyIn232 :: (Name L) -> (HappyAbsSyn )
+happyIn232 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn232 #-}
+happyOut232 :: (HappyAbsSyn ) -> (Name L)
+happyOut232 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut232 #-}
+happyIn233 :: (QName L) -> (HappyAbsSyn )
+happyIn233 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn233 #-}
+happyOut233 :: (HappyAbsSyn ) -> (QName L)
+happyOut233 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut233 #-}
+happyIn234 :: (IPName L) -> (HappyAbsSyn )
+happyIn234 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn234 #-}
+happyOut234 :: (HappyAbsSyn ) -> (IPName L)
+happyOut234 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut234 #-}
+happyIn235 :: (Name L) -> (HappyAbsSyn )
+happyIn235 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn235 #-}
+happyOut235 :: (HappyAbsSyn ) -> (Name L)
+happyOut235 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut235 #-}
+happyIn236 :: (QName L) -> (HappyAbsSyn )
+happyIn236 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn236 #-}
+happyOut236 :: (HappyAbsSyn ) -> (QName L)
+happyOut236 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut236 #-}
+happyIn237 :: (Name L) -> (HappyAbsSyn )
+happyIn237 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn237 #-}
+happyOut237 :: (HappyAbsSyn ) -> (Name L)
+happyOut237 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut237 #-}
+happyIn238 :: (QName L) -> (HappyAbsSyn )
+happyIn238 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn238 #-}
+happyOut238 :: (HappyAbsSyn ) -> (QName L)
+happyOut238 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut238 #-}
+happyIn239 :: (QName L) -> (HappyAbsSyn )
+happyIn239 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn239 #-}
+happyOut239 :: (HappyAbsSyn ) -> (QName L)
+happyOut239 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut239 #-}
+happyIn240 :: (Name L) -> (HappyAbsSyn )
+happyIn240 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn240 #-}
+happyOut240 :: (HappyAbsSyn ) -> (Name L)
+happyOut240 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut240 #-}
+happyIn241 :: (QName L) -> (HappyAbsSyn )
+happyIn241 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn241 #-}
+happyOut241 :: (HappyAbsSyn ) -> (QName L)
+happyOut241 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut241 #-}
+happyIn242 :: (Op L) -> (HappyAbsSyn )
+happyIn242 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn242 #-}
+happyOut242 :: (HappyAbsSyn ) -> (Op L)
+happyOut242 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut242 #-}
+happyIn243 :: (QOp L) -> (HappyAbsSyn )
+happyIn243 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn243 #-}
+happyOut243 :: (HappyAbsSyn ) -> (QOp L)
+happyOut243 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut243 #-}
+happyIn244 :: (QOp L) -> (HappyAbsSyn )
+happyIn244 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn244 #-}
+happyOut244 :: (HappyAbsSyn ) -> (QOp L)
+happyOut244 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut244 #-}
+happyIn245 :: (QName L) -> (HappyAbsSyn )
+happyIn245 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn245 #-}
+happyOut245 :: (HappyAbsSyn ) -> (QName L)
+happyOut245 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut245 #-}
+happyIn246 :: (PExp L) -> (HappyAbsSyn )
+happyIn246 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn246 #-}
+happyOut246 :: (HappyAbsSyn ) -> (PExp 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 :: (Name L) -> (HappyAbsSyn )
+happyIn249 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn249 #-}
+happyOut249 :: (HappyAbsSyn ) -> (Name L)
+happyOut249 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut249 #-}
+happyIn250 :: (IPName L) -> (HappyAbsSyn )
+happyIn250 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn250 #-}
+happyOut250 :: (HappyAbsSyn ) -> (IPName L)
+happyOut250 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut250 #-}
+happyIn251 :: (QName L) -> (HappyAbsSyn )
+happyIn251 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn251 #-}
+happyOut251 :: (HappyAbsSyn ) -> (QName L)
+happyOut251 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut251 #-}
+happyIn252 :: (Name L) -> (HappyAbsSyn )
+happyIn252 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn252 #-}
+happyOut252 :: (HappyAbsSyn ) -> (Name L)
+happyOut252 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut252 #-}
+happyIn253 :: (QName L) -> (HappyAbsSyn )
+happyIn253 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn253 #-}
+happyOut253 :: (HappyAbsSyn ) -> (QName L)
+happyOut253 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut253 #-}
+happyIn254 :: (Name L) -> (HappyAbsSyn )
+happyIn254 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn254 #-}
+happyOut254 :: (HappyAbsSyn ) -> (Name L)
+happyOut254 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut254 #-}
+happyIn255 :: (QName L) -> (HappyAbsSyn )
+happyIn255 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn255 #-}
+happyOut255 :: (HappyAbsSyn ) -> (QName 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 :: (Name L) -> (HappyAbsSyn )
+happyIn257 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn257 #-}
+happyOut257 :: (HappyAbsSyn ) -> (Name L)
+happyOut257 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut257 #-}
+happyIn258 :: (Name L) -> (HappyAbsSyn )
+happyIn258 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn258 #-}
+happyOut258 :: (HappyAbsSyn ) -> (Name L)
+happyOut258 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut258 #-}
+happyIn259 :: (QName L) -> (HappyAbsSyn )
+happyIn259 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn259 #-}
+happyOut259 :: (HappyAbsSyn ) -> (QName L)
+happyOut259 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut259 #-}
+happyIn260 :: (Literal L) -> (HappyAbsSyn )
+happyIn260 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn260 #-}
+happyOut260 :: (HappyAbsSyn ) -> (Literal L)
+happyOut260 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut260 #-}
+happyIn261 :: (S) -> (HappyAbsSyn )
+happyIn261 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn261 #-}
+happyOut261 :: (HappyAbsSyn ) -> (S)
+happyOut261 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut261 #-}
+happyIn262 :: (S) -> (HappyAbsSyn )
+happyIn262 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn262 #-}
+happyOut262 :: (HappyAbsSyn ) -> (S)
+happyOut262 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut262 #-}
+happyIn263 :: (Decl L) -> (HappyAbsSyn )
+happyIn263 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn263 #-}
+happyOut263 :: (HappyAbsSyn ) -> (Decl L)
+happyOut263 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut263 #-}
+happyIn264 :: (Decl L) -> (HappyAbsSyn )
+happyIn264 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn264 #-}
+happyOut264 :: (HappyAbsSyn ) -> (Decl L)
+happyOut264 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut264 #-}
+happyIn265 :: (Pat L) -> (HappyAbsSyn )
+happyIn265 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn265 #-}
+happyOut265 :: (HappyAbsSyn ) -> (Pat L)
+happyOut265 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut265 #-}
+happyIn266 :: ([Pat L]) -> (HappyAbsSyn )
+happyIn266 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn266 #-}
+happyOut266 :: (HappyAbsSyn ) -> ([Pat L])
+happyOut266 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut266 #-}
+happyIn267 :: (([S], [Name L])) -> (HappyAbsSyn )
+happyIn267 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn267 #-}
+happyOut267 :: (HappyAbsSyn ) -> (([S], [Name L]))
+happyOut267 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut267 #-}
+happyIn268 :: (PatternSynDirection L) -> (HappyAbsSyn )
+happyIn268 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn268 #-}
+happyOut268 :: (HappyAbsSyn ) -> (PatternSynDirection L)
+happyOut268 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut268 #-}
+happyIn269 :: (Decl L) -> (HappyAbsSyn )
+happyIn269 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn269 #-}
+happyOut269 :: (HappyAbsSyn ) -> (Decl L)
+happyOut269 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut269 #-}
+happyIn270 :: ((Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L )) -> (HappyAbsSyn )
+happyIn270 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn270 #-}
+happyOut270 :: (HappyAbsSyn ) -> ((Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L ))
+happyOut270 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut270 #-}
+happyIn271 :: (ModuleName L) -> (HappyAbsSyn )
+happyIn271 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn271 #-}
+happyOut271 :: (HappyAbsSyn ) -> (ModuleName L)
+happyOut271 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut271 #-}
+happyIn272 :: (Name L) -> (HappyAbsSyn )
+happyIn272 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn272 #-}
+happyOut272 :: (HappyAbsSyn ) -> (Name L)
+happyOut272 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut272 #-}
+happyIn273 :: (QName L) -> (HappyAbsSyn )
+happyIn273 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn273 #-}
+happyOut273 :: (HappyAbsSyn ) -> (QName L)
+happyOut273 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut273 #-}
+happyIn274 :: (Name L) -> (HappyAbsSyn )
+happyIn274 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn274 #-}
+happyOut274 :: (HappyAbsSyn ) -> (Name L)
+happyOut274 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut274 #-}
+happyIn275 :: (Name L) -> (HappyAbsSyn )
+happyIn275 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn275 #-}
+happyOut275 :: (HappyAbsSyn ) -> (Name L)
+happyOut275 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut275 #-}
+happyIn276 :: (QName L) -> (HappyAbsSyn )
+happyIn276 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn276 #-}
+happyOut276 :: (HappyAbsSyn ) -> (QName L)
+happyOut276 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut276 #-}
+happyIn277 :: (Name L) -> (HappyAbsSyn )
+happyIn277 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn277 #-}
+happyOut277 :: (HappyAbsSyn ) -> (Name L)
+happyOut277 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut277 #-}
+happyIn278 :: (([ImportDecl L],[S],L)) -> (HappyAbsSyn )
+happyIn278 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn278 #-}
+happyOut278 :: (HappyAbsSyn ) -> (([ImportDecl L],[S],L))
+happyOut278 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut278 #-}
+happyIn279 :: ((([ModulePragma L], [S], L), Maybe (ModuleName L))) -> (HappyAbsSyn )
+happyIn279 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn279 #-}
+happyOut279 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleName L)))
+happyOut279 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut279 #-}
+happyIn280 :: ((([ModulePragma L], [S], L), Maybe (ModuleHead L))) -> (HappyAbsSyn )
+happyIn280 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn280 #-}
+happyOut280 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleHead L)))
+happyOut280 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut280 #-}
+happyIn281 :: ((([ModulePragma L], [S], L), Maybe (ModuleHead L), Maybe ([ImportDecl L],[S],L))) -> (HappyAbsSyn )
+happyIn281 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyIn281 #-}
+happyOut281 :: (HappyAbsSyn ) -> ((([ModulePragma L], [S], L), Maybe (ModuleHead L), Maybe ([ImportDecl L],[S],L)))
+happyOut281 x = Happy_GHC_Exts.unsafeCoerce# x
+{-# INLINE happyOut281 #-}
+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 #-}
+
+
+happyActOffsets :: HappyAddr
+happyActOffsets = HappyA# "\x00\x00\x0e\x27\x8f\x26\xad\x09\x39\x1a\x16\x23\x5b\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x09\x7c\x05\x4f\x09\xbb\x09\x45\x09\xb3\x09\x3a\x09\xb0\x09\xb0\x09\x22\x09\x21\x09\x00\x00\x76\x09\x00\x00\x00\x00\x38\x06\x00\x00\x00\x00\x00\x00\x06\x2b\x00\x00\x80\x09\x00\x00\x00\x00\x6d\x09\x0f\x09\x00\x00\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x1f\x00\x1f\x12\x20\x9b\x20\x00\x00\x20\x2a\x79\x1c\x06\x2b\x06\x2b\x06\x2b\x0e\x27\x00\x00\x0e\x27\x0e\x27\x0e\x27\x39\x1a\x00\x00\x60\x2d\xbe\x30\x00\x00\x40\x30\x0e\x27\x00\x00\x00\x00\x00\x00\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\x27\x7d\x09\x00\x00\x00\x00\x00\x00\x10\x26\x7c\x09\x7b\x09\x93\x2a\x7b\x09\x00\x00\x00\x00\x85\x09\x84\x09\x83\x09\x00\x00\x00\x00\x69\x13\x00\x00\x00\x00\x79\x1c\x00\x00\x69\x03\x00\x00\x00\x00\x00\x09\x00\x00\x39\x1a\x68\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x13\x89\x14\xc9\x16\x59\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x27\x31\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x08\xfb\x08\xf9\x08\x00\x00\x00\x00\x00\x00\xf9\x08\x70\x09\xf8\x08\x00\x00\xf8\x08\x44\x00\x00\x00\x00\x00\x6b\x09\x40\x30\x10\x09\x3e\x07\x00\x00\x1d\x09\x00\x00\x00\x00\x64\x09\x00\x00\xa9\x0d\x58\x00\x00\x00\x00\x00\x1d\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x14\x69\x16\x00\x00\x5d\x09\x55\x09\xc9\x13\x53\x09\x00\x00\x52\x09\x4e\x09\x00\x00\x58\x03\x47\x03\x00\x00\x00\x00\xe1\x02\x58\x09\xe3\x02\x54\x09\x4b\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x09\x00\x00\x48\x09\x00\x00\x79\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x79\x1c\x00\x00\x00\x00\x79\x1c\x00\x00\x00\x00\xed\x30\x39\x1a\x00\x00\x00\x00\x41\x09\xc7\x08\xc6\x08\x00\x00\x1a\x21\x1a\x21\x29\x09\x00\x00\x06\x2b\x00\x00\xdf\x08\x26\x09\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x08\x99\x02\xf6\x08\x00\x00\x1a\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\x7a\x2c\x46\x03\x20\x09\x00\x00\x00\x00\x2c\x0e\xcb\x0e\xfc\x08\xf7\x08\x52\x0d\xf3\x08\x1c\x09\x12\x09\x59\x01\x00\x00\x06\x2b\x00\x00\x00\x00\x00\x00\xad\x29\x00\x00\x17\x09\xfe\x08\x06\x03\x06\x09\x08\x09\x00\x00\x00\x00\x0e\x27\x00\x00\x00\x00\x00\x00\xf0\x27\x00\x00\x09\x01\x07\x09\xff\x08\x00\x00\x77\x1e\x39\x03\x00\x00\xcd\x04\xee\x1d\x44\x02\x0e\x09\x0d\x09\x0c\x09\x0b\x09\x09\x09\x00\x00\x06\x2b\x06\x2b\x06\x2b\x0e\x27\x42\x2d\x00\x00\x00\x00\x00\x00\x0e\x27\x00\x00\xf0\x27\x39\x1a\x0e\x27\x0e\x27\x0e\x27\x0e\x27\xca\x08\x8a\x08\x37\x00\x00\x00\x3e\x07\x58\x00\x00\x00\x00\x00\x00\x00\xf5\x2c\x00\x00\xa4\x08\x00\x00\x06\x2b\x89\x08\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x01\x06\x2b\x0a\x09\xec\x08\x77\x00\x34\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x08\xe3\x08\x00\x00\x00\x00\xe7\x08\xd8\x08\xd0\x08\xa6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x1d\x00\x00\x00\x00\x43\x02\x00\x00\x00\x00\x0e\x27\x91\x25\xdc\x1c\x00\x00\x00\x00\xee\x02\x00\x00\x9b\x20\x00\x00\x9b\x20\x0e\x27\x97\x22\xd3\x08\x00\x00\x00\x00\x9b\x20\x0e\x27\x97\x22\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x27\x0e\x27\x00\x00\x12\x25\x00\x00\x00\x00\x0e\x27\x00\x00\x00\x00\x00\x00\xe4\x08\x58\x00\x00\x00\x00\x00\x00\x00\x09\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x91\x27\x00\x00\x00\x00\x00\x00\x06\x2b\x1b\x01\x39\x1a\x87\x08\xd7\x08\x7b\x08\x00\x00\x00\x00\x00\x00\x54\x05\x00\x00\xc9\x19\x19\x2f\xcd\x08\xcd\x08\xfc\xff\xcd\x08\xdb\x08\xfe\x2e\xfe\x2e\xf5\x2c\xe1\x2f\xcb\x08\x00\x00\x40\x30\xba\x28\x00\x00\x9e\x08\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x27\xbd\x08\xcc\x02\xba\x08\x58\x00\x5a\x08\x00\x00\x0e\x27\x00\x00\x0e\x27\xb9\x08\xb8\x08\x1a\x21\x58\x00\x0e\x27\x0e\x27\xaa\x08\x00\x00\xac\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x2c\x00\x00\x00\x00\x69\x19\x69\x19\x00\x00\x00\x00\x00\x00\x00\x00\x10\x03\x00\x00\x23\x02\x00\x00\x00\x00\x00\x00\x7c\x31\x69\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x10\xb3\x08\xb2\x08\x58\x00\x58\x00\xb0\x06\x80\x08\x00\x00\x00\x00\xba\x28\x84\x08\xb4\x08\xb7\x08\xb5\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x27\x00\x00\x00\x00\x97\x08\x56\x08\x3a\x0e\x9a\x08\x9a\x08\x00\x00\x88\x08\x00\x00\x00\x00\x8d\x08\x00\x00\x94\x08\x00\x00\x89\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x2b\x75\x2c\x00\x00\x00\x00\x93\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x21\x00\x00\x00\x00\x00\x00\x0e\x27\x00\x00\x00\x00\x00\x00\x00\x00\x12\x25\x00\x00\x00\x00\x1b\x00\x55\x08\x00\x00\x6f\x08\x00\x00\xf4\x06\x6d\x06\x69\x06\x68\x06\x62\x06\x3b\x06\x3a\x06\x02\x06\xe6\x05\xd0\x05\xca\x05\xb4\x05\x96\x05\x74\x05\x6b\x05\x27\x05\x17\x05\x09\x05\xfd\x04\xec\x04\xba\x04\x00\x00\x0d\x08\x00\x00\x6b\x08\x73\x08\x00\x00\x0c\x2c\x00\x08\x2a\x00\x00\x00\x83\x08\x71\x08\x22\x00\x20\x00\x00\x00\x70\x08\xb3\x2e\x47\x00\xb3\x2e\x69\x19\xb3\x2e\xb3\x2e\x95\x2e\xcb\x04\x60\x03\x81\x08\x57\x08\x59\x1b\x79\x1c\xed\x02\x69\x19\xf4\x07\xf3\x07\xea\x07\x54\x05\x69\x19\x69\x19\x52\x08\x70\x06\x70\x06\x78\x04\x78\x04\x79\x2e\x69\x19\x07\x07\x69\x19\xcb\x0e\x61\x08\x37\x08\x34\x06\x00\x00\x00\x00\x4c\x00\x00\x00\x4e\x08\x5d\x08\x00\x00\x00\x00\x18\x22\x5b\x08\x58\x00\x4b\x08\x51\x08\x00\x00\x00\x00\x00\x00\x93\x24\x00\x00\xec\x02\x00\x00\x00\x00\x4a\x08\x00\x00\x85\x02\x00\x00\x00\x00\x00\x00\xe6\x02\x00\x00\x00\x00\x47\x08\x00\x00\x00\x00\x00\x00\xf3\x01\x00\x00\x0e\x27\xe6\x2d\x00\x00\x00\x00\x00\x00\x62\x08\x00\x00\x1d\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x16\x00\x68\x08\x06\x2b\x00\x00\x4d\x08\x4c\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x27\x99\x21\x0e\x27\x02\x08\xf1\xff\x99\x21\x00\x00\x00\x00\x00\x00\x00\x00\x37\x04\xf2\x07\x0e\x27\x14\x24\x00\x00\x3c\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x2f\x00\x00\x00\x00\xfb\x06\xf9\x07\xe0\x07\xf2\x2b\xf0\x07\x1c\x04\xe4\x02\x00\x00\xd3\x07\x23\x08\x00\x00\x0e\x27\x14\x24\xd0\x07\x43\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x2b\xcc\x07\x00\x00\x1f\x08\x2c\x08\x00\x00\x0b\x08\x00\x00\x69\x19\x00\x00\x00\x00\x00\x00\xbb\x07\x00\x00\x94\x01\x07\x08\x00\x00\xe8\x06\x69\x19\x95\x23\x95\x23\x0f\x30\x0f\x30\x00\x00\x0f\x30\x09\x19\xa6\x07\xa5\x07\x9a\x07\x04\x08\x0c\x08\x1e\x08\xfe\x07\xba\x07\x11\x08\x00\x00\x4a\x2e\x00\x00\x4a\x2e\x00\x00\x00\x00\x00\x00\x08\x08\xab\x2f\xab\x2f\x00\x00\x00\x00\x00\x00\x06\x2b\x00\x00\x00\x00\x48\x01\xcc\x02\xff\x07\x00\x00\xe3\x07\xec\x07\xe7\x07\xee\x07\x00\x00\x00\x00\xf2\x2b\x00\x00\xf2\x2b\x00\x00\x00\x00\x0e\x27\x0b\x07\xe6\x07\x39\x29\x70\x11\xe6\x07\x70\x07\x63\x07\x78\x07\x00\x00\x7d\x27\x00\x00\xa8\x06\x00\x00\x00\x00\xdf\x07\xcb\x07\x00\x00\x00\x00\xd5\x07\x94\x01\x00\x00\xfd\x06\xbe\x2c\xce\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x07\x00\x00\xd1\x07\x00\x00\x00\x00\xf2\x2b\x00\x00\xdd\x07\x81\x07\x00\x00\x0e\x27\x00\x00\x99\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x27\x7d\x2f\xa9\x18\xc7\x07\x00\x00\xa9\x18\x00\x00\x00\x00\x00\x00\x00\x00\x59\x1b\x00\x00\x00\x00\xc3\x07\xc0\x07\x00\x00\x00\x00\x66\x07\x00\x00\x00\x00\xb2\x07\xf2\x2b\x37\x31\xa9\x18\x45\x00\x00\x00\xb8\x07\x00\x00\x00\x00\x00\x00\xf2\x2b\x08\x31\xb6\x07\x00\x00\x00\x00\xb7\x07\x00\x00\xa8\x07\x00\x00\x25\x05\xc9\x01\xa4\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x07\xad\x00\x00\x00\x00\x00\x00\x00\x62\x2f\xa9\x18\xa3\x07\x00\x00\x19\x1c\x00\x00\x00\x00\x69\x07\xb1\x07\x00\x00\xa7\x01\x64\x07\x4f\x07\xa0\x07\x9c\x07\x34\x06\x00\x00\x00\x00\x4e\x07\x91\x07\x00\x00\x0e\x27\x95\x23\x9e\x07\x00\x00\x0e\x27\x0e\x27\x0e\x27\x00\x00\x94\x07\x00\x00\x5c\x07\x47\x07\xcf\x03\xf7\x00\x00\x00\x00\x00\x05\x00\xfd\x06\x00\x00\x00\x00\x39\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x07\x00\x00\x00\x00\x00\x00\xa9\x15\x00\x00\x00\x00\x00\x00\xd3\x30\x56\x01\x49\x18\x19\x1c\x00\x00\x00\x00\x89\x07\x88\x07\x03\x13\x1a\x07\x00\x00\x00\x00\xc9\x01\x0e\x27\x00\x00\x00\x00\x85\x07\x79\x07\xb9\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\x21\x07\x00\x00\x7c\x31\x00\x00\x74\x07\x00\x00\x0f\x30\xcb\x2d\x00\x00\x59\x1b\x04\x07\x6c\x07\x00\x00\x00\x00\xf8\x06\x60\x07\x47\x2f\x00\x00\x0f\x30\x5a\x07\x38\x07\x00\x00\x0e\x27\x58\x07\x5f\x07\x67\x07\x00\x00\x00\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x2c\x65\x07\xac\x27\x00\x00\xba\x03\x40\x30\x00\x00\x00\x00\x47\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x2b\x6f\x07\x00\x00\x40\x30\x0e\x27\x52\x07\x00\x00\x00\x00\x00\x00\xe9\x17\x00\x00\x00\x00\x89\x17\x00\x00\x00\x00\x00\x00\x4b\x07\x00\x00\x5e\x07\xeb\x10\x5b\x07\x58\x00\x7c\x31\x00\x00\x00\x00\x5c\x0f\x59\x07\x58\x00\x00\x00\xb9\x1b\x00\x00\x00\x00\x00\x00\x5d\x07\xad\x2d\xf9\x1a\x00\x00\xb9\x1b\x6b\x07\x00\x00\x13\x02\x44\x07\x58\x00\x4c\x07\x45\x07\x00\x00\x00\x00\x0e\x27\x00\x00\x00\x00\x00\x00\x48\x07\x00\x00\x0b\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x07\x00\x00\xb9\x1b\xc8\x02\x62\x02\x00\x00\x00\x00\x3f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x06\x7a\x12\x49\x15\x67\x31\x00\x00\x00\x00\x29\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x1b\x00\x00\x29\x17\x29\x17\x4c\x31\x66\x10\x2f\x07\x58\x00\x00\x00\x00\x00\x29\x17\x00\x00\x0a\x07\x89\x06\x00\x00\x00\x00\x7b\x2d\x01\x07\x00\x00\x00\x00\x0e\x27\x00\x00\x32\x07\x00\x00\x00\x00\x4c\x31\x00\x00\xca\x03\x00\x00\x1e\x07\x5e\x00\x1d\x07\xf5\x11\x2b\x07\xbb\x06\xa6\x06\x99\x1a\x29\x17\x00\x00\xf3\x05\x99\x1a\x00\x00\xe1\x0f\x2b\x07\x00\x00\x30\x2e\x29\x17\xe9\x14\x04\x01\x2b\x07\x26\x07\x06\x07\x00\x00\x00\x00\x00\x00\x00\x07\xe2\x2e\x86\x02\x00\x00\x00\x00\x8f\x2c\xef\x06\x3a\x28\x00\x00\x00\x00\x00\x00\x30\x2e\x00\x00\x00\x00\x00\x00\xd0\x06\x29\x17\x00\x00\x4c\x06\x00\x00\xf2\x2b\x29\x17\x92\x06\x65\x06\x00\x00\x29\x17\x00\x00\x29\x17\x29\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x06\x00\x00\xb4\x06\x00\x00\x00\x00\xf2\x2b\x74\x30\x00\x00\x00\x00\x66\x00\x00\x00\x00\x00\xb2\x00\x00\x00\x00\x00\xbd\x06\x00\x00\x00\x00\x16\x2e\x8b\x06\x88\x06\x00\x00\x00\x00\x00\x00\x00\x00\x29\x17\x00\x00\x00\x00\x00\x00"#
+
+happyGotoOffsets :: HappyAddr
+happyGotoOffsets = HappyA# "\x02\x00\x56\x38\x08\x3d\x0b\x00\x5c\x09\x9b\x34\x80\x06\x03\x00\xfd\xff\xff\xff\xfe\xff\x01\x00\x9b\x03\xbf\x06\x00\x00\x00\x00\xa5\x06\x00\x00\x91\x06\x00\x00\x00\x00\x00\x00\x74\x06\x00\x00\x00\x00\x00\x00\x00\x00\x48\x08\x00\x00\x00\x00\x00\x00\xe9\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x38\x41\x39\x21\x39\xc7\x38\x00\x00\x36\x31\xe9\x01\xd2\x44\xa6\x0c\x8c\x44\xf1\x3c\x00\x00\x03\x38\xec\x37\xe9\x41\x19\x09\x9d\x05\xf7\x06\x9a\x01\x00\x00\x4b\x05\x2c\x41\xb3\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x41\x7d\xff\x00\x00\x00\x00\x00\x00\xb2\x34\xf9\xff\x7c\xff\x5e\x42\x73\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x0c\x00\x00\x00\x00\x5c\x0c\x00\x00\x06\x06\x00\x00\x00\x00\x00\x00\x00\x00\x72\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x05\xd2\x06\x86\x06\x0e\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x99\x37\xe4\x03\x00\x00\x00\x00\x00\x00\x00\x00\xf1\x05\x00\x00\x00\x00\x00\x00\xaa\x05\xa6\x05\x00\x00\x00\x00\xf2\xff\x00\x00\x00\x00\x00\x00\x79\x03\x00\x00\x00\x00\x08\x00\xd1\x04\xae\x06\x45\x05\x00\x00\x00\x00\x0a\x00\x04\x00\x00\x00\x00\x00\x79\x00\x44\x05\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x06\x47\x09\x00\x00\x00\x00\x00\x00\x31\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\x1e\x0c\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x0b\x00\x00\x00\x00\x31\x0a\x00\x00\x00\x00\x21\x02\x5d\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x34\xde\x33\x00\x00\x00\x00\x75\x44\x00\x00\x00\x00\x78\x05\x00\x00\x13\x00\x10\x00\x00\x00\x00\x00\x15\x02\x00\x00\x5f\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x02\x61\x05\x00\x00\x00\x00\x00\x00\x35\x07\x69\x01\x00\x00\x00\x00\xf5\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x44\x00\x00\x00\x00\x00\x00\x47\x42\x00\x00\x71\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\x41\x00\x00\x00\x00\x00\x00\x70\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x3b\x82\x02\x00\x00\x00\x00\xac\x3a\x2f\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x0c\x18\x44\xd2\x43\x82\x37\xef\x04\x00\x00\x00\x00\x00\x00\xb6\x33\x00\x00\x40\x03\x04\x09\xc2\x40\xab\x40\x58\x40\x41\x40\xfa\x05\x00\x00\x6d\x01\x00\x00\xfa\x04\xe7\x04\x9f\x06\x99\x06\xc3\x02\x7f\x03\x00\x00\x7e\x03\x00\x00\xbb\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x02\x75\x43\x07\x05\x8f\x06\xf5\x04\x00\x00\x43\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x79\x06\x00\x00\x6f\x06\x00\x00\xbb\x05\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8d\x3a\x00\x00\x00\x00\xf3\x02\x00\x00\x00\x00\x9e\x3c\x87\x3c\x33\x3a\x00\x00\x00\x00\x29\x01\x00\x00\x14\x3a\x00\x00\xba\x39\xee\x3f\xa0\x31\x00\x00\x00\x00\x00\x00\x9b\x39\xd7\x3f\x4d\x31\x00\x00\x19\x00\x0c\x00\x00\x00\x84\x3f\x6d\x3f\x00\x00\x8b\x33\x00\x00\x00\x00\xb6\x33\x00\x00\x00\x00\x00\x00\x88\x05\xcf\x04\x45\x06\x00\x00\x00\x00\x1a\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x06\x00\x00\x00\x00\x00\x00\x5e\x43\x00\x00\x06\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x60\x05\x00\x00\x71\x09\x64\x02\x41\x05\x3a\x05\x2a\x05\x1d\x05\xf0\x05\x52\x02\xc7\x01\xf8\x02\x1a\x00\x00\x00\x00\x00\x80\x05\xbb\x42\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x3c\x5e\xff\x42\x01\x00\x00\x7b\x04\x00\x00\x00\x00\x1a\x3f\x00\x00\x03\x3f\x00\x00\x7d\x04\x67\x33\x64\x04\xb0\x3e\x99\x3e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x19\x00\x00\x00\x00\xc7\x0a\xb2\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x6f\x0a\x10\x06\xbe\x05\x00\x00\x00\x00\x00\x00\x00\x00\x4c\x02\x00\x00\x00\x00\x4a\x04\x46\x04\x20\x05\x00\x00\x76\x04\x00\x00\xa4\x42\x1e\x05\x52\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac\x05\x00\x00\x81\x03\x8b\x05\x00\x00\x00\x00\x00\x00\x99\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x04\x00\x00\x00\x00\x00\x00\x00\x00\x52\x0c\x2c\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x33\x00\x00\x00\x00\x00\x00\x46\x3e\x00\x00\x00\x00\x00\x00\x81\x05\xec\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\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x04\x1d\x03\x00\x00\x13\x03\x5b\x0a\x83\x02\x55\x01\xd3\x01\x77\x04\x00\x00\x05\x04\x00\x00\xf2\x0b\x8a\x05\xa9\xff\x1c\x0a\x00\x00\x00\x00\x00\x00\xd9\x04\x24\x04\x07\x0a\x52\x04\x75\x04\x68\x04\xb0\x04\x72\x04\xf6\x00\xef\x08\xe8\x01\xb1\x08\x82\x01\x00\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xff\x00\x00\x00\x00\x60\x3b\x00\x00\xee\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2f\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x02\x00\x00\x2f\x3e\xb6\x04\x00\x00\x00\x00\x00\x00\x85\x04\x00\x00\x40\x05\x2f\x05\x00\x00\x00\x00\x00\x00\x00\x00\xaf\x03\x18\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x05\xf1\x04\x92\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x3d\xf3\x31\xc5\x3d\x00\x00\x00\x00\x46\x32\x00\x00\x00\x00\xce\x04\x00\x00\x3b\x04\x00\x00\x18\x37\x48\x34\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8d\x03\x00\x00\x00\x00\x6e\x01\xf8\x03\xfe\x03\xb5\x12\x65\x04\x00\x00\x00\x00\x00\x00\xd4\x03\xcc\x03\x00\x00\xc5\x36\x99\x32\xcb\x03\x12\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\xc9\x03\xcb\x02\x16\x04\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x09\x00\x00\x00\x00\x00\x00\xb0\x03\xfd\x03\x2c\x06\x00\x00\x00\x00\xed\x03\x9c\x08\x1d\x3c\xca\x3b\xbc\x03\xd1\x01\x00\x00\x98\x01\xc4\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xad\x03\x9f\x03\x00\x00\x8c\x01\x00\x00\xc9\x02\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x00\x51\x00\x00\x00\x31\x03\x00\x00\x01\x43\x00\x00\x00\x00\x00\x00\x1f\x03\x3c\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x17\x00\x00\x7b\x12\x00\x00\x00\x00\xae\x36\x9d\x01\x00\x00\x00\x42\x36\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xff\x00\x00\x00\x00\x1a\x03\x00\x00\x00\x00\xc1\x03\x00\x00\x00\x00\x00\x00\xab\x03\x00\x00\xbb\x02\x65\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x88\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x36\x00\x00\xef\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\x41\x07\x00\xb8\x04\x00\x00\x00\x00\x88\x04\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x06\x00\x00\x28\x03\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x02\x00\x00\x00\x00\x59\x04\x64\x12\xec\x00\x59\x08\x48\x03\x00\x00\x91\x02\x00\x00\x00\x00\x00\x00\x69\x0c\xbb\x00\x00\x00\x00\x00\x00\x00\x7d\x02\x00\x00\x00\x00\x00\x00\xdc\x00\x57\x03\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x01\x44\x08\x00\x00\x00\x00\x9f\x0c\x01\x03\x00\x00\xc2\x02\x35\x02\x00\x00\x92\xff\x9e\x02\x9f\x02\x00\x00\x00\x00\xbc\x02\x00\x00\x00\x00\x48\x02\x33\x02\x00\x00\x44\x36\xb3\x3b\x00\x00\x00\x00\xf1\x35\xda\x35\x87\x35\x00\x00\x00\x00\x00\x00\xb5\x02\x98\x02\x00\x00\xae\x01\x00\x00\x00\x00\xf7\x03\x9b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x01\x00\x00\x00\x00\x00\x00\x3e\x06\x40\x00\x17\x00\x00\x00\xa5\xff\x85\xff\xdc\x0a\xc7\x0c\x00\x00\x00\x00\x00\x00\x00\x00\xce\x05\xf3\x03\x00\x00\x00\x00\x44\x03\x70\x35\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x05\x3c\x00\x1c\x00\x7a\x00\x00\x00\xb7\x03\x00\x00\x32\x00\x21\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x01\x00\x00\x74\x00\x00\x00\x1a\x01\x00\x00\x5f\x00\xa5\xff\x00\x00\xcd\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\xff\x00\x00\x52\x01\x00\x00\x00\x00\x00\x00\x72\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x01\x00\x00\x00\x00\x00\x00\x00\x00\x48\x00\x00\x00\x23\x00\x00\x00\x51\x02\x19\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x03\x00\x00\x00\x00\x09\x04\x1d\x35\x00\x00\x00\x00\x00\x00\x00\x00\x48\x04\x00\x00\x00\x00\xaf\x09\x00\x00\x64\x00\x49\x00\x00\x00\x00\x00\xd4\xff\xbf\x04\x00\x00\xff\x00\x96\x00\x00\x00\x00\x00\xf0\x01\x00\x00\xfa\x00\x00\x00\x56\x04\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x01\xdc\x0a\x00\x00\x9d\x0a\x16\x01\x00\x00\x15\x01\x00\x00\xf2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x03\x00\x00\x00\x00\x00\x00\xdc\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x03\x00\x00\x00\x00\x02\x01\x37\x05\xc0\x0b\x00\x00\x00\x00\x00\x00\x06\x08\x00\x00\x00\x00\x8a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x02\x00\x00\x90\x03\x2e\x03\xe3\xff\xda\x02\x00\x00\xed\x00\x00\x00\x00\x00\xf1\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x5b\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x63\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x00\x00\x00\x1b\x05\x00\x00\x28\x01\x26\x01\xb1\x0b\xec\x03\x00\x00\x9d\x07\x9c\x0b\x00\x00\x6c\x02\x00\x00\x00\x00\xc4\xff\xdc\x07\xae\x07\xa7\xff\x00\x00\x00\x00\x78\x01\x00\x00\x00\x00\x00\x00\x00\x00\x4b\x01\x6b\xff\x00\x00\x00\x00\xc9\x00\x00\x00\x43\x00\x00\x00\x00\x00\x00\x00\x0b\x01\x00\x00\x00\x00\x00\x00\x50\x01\x99\x07\x00\x00\x50\x00\x00\x00\x2b\x06\x46\x07\xb3\x00\x3b\x00\x00\x00\x31\x07\x00\x00\xd9\x03\x03\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\xff\x00\x00\x2f\x02\x00\x00\x00\x00\x82\x04\x9e\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\xff\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\xee\x06\x00\x00\x00\x00\x00\x00"#
+
+happyDefActions :: HappyAddr
+happyDefActions = HappyA# "\x2f\xfd\x00\x00\x00\x00\x2f\xfd\x00\x00\x00\x00\x00\x00\x2f\xfd\x2f\xfd\x2f\xfd\x2f\xfd\x00\x00\x00\x00\xea\xff\x0a\xfd\x00\x00\xe2\xff\x00\x00\xe2\xff\x00\x00\x00\x00\x00\x00\xbc\xff\x92\xfd\x6c\xfe\x6a\xfe\x64\xfe\x63\xfe\x61\xfe\x5f\xfe\x59\xfe\x4f\xfe\x4a\xfe\x41\xfe\x3e\xfe\x2a\xfe\x00\x00\x00\x00\x3a\xfe\x3b\xfe\x3d\xfe\x82\xfd\x3c\xfe\x7d\xfd\x54\xfd\x63\xfd\x7b\xfd\x78\xfd\x4a\xfd\x39\xfe\x61\xfd\x64\xfd\x62\xfd\x4c\xfd\x4b\xfd\x48\xfd\x49\xfd\x39\xfd\x37\xfd\x38\xfd\x36\xfd\x35\xfd\x34\xfd\x33\xfd\x32\xfd\x31\xfd\x30\xfd\x00\x00\x00\x00\x00\x00\xb3\xfd\x2e\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x2f\xfd\x00\x00\x00\x00\x1e\xfe\x00\x00\x00\x00\x09\xfe\x5d\xfd\x53\xfd\x52\xfd\x50\xfd\x51\xfd\x5c\xfd\x5b\xfd\x5a\xfd\x59\xfd\x58\xfd\x57\xfd\x56\xfd\x55\xfd\x60\xfd\x00\x00\x2f\xfd\x4e\xfd\x4f\xfd\x5e\xfd\x2f\xfd\x2f\xfd\x2f\xfd\x00\x00\x2f\xfd\x5f\xfd\x4d\xfd\x00\x00\x00\x00\x00\x00\x05\xff\xd4\xfe\x0b\xff\x01\xff\xf3\xfe\x00\x00\xe9\xfe\xe8\xfe\x00\xff\xe2\xfe\x00\x00\xd7\xfe\x00\x00\x00\x00\x15\xfd\xdb\xfe\xff\xfe\x16\xfd\xeb\xfe\xea\xfe\x00\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xe5\xfe\xe6\xfe\xf6\xfe\x00\x00\x00\x00\xf4\xfe\x14\xfd\x13\xfd\x12\xfd\xce\xfe\x00\x00\x00\x00\x00\x00\xd6\xff\xd6\xff\xa2\xfd\x00\x00\x2f\xfd\x00\x00\x6c\xfe\x00\x00\xe2\xff\xf1\xff\xef\xff\x2f\xfd\x00\x00\xe2\xff\x00\x00\x3a\xff\x00\x00\xd6\xff\xd6\xff\x00\x00\xd7\xff\xd9\xff\x00\x00\xe3\xfe\xe4\xfe\x00\x00\x17\xfd\xed\xfe\x65\xfd\x47\xfd\xec\xfe\x45\xfd\x46\xfd\x00\x00\x00\x00\x66\xfd\x00\x00\x00\x00\x0b\xff\xd4\xfe\xd1\xfe\x00\x00\x00\x00\xdf\xfe\x00\x00\x00\x00\xdd\xfe\x1c\xfe\xd1\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x44\xfd\x40\xfd\x43\xfd\x3e\xfd\x3a\xfd\xe1\xfe\x3c\xfd\x00\x00\x3f\xfd\xe6\xfe\x3b\xfd\x00\x00\xd5\xfe\xe7\xfe\xfe\xfe\x02\xff\x00\x00\xd8\xfe\x6e\xfd\x00\x00\x10\xfd\x0f\xfd\x00\x00\x00\x00\xd3\xfe\x0e\xfd\x00\x00\x00\x00\x00\x00\x91\xfd\x97\xfd\x97\xfd\x00\x00\x47\xfe\x00\x00\x50\xfe\x94\xfd\x57\xfe\x5b\xfe\xd6\xff\xd6\xff\x51\xfe\x00\x00\x55\xfe\x00\x00\xd0\xfd\x04\xfe\x00\xfe\x03\xfe\x02\xfe\x01\xfe\xfc\xfd\xfb\xfd\xfa\xfd\xf9\xfd\xf7\xfd\xf8\xfd\xf6\xfd\xf5\xfd\xf4\xfd\xf3\xfd\xf2\xfd\xf1\xfd\xf0\xfd\xef\xfd\xee\xfd\xed\xfd\xec\xfd\xfe\xfd\xfd\xfd\xeb\xfd\xea\xfd\xe9\xfd\xe8\xfd\xe7\xfd\xe6\xfd\xe5\xfd\xe4\xfd\xe3\xfd\xe2\xfd\xe1\xfd\xe0\xfd\xdf\xfd\xde\xfd\xdd\xfd\xdc\xfd\xdb\xfd\xda\xfd\xd9\xfd\xd8\xfd\xd7\xfd\xd6\xfd\xd5\xfd\xff\xfd\xd4\xfd\xd3\xfd\xd2\xfd\x1f\xfe\x20\xfe\x00\x00\x00\x00\x00\x00\x22\xfe\x21\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x63\xfe\x00\x00\x00\x00\x11\xfe\x00\x00\xa1\xfd\x52\xfe\x43\xfe\x42\xfe\x03\xff\x00\x00\x48\xfe\x2f\xfd\x1b\xfe\xb2\xfd\xb1\xfd\x00\x00\x68\xfd\x67\xfd\x00\x00\x72\xfd\x42\xfd\x41\xfd\x00\x00\x3d\xfd\xcc\xfd\x00\x00\xcb\xfd\x86\xfd\x00\x00\x00\x00\x84\xfd\x1b\xfe\x00\x00\x00\x00\x00\x00\x6e\xfd\x00\x00\x42\xfd\x41\xfd\x87\xfd\x3f\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x4b\xfe\x6a\xfd\x69\xfd\x69\xfe\x74\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xba\xff\x00\x00\x07\xfd\x09\xfd\x00\x00\x00\x00\xd6\xff\xd6\xff\xd6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xff\x11\xff\x81\xfd\x7a\xfd\x00\x00\x00\x00\x00\x00\xd6\xff\x00\x00\x00\x00\xea\xff\xec\xff\x2d\xfd\x2e\xfd\x0b\xfd\x1a\xfd\x19\xfd\xd6\xff\x08\xfd\xd6\xff\xbd\xff\xb8\xff\xbb\xff\x65\xfe\x66\xfe\x67\xfe\x68\xfe\x6b\xfe\x00\x00\x00\x00\x62\xfe\x60\xfe\x00\x00\x8f\xfd\x8c\xfd\x00\x00\x40\xfe\x8e\xfd\x93\xfd\x44\xfe\x45\xfe\x7c\xfd\x77\xfd\x2d\xfe\x00\x00\x37\xfe\x38\xfe\x00\x00\x85\xfd\x1d\xfe\x00\x00\x00\x00\x00\x00\x34\xfe\x33\xfe\x00\x00\x83\xfd\x00\x00\x30\xfe\x00\x00\xca\xfd\x00\x00\x00\x00\x1a\xfe\x2f\xfe\x00\x00\x00\x00\x00\x00\x53\xfe\xd6\xff\xd6\xff\x49\xfe\x00\x00\x00\x00\x2c\xfe\x00\x00\x28\xfe\x27\xfe\x00\x00\x26\xfe\x25\xfe\x55\xff\x9f\xff\x00\x00\xd6\xff\x91\xff\x90\xff\x00\x00\x7c\xff\x56\xff\x4f\xff\x4e\xff\x54\xff\x83\xff\x63\xfe\x53\xff\x2c\xfd\x52\xff\x00\x00\x00\x00\x00\x00\x5f\xff\x00\x00\x00\x00\x9d\xff\x9c\xff\x9b\xff\x68\xff\x5e\xff\x00\x00\x00\x00\x21\xff\x21\xff\x21\xff\x21\xff\x23\xff\x15\xff\x15\xff\x00\x00\x41\xff\x00\x00\x23\xfe\x00\x00\xcd\xfd\x0c\xfe\x00\x00\x06\xfe\x0a\xfe\x56\xfe\x08\xfe\x00\x00\x2f\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x58\xfe\x00\x00\x46\xfe\x00\x00\x00\x00\x95\xfd\x97\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x08\xff\x00\x00\x09\xff\x0a\xff\x06\xff\xe0\xfe\xd9\xfe\xda\xfe\xde\xfe\xfd\xfe\xf9\xfe\x00\x00\xdc\xfe\xfc\xfe\x00\x00\x00\x00\xf0\xfe\xfb\xfe\xfa\xfe\xf7\xfe\x00\x00\xf1\xfe\x00\x00\xee\xfe\xcf\xfe\xcd\xfe\x00\x00\x00\x00\xd6\xff\xd6\xff\xbf\xff\xdb\xff\xd8\xff\xde\xff\x59\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdf\xff\x00\x00\xd0\xfd\xe4\xff\xcd\xfd\x00\x00\xd4\xff\x00\x00\x00\x00\x38\xff\x50\xff\x39\xff\x51\xff\xd6\xff\x57\xff\x72\xfe\xd6\xff\x89\xfd\x3d\xfe\x00\x00\xd7\xff\xda\xff\xdd\xff\xd6\xfe\x00\x00\xef\xfe\xf2\xfe\xd2\xfe\xd0\xfe\x00\x00\xa6\xfe\xa5\xfe\xa3\xfe\x9f\xfe\x9e\xfe\x9d\xfe\x00\x00\x00\x00\xa1\xfe\x11\xfd\x00\x00\x4d\xfe\x4e\xfe\x9a\xfd\x98\xfd\x99\xfd\x97\xfd\x9b\xfd\x5a\xfe\x5d\xfe\x00\x00\x9f\xfd\xa0\xfd\x9c\xfd\xd6\xff\x00\x00\x54\xfe\x11\xfe\x00\x00\x00\x00\xce\xfd\x00\x00\xd1\xfd\x00\x00\x61\xfd\x48\xfd\x5d\xfd\x53\xfd\x52\xfd\x50\xfd\x51\xfd\x5c\xfd\x5b\xfd\x5a\xfd\x59\xfd\x58\xfd\x57\xfd\x56\xfd\x55\xfd\x60\xfd\x4e\xfd\x4f\xfd\x5e\xfd\x5f\xfd\x05\xfe\x00\x00\x42\xff\x40\xff\x3e\xff\x3b\xff\x00\x00\x00\x00\x00\x00\x16\xff\x00\x00\x13\xff\x00\x00\x00\x00\x24\xff\x21\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\xff\x5b\xff\x00\x00\xc8\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\xfe\x00\x00\xd7\xff\x93\xff\x00\x00\x00\x00\x9e\xff\xb5\xfd\x00\x00\xb7\xfd\x00\x00\x2f\xfd\x12\xfe\x5e\xfe\x00\x00\x00\x00\x00\x00\xae\xfd\xc2\xfd\xc0\xfd\xbf\xfd\xbe\xfd\x00\x00\xb0\xfd\x1b\xfe\xc4\xfd\x71\xfd\xc6\xfd\xc8\xfd\x1b\xfe\xc5\xfd\x31\xfe\x32\xfe\x00\x00\x13\xfe\x19\xfe\x0f\xfe\x10\xfe\x35\xfe\x36\xfe\x00\x00\x16\xfe\x00\x00\x00\x00\x3f\xfe\x6d\xfd\x73\xfd\xb6\xff\xb9\xff\x00\x00\x00\x00\xeb\xff\xe8\xff\xe5\xff\x00\x00\x00\x00\x00\x00\x0e\xff\x00\x00\x00\x00\xe7\xff\x0d\xff\x80\xfd\x79\xfd\x0f\xff\xe6\xff\xe9\xff\xd6\xff\xd6\xff\x00\x00\xb7\xff\x90\xfd\x8d\xfd\x18\xfe\x17\xfe\x15\xfe\x14\xfe\xc9\xfd\x00\x00\x00\x00\xbd\xfd\x00\x00\x00\x00\xac\xfd\xad\xfd\xd6\xff\xa9\xfd\x00\x00\xb4\xfd\x00\x00\x00\x00\x2b\xfe\xa0\xff\x6c\xfd\x6b\xfd\x99\xff\x70\xfd\x76\xfd\x00\x00\x24\xfe\x92\xff\x97\xfe\xac\xfe\xc1\xfe\x00\x00\xb5\xfe\x4d\xff\x00\x00\x36\xff\x74\xfe\x70\xfe\x6e\xfe\x00\x00\x00\x00\x74\xfe\x29\xff\x35\xff\x34\xff\x33\xff\x32\xff\x31\xff\x30\xff\x2f\xff\x2e\xff\x00\x00\x93\xfe\xca\xfe\x7b\xff\x00\x00\x5c\xff\x07\xff\x5d\xff\x00\x00\x6a\xff\x6b\xff\x69\xff\x83\xfe\x6f\xff\x00\x00\x00\x00\x0c\xff\x79\xff\x00\x00\x00\x00\x00\x00\x00\x00\x25\xfd\x28\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\xff\x25\xff\x80\xff\x17\xff\x7f\xff\x00\x00\x14\xff\x7e\xff\x7d\xff\x00\x00\x00\x00\x00\x00\x46\xff\x09\xfe\x0d\xfe\x00\x00\x0b\xfe\x07\xfe\x00\x00\x9e\xfd\x57\xfe\x96\xfd\x00\x00\x00\x00\x00\x00\xa6\xfe\x9c\xfe\xa2\xfe\x00\x00\xf8\xfe\x00\x00\xc0\xff\xdc\xff\x00\x00\xd7\xff\x8b\xfd\x00\x00\xd7\xff\x5a\xff\x00\x00\x00\x00\x00\x00\xd5\xff\xd0\xff\xf0\xff\x00\x00\x09\xfe\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\x58\xff\x8a\xfd\x00\x00\x88\xfd\x00\x00\xa4\xfe\xa0\xfe\x00\x00\x9a\xfe\x00\x00\x00\x00\x9d\xfd\x00\x00\xcf\xfd\x55\xfe\x3f\xff\x3d\xff\x3c\xff\x12\xff\x18\xff\x26\xff\x00\x00\x00\x00\x00\x00\x00\x00\x20\xff\x00\x00\x47\xff\x4a\xff\x4b\xff\x1b\xfd\x00\x00\x1f\xfd\xce\xfe\x23\xfd\x00\x00\x24\xfd\x27\xfd\x2a\xfd\x2b\xfd\x8f\xff\x98\xff\x00\x00\x00\x00\x00\x00\x70\xff\x86\xff\x2f\xfd\x85\xff\x84\xff\x8a\xff\x00\x00\x00\x00\xc7\xfe\xc5\xfe\x87\xff\x2f\xfd\x81\xff\x00\x00\x7f\xfd\x00\x00\x00\x00\x00\x00\x2d\xff\x2c\xff\x2b\xff\x2a\xff\x76\xfe\x2f\xfd\x00\x00\x71\xfe\x6f\xfe\x77\xfe\x00\x00\x00\x00\xbb\xfe\xb9\xfe\x00\x00\xce\xfe\x96\xfe\xac\xfe\x2f\xfd\x8c\xff\x00\x00\xac\xfe\xc1\xfe\x00\x00\x00\x00\x00\x00\xb8\xfd\xb6\xfd\x74\xfe\xa6\xfd\xa4\xfd\x00\x00\xd7\xff\xab\xfd\xc1\xfd\x00\x00\x00\x00\x00\x00\xaf\xfd\xc3\xfd\xc7\xfd\xb4\xff\xd7\xff\x00\x00\x00\x00\x0c\xfd\x0d\xfd\xb2\xff\x00\x00\xbc\xfd\xba\xfd\xbb\xfd\xaa\xfd\xa7\xfd\xa5\xfd\xa8\xfd\x9a\xff\x6f\xfd\x75\xfd\xac\xfe\x89\xff\xab\xfe\xa7\xfe\x00\x00\xd6\xff\xd6\xff\x8b\xff\x00\x00\x00\x00\xb0\xfe\x00\x00\xb7\xfe\xb4\xfe\x00\x00\xdb\xfe\x00\x00\xb5\xfe\x4c\xff\x37\xff\x00\x00\x00\x00\x75\xfe\x82\xff\x00\x00\x00\x00\x00\x00\xd6\xff\xd6\xff\xca\xfe\xcb\xfe\xca\xfe\x7a\xff\xd6\xff\xd6\xff\x6e\xff\x6d\xff\x6c\xff\x8d\xff\x77\xff\x78\xff\x67\xff\x97\xff\x00\x00\x29\xfd\x2f\xfd\x26\xfd\x00\x00\x00\x00\x1c\xfd\x00\x00\x00\x00\x45\xff\x43\xff\x1f\xff\x00\x00\x00\x00\x1c\xff\x1a\xff\x00\x00\x00\x00\x00\x00\xa3\xfd\x00\x00\x00\x00\x99\xfe\x00\x00\xcc\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\x9b\xfe\x00\x00\x00\x00\x5c\xfe\x00\x00\x00\x00\x00\x00\x1b\xff\x1d\xff\x48\xff\x00\x00\x49\xff\x1d\xfd\x00\x00\x22\xfd\xd6\xff\xd6\xff\x00\x00\x8e\xff\x2f\xfd\x81\xfe\x00\x00\x00\x00\x00\x00\xc4\xfe\xc6\xfe\x91\xfe\x00\x00\x00\x00\x27\xff\x00\x00\x7e\xfd\x6d\xfe\xba\xfe\x00\x00\x00\x00\xb0\xfe\xb8\xfe\x00\x00\x00\x00\xb6\xfe\x00\x00\x00\x00\x00\x00\xa8\xfe\x00\x00\xaa\xfe\x88\xff\x00\x00\xb5\xff\xbe\xff\xb3\xff\x00\x00\xaf\xff\xd0\xff\xb9\xfd\xa9\xfe\xc2\xfe\xc3\xfe\xd6\xff\xbe\xfe\x00\x00\xb3\xfe\x04\xff\x00\x00\x00\x00\xae\xfe\xb2\xfe\xda\xfe\x28\xff\x94\xfe\x95\xfe\x8e\xfe\xd6\xff\x8f\xfe\x8d\xfe\x8b\xfe\x00\x00\x00\x00\xc9\xfe\x84\xfe\x85\xfe\x00\x00\x7b\xfe\x7c\xfe\xd6\xff\x7f\xfe\x7d\xfe\x7e\xfe\x5f\xff\x00\x00\x66\xff\x00\x00\x00\x00\x00\x00\x59\xff\x00\x00\x00\x00\x1e\xfd\x44\xff\x00\x00\x22\xff\x00\x00\x00\x00\x98\xfe\xc9\xff\x00\x00\x00\x00\xee\xff\xc6\xff\x00\x00\x0e\xfe\x00\x00\x20\xfd\x21\xfd\x96\xff\x94\xff\x00\x00\x61\xff\x00\x00\x00\x00\x00\x00\xd7\xff\x82\xfe\x97\xfe\x73\xff\x00\x00\x00\x00\x8c\xfe\x00\x00\x00\x00\x8a\xfe\xd7\xff\x92\xfe\xb1\xfe\x00\x00\x00\x00\x00\x00\xd7\xff\xc0\xfe\x00\x00\xd0\xff\xac\xff\xab\xff\x18\xfd\xa8\xff\x00\x00\x00\x00\xa9\xff\xaa\xff\x00\x00\x00\x00\xd1\xff\xb0\xff\xbf\xfe\xbd\xfe\x00\x00\xad\xfe\xaf\xfe\x90\xfe\x7b\xff\x00\x00\x86\xfe\x76\xff\x88\xfe\x00\x00\x00\x00\xac\xfe\xc1\xfe\x80\xfe\x00\x00\x64\xff\x62\xff\x00\x00\x65\xff\x95\xff\x19\xff\x4c\xfe\x60\xff\x63\xff\x7a\xfe\xac\xfe\x79\xfe\x98\xff\x72\xff\x87\xfe\x00\x00\x00\x00\x4d\xff\x89\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\x75\xff\x71\xff\x78\xfe\x74\xff\x00\x00\xa4\xff\xbc\xfe"#
+
+happyCheck :: HappyAddr
+happyCheck = HappyA# "\xff\xff\x04\x00\x04\x00\x04\x00\x02\x00\x04\x00\x04\x00\x04\x00\x24\x00\x11\x00\x12\x00\x13\x00\x38\x00\x6f\x00\x2b\x00\x4b\x00\x67\x00\x0d\x00\x0e\x00\x0b\x00\x6f\x00\x83\x00\x0b\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x1f\x00\x17\x00\x0d\x00\x0e\x00\x78\x00\x0d\x00\x0e\x00\xc4\x00\x11\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\x1b\x00\x0d\x00\x0e\x00\x53\x00\x54\x00\x40\x00\x0d\x00\x0e\x00\x40\x00\x1b\x00\x40\x00\x21\x00\x22\x00\xc4\x00\x13\x00\x4a\x00\x1b\x00\x40\x00\x4a\x00\x1b\x00\x4a\x00\x1b\x00\x23\x00\x0d\x00\x0e\x00\x3d\x00\xcf\x00\x4a\x00\x80\x00\x1b\x00\x01\x00\x3d\x00\xdd\x00\x0d\x00\x0e\x00\xcf\x00\xcf\x00\x0d\x00\x0e\x00\x1b\x00\x2a\x00\x60\x00\x1b\x00\x1c\x00\x0d\x00\xf7\x00\x0d\x00\x0e\x00\x00\x00\xee\x00\x53\x00\x54\x00\x14\x00\x15\x00\x00\x00\x81\x00\x46\x00\x47\x00\x48\x00\x49\x00\x0a\x00\x22\x00\x0c\x00\xe2\x00\xf7\x00\x24\x00\xf7\x00\x50\x00\x24\x00\x7c\x00\x72\x00\x23\x00\x6b\x00\x0d\x00\x0e\x00\xf7\x00\xf7\x00\xf0\x00\x1e\x00\x4e\x00\x31\x00\x1b\x00\x4e\x00\x16\x00\x1e\x00\x06\x00\x2f\x00\xed\x00\xee\x00\x31\x00\x28\x00\x1d\x00\x15\x00\xde\x00\x3d\x00\x3b\x00\xea\x00\x23\x00\x6d\x00\x3c\x00\x48\x00\x76\x00\x4a\x00\xea\x00\x17\x00\x18\x00\x1b\x00\x24\x00\xed\x00\xee\x00\xed\x00\xee\x00\x47\x00\x48\x00\x49\x00\x8e\x00\x8f\x00\x90\x00\x25\x00\xdb\x00\x27\x00\x3d\x00\x04\x01\x05\x01\x6d\x00\x2c\x00\x2d\x00\x2e\x00\x8c\x00\x04\x01\x05\x01\x95\x00\x33\x00\xe9\x00\xea\x00\xeb\x00\x75\x00\x18\x00\x28\x00\x92\x00\x3b\x00\x95\x00\x76\x00\x95\x00\x3f\x00\x75\x00\x41\x00\x42\x00\x43\x00\xd9\x00\x25\x00\x95\x00\x27\x00\xdd\x00\xea\x00\xeb\x00\x92\x00\x2c\x00\x2d\x00\x2e\x00\x8c\x00\x95\x00\x18\x00\xf7\x00\x33\x00\xea\x00\xea\x00\xeb\x00\x23\x00\xc5\x00\xee\x00\xdb\x00\x3b\x00\x23\x00\xde\x00\x2a\x00\x3f\x00\xd5\x00\x41\x00\x42\x00\x43\x00\xcd\x00\xc5\x00\xd5\x00\xcd\x00\xe9\x00\xea\x00\xeb\x00\xf7\x00\xed\x00\xee\x00\xf7\x00\x05\x01\xf7\x00\x70\x00\xd9\x00\x23\x00\x24\x00\x74\x00\xdd\x00\xf7\x00\xea\x00\xeb\x00\xd9\x00\xf7\x00\xf7\x00\xf7\x00\x00\x00\xf7\x00\xf7\x00\xf7\x00\x03\x01\xea\x00\xeb\x00\xdb\x00\xf7\x00\xee\x00\xde\x00\xf7\x00\xda\x00\xea\x00\xeb\x00\xda\x00\x09\x01\x0b\x01\x0a\x01\x06\x00\x07\x00\xe9\x00\xea\x00\xeb\x00\x96\x00\xed\x00\xee\x00\x1b\x00\xea\x00\x02\x01\x1e\x00\xea\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\x17\x00\xd9\x00\xa4\x00\xa5\x00\xa6\x00\xdd\x00\xd9\x00\xa9\x00\xaa\x00\xab\x00\xdd\x00\x03\x01\x47\x00\x48\x00\x49\x00\xd9\x00\xb2\x00\x23\x00\xea\x00\xeb\x00\x96\x00\x27\x00\xee\x00\xea\x00\xeb\x00\x81\x00\x2c\x00\xee\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xea\x00\xeb\x00\xa4\x00\xa5\x00\xa6\x00\xdb\x00\x4b\x00\xa9\x00\xaa\x00\xab\x00\x02\x01\x48\x00\x49\x00\xd9\x00\xea\x00\xeb\x00\xb2\x00\xdd\x00\xea\x00\xe9\x00\xea\x00\xeb\x00\xd8\x00\xed\x00\xee\x00\xdb\x00\xdc\x00\x4b\x00\xde\x00\x32\x00\xea\x00\xeb\x00\x6f\x00\xfd\x00\xee\x00\xea\x00\x18\x00\x0a\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x05\x01\xdf\x00\x23\x00\x23\x00\xe2\x00\x52\x00\xe4\x00\xf6\x00\x6f\x00\xd8\x00\xf9\x00\xfa\x00\xdb\x00\xdc\x00\x2e\x00\xde\x00\xff\x00\x05\x01\xf0\x00\x25\x00\x23\x00\xf3\x00\xf4\x00\x2f\x00\xea\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x6d\x00\x11\x00\x7f\x00\x80\x00\x77\x00\x78\x00\x25\x00\xf6\x00\x27\x00\x8f\x00\xf9\x00\xfa\x00\x3b\x00\x2c\x00\x2d\x00\x2e\x00\xff\x00\x4b\x00\x04\x01\x05\x01\x33\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x79\x00\xd9\x00\xf8\x00\x3b\x00\xea\x00\xdd\x00\x25\x00\x3f\x00\x27\x00\x41\x00\x42\x00\x43\x00\x06\x00\x07\x00\x09\x00\x2e\x00\x0b\x00\x8a\x00\xea\x00\xeb\x00\x33\x00\xda\x00\xee\x00\xac\x00\xd9\x00\x26\x00\xaf\x00\x28\x00\x3b\x00\x17\x00\x04\x01\x05\x01\x3f\x00\xea\x00\x41\x00\x42\x00\x43\x00\xea\x00\x33\x00\x34\x00\x35\x00\xea\x00\xeb\x00\x26\x00\x7f\x00\x80\x00\x09\x00\x0a\x00\xdb\x00\x09\x00\xf3\x00\xf4\x00\xac\x00\xea\x00\xd9\x00\xaf\x00\x33\x00\x34\x00\x35\x00\x04\x01\x05\x01\xde\x00\xe9\x00\xea\x00\xeb\x00\x56\x00\x57\x00\x58\x00\xf8\x00\xdb\x00\x79\x00\xea\x00\xeb\x00\xf8\x00\xea\x00\x26\x00\xed\x00\xee\x00\x26\x00\x04\x01\x05\x01\xf8\x00\xde\x00\xe9\x00\xea\x00\xeb\x00\xf8\x00\x8a\x00\x33\x00\x34\x00\x35\x00\x33\x00\x34\x00\x35\x00\x96\x00\x66\x00\x67\x00\xed\x00\xee\x00\xee\x00\x04\x01\x05\x01\x9e\x00\x9f\x00\xa0\x00\xa1\x00\x18\x00\xca\x00\xa4\x00\xa5\x00\xa6\x00\xce\x00\xf7\x00\xa9\x00\xaa\x00\xab\x00\x25\x00\x23\x00\x27\x00\x96\x00\x06\x00\x07\x00\xb2\x00\x55\x00\x56\x00\x57\x00\x58\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xd9\x00\x37\x00\xa4\x00\xa5\x00\xa6\x00\xdb\x00\x17\x00\xa9\x00\xaa\x00\xab\x00\x1b\x00\x3f\x00\xdb\x00\x41\x00\x42\x00\x43\x00\xb2\x00\xea\x00\xeb\x00\xe9\x00\xea\x00\xeb\x00\xe7\x00\x18\x00\xea\x00\xeb\x00\xe9\x00\xea\x00\xeb\x00\xd8\x00\xef\x00\xf0\x00\xdb\x00\xdc\x00\x23\x00\xde\x00\x5f\x00\x81\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x29\x00\x2a\x00\xd8\x00\x18\x00\x18\x00\xdb\x00\xdc\x00\xf6\x00\xde\x00\x79\x00\xf9\x00\xfa\x00\xf7\x00\xd9\x00\x23\x00\x23\x00\xff\x00\xdd\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x25\x00\x8a\x00\x27\x00\xd7\x00\x08\x01\xea\x00\xeb\x00\xf6\x00\xdc\x00\xee\x00\xf9\x00\xfa\x00\x8d\x00\x8e\x00\x1d\x00\x90\x00\xff\x00\xea\x00\xeb\x00\xea\x00\x23\x00\x96\x00\xed\x00\xee\x00\xec\x00\x3e\x00\x3f\x00\x06\x00\x41\x00\x42\x00\x43\x00\xa0\x00\x25\x00\xa3\x00\x27\x00\xa4\x00\xfd\x00\xa6\x00\x0d\x00\x0e\x00\xa9\x00\xaa\x00\xab\x00\x01\x01\x17\x00\x04\x01\x05\x01\xd9\x00\xb2\x00\xb2\x00\xb4\x00\xdd\x00\xd9\x00\xf8\x00\x55\x00\x56\x00\x57\x00\x58\x00\x3f\x00\x27\x00\x41\x00\x42\x00\x43\x00\x18\x00\xea\x00\xeb\x00\x2e\x00\x1b\x00\xee\x00\xea\x00\xeb\x00\xa3\x00\x5a\x00\x5b\x00\xea\x00\xeb\x00\xea\x00\xeb\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xb2\x00\xd8\x00\xb4\x00\x07\x00\xdb\x00\xdc\x00\xfc\x00\xde\x00\xfc\x00\x0d\x00\x0e\x00\x1d\x00\xea\x00\x06\x00\x07\x00\xed\x00\xee\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x97\x00\x47\x00\x48\x00\x96\x00\x4a\x00\x4b\x00\x17\x00\xf6\x00\x1b\x00\x4f\x00\xf9\x00\xfa\x00\x23\x00\xa0\x00\x04\x01\x05\x01\xff\x00\xa4\x00\x29\x00\xa6\x00\x06\x00\x07\x00\xa9\x00\xaa\x00\xab\x00\x2c\x00\x18\x00\x8e\x00\x18\x00\x90\x00\xca\x00\xb2\x00\x25\x00\x1a\x00\x27\x00\x96\x00\xb2\x00\x17\x00\xb4\x00\x23\x00\x23\x00\x1a\x00\x23\x00\x29\x00\xea\x00\xa0\x00\x29\x00\xed\x00\xee\x00\xa4\x00\x23\x00\xa6\x00\x27\x00\x75\x00\xa9\x00\xaa\x00\xab\x00\x3e\x00\x3f\x00\x2e\x00\x41\x00\x42\x00\x43\x00\xb2\x00\x81\x00\x57\x00\x58\x00\xd6\x00\xd7\x00\xd8\x00\x04\x01\x05\x01\xdb\x00\xdc\x00\x23\x00\xde\x00\xd9\x00\xf7\x00\x27\x00\xac\x00\xdd\x00\x20\x00\xaf\x00\x2c\x00\x23\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x70\x00\xea\x00\xeb\x00\x73\x00\x74\x00\xee\x00\xdd\x00\xf6\x00\x81\x00\xd8\x00\xf9\x00\xfa\x00\xdb\x00\xdc\x00\xea\x00\xde\x00\xff\x00\xed\x00\xee\x00\xea\x00\xeb\x00\x58\x00\x59\x00\xee\x00\x1a\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x25\x00\x23\x00\x27\x00\xdb\x00\xfb\x00\x1a\x00\x1a\x00\xf6\x00\x04\x01\x05\x01\xf9\x00\xfa\x00\x39\x00\x3a\x00\x23\x00\x23\x00\xff\x00\xe9\x00\xea\x00\xeb\x00\x6e\x00\x96\x00\xac\x00\x1a\x00\xae\x00\xf7\x00\x3f\x00\xac\x00\x41\x00\x42\x00\x43\x00\xa0\x00\x23\x00\x03\x00\x35\x00\xa4\x00\x01\x00\xa6\x00\x08\x00\x09\x00\xa9\x00\xaa\x00\xab\x00\x08\x00\x09\x00\xf7\x00\x5b\x00\x2a\x00\x5d\x00\xb2\x00\x2d\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x6e\x00\x69\x00\x6a\x00\x6b\x00\x31\x00\xdf\x00\x01\x00\x34\x00\xe2\x00\xac\x00\xe4\x00\xae\x00\xd9\x00\x08\x00\x09\x00\xfe\x00\xdd\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\xf0\x00\x0d\x00\x0e\x00\xf3\x00\xf4\x00\xe7\x00\xd8\x00\xea\x00\xeb\x00\xdb\x00\xdc\x00\xee\x00\xde\x00\xef\x00\xf0\x00\xf1\x00\x01\x01\xf3\x00\xf4\x00\xf5\x00\x0d\x00\x0e\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x39\x00\x3a\x00\xf0\x00\x96\x00\xb3\x00\xf3\x00\xf4\x00\xf6\x00\xd9\x00\x11\x00\xf9\x00\xfa\x00\xdd\x00\xa0\x00\x58\x00\x59\x00\xff\x00\xa4\x00\xac\x00\xa6\x00\xae\x00\xa2\x00\xa9\x00\xaa\x00\xab\x00\xea\x00\xeb\x00\xb3\x00\x1b\x00\xee\x00\x1d\x00\xb2\x00\xca\x00\x1b\x00\x5b\x00\x1d\x00\x5d\x00\xdb\x00\x50\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xdb\x00\x69\x00\x6a\x00\x6b\x00\xe9\x00\xea\x00\xeb\x00\x52\x00\xde\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\xe9\x00\xea\x00\xeb\x00\x4f\x00\xdc\x00\xe9\x00\xea\x00\xeb\x00\xd8\x00\xed\x00\xee\x00\xdb\x00\xdc\x00\x3a\x00\xde\x00\x1e\x00\x1f\x00\x20\x00\xea\x00\x98\x00\xec\x00\xed\x00\xee\x00\x30\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x03\x01\x3a\x00\x70\x00\x71\x00\xe9\x00\xea\x00\xeb\x00\xf6\x00\xed\x00\xee\x00\xf9\x00\xfa\x00\x34\x00\x04\x01\x05\x01\x5b\x00\xff\x00\x5d\x00\xf3\x00\xf4\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x91\x00\x69\x00\x6a\x00\x6b\x00\x2f\x00\x2a\x00\x5b\x00\x2c\x00\x5d\x00\xf3\x00\xf4\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x8b\x00\x69\x00\x6a\x00\x6b\x00\xd9\x00\xe9\x00\xea\x00\xeb\x00\xdd\x00\xed\x00\xee\x00\x4d\x00\x3c\x00\xe0\x00\x97\x00\x2c\x00\xe3\x00\x2e\x00\xe5\x00\x9b\x00\xe7\x00\xea\x00\xeb\x00\x97\x00\xdc\x00\xee\x00\x7b\x00\x7c\x00\xef\x00\xf0\x00\xf1\x00\x75\x00\xf3\x00\xf4\x00\xf5\x00\xea\x00\xeb\x00\x81\x00\xea\x00\xee\x00\xec\x00\xed\x00\xee\x00\x5b\x00\x5c\x00\x5d\x00\x29\x00\x2a\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\xe7\x00\x01\x01\x04\x01\x05\x01\x53\x00\x54\x00\x55\x00\x56\x00\xef\x00\xf0\x00\xf1\x00\xee\x00\xf3\x00\xf4\x00\xf5\x00\x1c\x00\x2a\x00\x5b\x00\x2c\x00\x5d\x00\xea\x00\xeb\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x5a\x00\x5b\x00\x6a\x00\x6b\x00\x4c\x00\xdc\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xb5\x00\xb6\x00\xb7\x00\x4c\x00\xde\x00\xea\x00\x72\x00\xec\x00\xed\x00\xee\x00\xdc\x00\x87\x00\x88\x00\xe7\x00\x44\x00\x45\x00\xb5\x00\xb6\x00\xb7\x00\xed\x00\xee\x00\xef\x00\xf0\x00\x0a\x00\xea\x00\x0c\x00\xec\x00\xed\x00\xee\x00\x0d\x00\x0e\x00\x04\x01\x05\x01\x7a\x00\x7b\x00\x7c\x00\x28\x00\x5b\x00\x2a\x00\x5d\x00\xf8\x00\x03\x01\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x04\x01\x05\x01\x6a\x00\x6b\x00\xf1\x00\xf0\x00\xf3\x00\xf4\x00\xf5\x00\x2c\x00\x3b\x00\x2e\x00\x44\x00\x45\x00\x0d\x00\x0e\x00\xdc\x00\x42\x00\x43\x00\xc8\x00\xc9\x00\xca\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x99\x00\x9a\x00\x9b\x00\xea\x00\x36\x00\xec\x00\xed\x00\xee\x00\x5b\x00\x28\x00\x5d\x00\x2a\x00\x51\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xde\x00\x03\x00\x6a\x00\x6b\x00\xdc\x00\x28\x00\x01\x00\x2a\x00\x04\x01\x05\x01\x0a\x00\xe9\x00\xea\x00\xeb\x00\xb8\x00\xed\x00\xee\x00\x28\x00\xea\x00\x2a\x00\xec\x00\xed\x00\xee\x00\x06\x00\x07\x00\x0d\x00\x0e\x00\x0a\x00\x17\x00\x0c\x00\xf8\x00\x28\x00\xea\x00\x2a\x00\xf8\x00\xed\x00\xee\x00\x03\x01\x17\x00\x18\x00\x17\x00\x99\x00\x9a\x00\x9b\x00\x04\x01\x05\x01\xd1\x00\x28\x00\x1f\x00\x2a\x00\x93\x00\x94\x00\x95\x00\x96\x00\x3b\x00\x17\x00\x18\x00\x28\x00\x04\x01\x05\x01\xf8\x00\x42\x00\x43\x00\xa0\x00\xde\x00\x0f\x00\x10\x00\xa4\x00\xdc\x00\xa6\x00\xef\x00\xf0\x00\xa9\x00\xaa\x00\xab\x00\xe9\x00\xea\x00\xeb\x00\x51\x00\xed\x00\xee\x00\xb2\x00\xea\x00\xf8\x00\xec\x00\xed\x00\xee\x00\x52\x00\x41\x00\x42\x00\x43\x00\x51\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x03\x01\xb5\x00\xb6\x00\xb7\x00\xd3\x00\xd4\x00\x51\x00\x04\x01\x05\x01\x0d\x00\x0e\x00\x6b\x00\xdb\x00\x51\x00\x28\x00\xdc\x00\x2a\x00\x36\x00\xd8\x00\x0d\x00\x0e\x00\xdb\x00\xdc\x00\x28\x00\xde\x00\x2a\x00\xe9\x00\xea\x00\xeb\x00\xea\x00\x7e\x00\xec\x00\xed\x00\xee\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x26\x00\x94\x00\x95\x00\x96\x00\x0c\x00\x0d\x00\x0e\x00\xf6\x00\x0c\x00\x0d\x00\x0e\x00\x0d\x00\x0e\x00\xa0\x00\x04\x01\x05\x01\x28\x00\xa4\x00\x2a\x00\xa6\x00\xd3\x00\xd4\x00\xa9\x00\xaa\x00\xab\x00\xf8\x00\x5a\x00\x5b\x00\xdb\x00\x0d\x00\x0e\x00\xb2\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x1b\x00\xa0\x00\xe9\x00\xea\x00\xeb\x00\xa4\x00\x28\x00\xa6\x00\x2a\x00\xf8\x00\xa9\x00\xaa\x00\xab\x00\xee\x00\x5a\x00\x5b\x00\x92\x00\x93\x00\x94\x00\xb2\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x28\x00\xd8\x00\x2a\x00\xee\x00\xdb\x00\xdc\x00\x28\x00\xde\x00\x2a\x00\x01\x01\x09\x00\x0a\x00\x0b\x00\x0c\x00\xb5\x00\xb6\x00\xb7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x8e\x00\x8f\x00\x90\x00\xac\x00\x28\x00\xd8\x00\x2a\x00\xf6\x00\xdb\x00\xdc\x00\x1a\x00\xde\x00\x23\x00\xb8\x00\x25\x00\x26\x00\xa2\x00\x28\x00\x29\x00\x0d\x00\x0e\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x33\x00\x34\x00\x35\x00\x5b\x00\x28\x00\x5d\x00\x2a\x00\xf6\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xb6\x00\xb7\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\xf8\x00\x09\x00\x0a\x00\x4f\x00\x50\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x5b\x00\x01\x01\x5d\x00\x05\x00\x06\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\x6c\x00\x6d\x00\xea\x00\x25\x00\x26\x00\xed\x00\xee\x00\x25\x00\x26\x00\x6e\x00\x28\x00\x29\x00\x28\x00\x28\x00\x2a\x00\x2a\x00\xb3\x00\x33\x00\x34\x00\x35\x00\x64\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x04\x01\x05\x01\xea\x00\x29\x00\x2a\x00\xed\x00\xee\x00\x5b\x00\xac\x00\x5d\x00\x0d\x00\x0e\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\x28\x00\x6d\x00\x2a\x00\x19\x00\x04\x01\x05\x01\x28\x00\x28\x00\x2a\x00\x2a\x00\xf7\x00\x28\x00\xac\x00\x2a\x00\x18\x00\x5b\x00\x09\x00\x5d\x00\x0d\x00\x0e\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\xdc\x00\x6d\x00\x0d\x00\x0e\x00\x09\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x2c\x00\xe7\x00\x08\x00\x09\x00\xea\x00\x2e\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\x82\x00\xf3\x00\xf4\x00\xf5\x00\x05\x00\x06\x00\xdc\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x29\x00\x2a\x00\xe7\x00\x04\x01\x05\x01\xea\x00\x18\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\x65\x00\xf3\x00\xf4\x00\xf5\x00\x2c\x00\x5b\x00\x7d\x00\x5d\x00\x29\x00\x2a\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x04\x01\x05\x01\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x4c\x00\x4d\x00\x5b\x00\x65\x00\x5d\x00\x29\x00\xdc\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x06\x00\x07\x00\xe7\x00\x6b\x00\x18\x00\xea\x00\xde\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\x04\x00\x05\x00\x29\x00\x2a\x00\xe7\x00\xe9\x00\xea\x00\xeb\x00\x17\x00\xed\x00\xee\x00\xdc\x00\xef\x00\xf0\x00\xf1\x00\x95\x00\xf3\x00\xf4\x00\xf5\x00\x04\x01\x05\x01\x29\x00\x2a\x00\x06\x00\x07\x00\xea\x00\x23\x00\xec\x00\xed\x00\xee\x00\x5b\x00\x03\x01\x5d\x00\x29\x00\x2a\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x8a\x00\x8b\x00\x6a\x00\x6b\x00\x18\x00\x6d\x00\x4c\x00\x4d\x00\x04\x01\x05\x01\x06\x00\x07\x00\x1b\x00\x2a\x00\x2a\x00\x5b\x00\x18\x00\x5d\x00\x1d\x00\x4c\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x4c\x00\x69\x00\x6a\x00\x6b\x00\x68\x00\x1c\x00\x29\x00\x18\x00\x5b\x00\x17\x00\x5d\x00\x1d\x00\xdc\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x98\x00\x69\x00\x6a\x00\x6b\x00\x23\x00\xea\x00\x06\x00\xec\x00\xed\x00\xee\x00\x18\x00\x1d\x00\xdc\x00\x1d\x00\x2e\x00\x1c\x00\x29\x00\x0d\x00\x18\x00\xac\x00\x18\x00\x28\x00\x49\x00\x23\x00\x69\x00\x2a\x00\xea\x00\x26\x00\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\x5b\x00\x95\x00\x5d\x00\x23\x00\x1c\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x95\x00\x69\x00\x6a\x00\x6b\x00\x18\x00\x7d\x00\x04\x01\x05\x01\x5b\x00\x29\x00\x5d\x00\x1c\x00\x1c\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xdc\x00\x69\x00\x6a\x00\x6b\x00\x65\x00\xe0\x00\x6d\x00\x7c\x00\xe3\x00\x23\x00\xe5\x00\x1b\x00\xe7\x00\x5f\x00\xea\x00\x2c\x00\xec\x00\xed\x00\xee\x00\x25\x00\xef\x00\xf0\x00\xf1\x00\x25\x00\xf3\x00\xf4\x00\xf5\x00\x65\x00\xdc\x00\x7d\x00\x7d\x00\x1c\x00\x65\x00\x2c\x00\x1c\x00\x29\x00\xdb\x00\x1c\x00\x1c\x00\xde\x00\x04\x01\x05\x01\xea\x00\x23\x00\xec\x00\xed\x00\xee\x00\x1d\x00\x2c\x00\xdc\x00\xe9\x00\xea\x00\xeb\x00\x7d\x00\xed\x00\xee\x00\x23\x00\x20\x00\x67\x00\x18\x00\x0d\x00\x2a\x00\x17\x00\xea\x00\x23\x00\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\x5b\x00\x7d\x00\x5d\x00\x18\x00\x95\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\x95\x00\x18\x00\x04\x01\x05\x01\x5b\x00\x23\x00\x5d\x00\x20\x00\xdc\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x33\x00\x69\x00\x6a\x00\x6b\x00\x1b\x00\xea\x00\xe7\x00\xec\x00\xed\x00\xee\x00\x18\x00\x10\x00\xdc\x00\x69\x00\xef\x00\xf0\x00\xf1\x00\x29\x00\xf3\x00\xf4\x00\xf5\x00\x0d\x00\x20\x00\x29\x00\x23\x00\x95\x00\xea\x00\x2a\x00\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\x5b\x00\x7d\x00\x5d\x00\x95\x00\x95\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\x29\x00\x7d\x00\x04\x01\x05\x01\x5b\x00\x7d\x00\x5d\x00\x2c\x00\x7d\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\x7d\x00\x65\x00\x23\x00\x6e\x00\x5b\x00\x60\x00\x5d\x00\x18\x00\x18\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x06\x00\x69\x00\x6a\x00\x6b\x00\x10\x00\x2c\x00\x23\x00\xdc\x00\x2c\x00\x2c\x00\x1d\x00\x1c\x00\x43\x00\x2d\x00\x1b\x00\xe0\x00\x2c\x00\x95\x00\xe3\x00\x2a\x00\xe5\x00\xea\x00\xe7\x00\xec\x00\xed\x00\xee\x00\x95\x00\x95\x00\xdc\x00\x0a\x00\xef\x00\xf0\x00\xf1\x00\x1f\x00\xf3\x00\xf4\x00\xf5\x00\x10\x00\x23\x00\x95\x00\x23\x00\x2c\x00\xea\x00\x2a\x00\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\x5b\x00\x0d\x00\x5d\x00\x95\x00\x4e\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\x23\x00\x29\x00\x04\x01\x05\x01\x5b\x00\x1b\x00\x5d\x00\x61\x00\xdc\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\x00\xea\x00\x10\x00\xec\x00\xed\x00\xee\x00\x17\x00\x48\x00\xdc\x00\x4e\x00\x1d\x00\x1d\x00\x25\x00\x28\x00\x1b\x00\x7a\x00\xe0\x00\x1d\x00\x1d\x00\xe3\x00\x1c\x00\xe5\x00\xea\x00\xe7\x00\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\xdc\x00\x18\x00\xef\x00\xf0\x00\xf1\x00\x49\x00\xf3\x00\xf4\x00\xf5\x00\x10\x00\x1f\x00\x72\x00\x17\x00\x68\x00\xea\x00\x0d\x00\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\x5b\x00\x25\x00\x5d\x00\x2a\x00\x23\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x1d\x00\x69\x00\x6a\x00\x6b\x00\x25\x00\x7e\x00\x04\x01\x05\x01\x5b\x00\x25\x00\x5d\x00\x23\x00\x06\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x75\x00\x69\x00\x6a\x00\x6b\x00\x53\x00\x95\x00\x95\x00\xdc\x00\x18\x00\x23\x00\x18\x00\x18\x00\x18\x00\x18\x00\x20\x00\xe0\x00\x23\x00\x22\x00\xe3\x00\x2e\x00\xe5\x00\xea\x00\xe7\x00\xec\x00\xed\x00\xee\x00\x1c\x00\x18\x00\xdc\x00\x43\x00\xef\x00\xf0\x00\xf1\x00\x43\x00\xf3\x00\xf4\x00\xf5\x00\x2c\x00\x43\x00\x20\x00\x1b\x00\x28\x00\xea\x00\x4e\x00\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\x5b\x00\x77\x00\x5d\x00\x6e\x00\x0d\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x2e\x00\x69\x00\x6a\x00\x6b\x00\x95\x00\x95\x00\x04\x01\x05\x01\x5b\x00\x18\x00\x5d\x00\x18\x00\x18\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\x23\x00\x20\x00\x20\x00\x5b\x00\x18\x00\x5d\x00\x22\x00\xdc\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x1d\x00\x69\x00\x6a\x00\x6b\x00\x75\x00\xea\x00\x1c\x00\xec\x00\xed\x00\xee\x00\x6e\x00\x1c\x00\xdc\x00\x96\x00\x96\x00\x95\x00\x29\x00\x95\x00\x10\x00\x10\x00\x10\x00\x96\x00\x1c\x00\x1c\x00\x1c\x00\x2d\x00\xea\x00\x1c\x00\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\x5b\x00\x2d\x00\x5d\x00\x96\x00\x85\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x75\x00\x00\x00\x6a\x00\x6b\x00\x00\x00\x6d\x00\x04\x01\x05\x01\x5b\x00\x96\x00\x5d\x00\x75\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x75\x00\x69\x00\x6a\x00\x6b\x00\x6d\x00\x1c\x00\xff\xff\xdc\x00\x5b\x00\xff\xff\x75\x00\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\xff\xff\xff\xff\xdc\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\xdc\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\x04\x01\x05\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\x6b\x00\xff\xff\xff\xff\x04\x01\x05\x01\x5b\x00\xff\xff\x5d\x00\xff\xff\xdc\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\xff\xff\xff\xff\xdc\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\x04\x01\x05\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\xea\x00\x6a\x00\x6b\x00\xed\x00\xee\x00\x04\x01\x05\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\x04\x01\x05\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\xdc\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\xff\xff\xff\xff\xdc\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\xea\x00\x00\x01\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\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\x00\x01\x6a\x00\x6b\x00\xff\xff\x04\x01\x05\x01\x5b\x00\xff\xff\x5d\x00\xff\xff\xdc\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\xff\xff\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\xff\xff\xff\xff\xdc\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\xdc\x00\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\x04\x01\x05\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\xea\x00\x6a\x00\x6b\x00\xed\x00\xee\x00\x04\x01\x05\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\x04\x01\x05\x01\xdc\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\xff\xff\xdc\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\xff\xff\x04\x01\x05\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\x04\x01\x05\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\xea\x00\xff\xff\xff\xff\xed\x00\xee\x00\xff\xff\xff\xff\xdc\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\xdc\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\x04\x01\x05\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\xea\x00\x6a\x00\x6b\x00\xed\x00\xee\x00\x04\x01\x05\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\x04\x01\x05\x01\xdc\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\xff\xff\xdc\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\xff\xff\x04\x01\x05\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\x5b\x00\xff\xff\x5d\x00\x04\x01\x05\x01\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\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\xff\xff\x5b\x00\xdc\x00\xff\xff\xff\xff\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xff\xff\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\xff\xff\x5b\x00\xdc\x00\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\xff\xff\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\x04\x01\x05\x01\xdc\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\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\xff\xff\xff\xff\xdc\x00\xff\xff\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\xff\xff\xea\x00\xdc\x00\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x04\x01\x05\x01\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x04\x01\x05\x01\xff\xff\xea\x00\xff\xff\xff\xff\xed\x00\xee\x00\xff\xff\xff\xff\xdc\x00\xff\xff\xff\xff\x04\x01\x05\x01\xff\xff\xff\xff\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\xff\xff\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\x04\x01\x05\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xdc\x00\xff\xff\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\xff\xff\xff\xff\xff\xff\xff\xff\x04\x01\x05\x01\xea\x00\xff\xff\xec\x00\xed\x00\xee\x00\x5e\x00\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xea\x00\xff\xff\x6b\x00\xed\x00\xee\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x04\x01\x05\x01\xe3\x00\xff\xff\xff\xff\xff\xff\xe7\x00\xff\xff\xff\xff\xea\x00\x7d\x00\x7e\x00\xed\x00\xee\x00\xef\x00\xf0\x00\x04\x01\x05\x01\xff\xff\x5e\x00\xff\xff\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\x04\x01\x05\x01\x06\x01\x07\x01\xe7\x00\xff\xff\xe9\x00\xea\x00\xeb\x00\xff\xff\xed\x00\xee\x00\xef\x00\xf0\x00\xff\xff\x7d\x00\x7e\x00\xea\x00\xde\x00\xff\xff\xed\x00\xee\x00\xff\xff\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xe9\x00\xea\x00\xeb\x00\x03\x01\xed\x00\xee\x00\xb2\x00\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\x04\x01\x05\x01\xff\xff\xff\xff\xff\xff\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\x01\xff\xff\xff\xff\xff\xff\xff\xff\xe9\x00\xea\x00\xeb\x00\xff\xff\xed\x00\xee\x00\x25\x00\x26\x00\xff\xff\x28\x00\xff\xff\xff\xff\xde\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\x33\x00\x34\x00\x35\x00\xff\xff\xea\x00\xff\xff\x03\x01\xed\x00\xee\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x04\x01\x05\x01\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xea\x00\xff\xff\xff\xff\xed\x00\xee\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\x04\x01\x05\x01\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\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\xff\xff\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x90\x00\x91\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\xff\xff\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\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\xff\xff\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x90\x00\x91\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\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\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\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\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\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\x91\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\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\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\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\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\x91\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\xff\xff\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\x91\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\xff\xff\x68\x00\x69\x00\xff\xff\x6b\x00\xff\xff\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\xff\xff\x74\x00\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\x83\x00\x84\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x91\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\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xe9\x00\xea\x00\xeb\x00\xff\xff\xed\x00\xee\x00\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\xde\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xe9\x00\xea\x00\xeb\x00\x03\x01\xed\x00\xee\x00\x01\x00\xff\xff\x69\x00\xff\xff\x6b\x00\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\xff\xff\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x03\x01\xff\xff\x17\x00\x7e\x00\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\x8c\x00\x8d\x00\x28\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\x31\x00\x32\x00\x33\x00\x34\x00\xe9\x00\xea\x00\xeb\x00\xff\xff\xed\x00\xee\x00\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\x03\x01\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\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\x09\x00\x0a\x00\x6b\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\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\x25\x00\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\x8c\x00\x8d\x00\x2e\x00\xff\xff\xff\xff\x31\x00\xff\xff\x33\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\x6b\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\x7e\x00\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\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\x1a\x00\xff\xff\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\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\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\x68\x00\xff\xff\xff\xff\x6b\x00\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x72\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x1f\x00\x20\x00\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\x1f\x00\x20\x00\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x85\x00\x86\x00\x87\x00\x88\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\xde\x00\xff\xff\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe9\x00\xea\x00\xeb\x00\xff\xff\xed\x00\xee\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\x01\x00\xff\xff\xff\xff\xff\xff\x03\x01\x06\x00\x07\x00\xff\xff\x69\x00\x0a\x00\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\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\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\xff\xff\xff\xff\xff\xff\x31\x00\xff\xff\xff\xff\x34\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\xff\xff\xff\xff\x3d\x00\x3e\x00\xff\xff\xff\xff\xde\x00\xff\xff\xff\xff\x44\x00\xff\xff\x46\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe9\x00\xea\x00\xeb\x00\xff\xff\xed\x00\xee\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\x03\x01\xff\xff\x68\x00\xff\xff\xff\xff\x6b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x72\x00\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x7e\x00\x7f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\x8c\x00\x8d\x00\xff\xff\x1f\x00\xde\x00\x21\x00\xff\xff\xff\xff\x24\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe9\x00\xea\x00\xeb\x00\xff\xff\xed\x00\xee\x00\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\x03\x01\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\x69\x00\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\xff\xff\x0a\x00\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\x1f\x00\xff\xff\x21\x00\xff\xff\xff\xff\x24\x00\x25\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x6b\x00\xff\xff\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\xff\xff\xff\xff\x7e\x00\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\x8c\x00\x8d\x00\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x6b\x00\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\x7e\x00\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\x8c\x00\x8d\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x89\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x89\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x89\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x89\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x89\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x89\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x87\x00\x88\x00\x89\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x87\x00\x88\x00\x89\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\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\x01\x00\xff\xff\x03\x00\x73\x00\x74\x00\x06\x00\x07\x00\xff\xff\x78\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x87\x00\x88\x00\x89\x00\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\x23\x00\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\x23\x00\xff\xff\x25\x00\x26\x00\xff\xff\x28\x00\x29\x00\x2a\x00\x23\x00\x2c\x00\x25\x00\x26\x00\xff\xff\x28\x00\x29\x00\x17\x00\x33\x00\x34\x00\x35\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x75\x00\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\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\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\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\x75\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\x00\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\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\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\x17\x00\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\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\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x80\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\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\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\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\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\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\x01\x00\x6b\x00\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\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x17\x00\x18\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\xff\xff\x1f\x00\x06\x00\x07\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\x35\x00\x01\x00\xff\xff\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x2e\x00\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\x35\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\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\x7e\x00\x7f\x00\xff\xff\xff\xff\x68\x00\x69\x00\x01\x00\x6b\x00\x03\x00\x52\x00\xff\xff\x06\x00\x07\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\x7f\x00\x17\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x6b\x00\xff\xff\x1f\x00\xff\xff\xff\xff\xff\xff\x09\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\x7e\x00\x17\x00\xff\xff\xff\xff\xff\xff\x35\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\x33\x00\x34\x00\x35\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\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\x7e\x00\x7f\x00\xff\xff\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\x09\x00\x0a\x00\x0b\x00\x0c\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x17\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x18\x00\xff\xff\x1f\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x23\x00\xff\xff\xff\xff\x26\x00\xff\xff\x28\x00\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\x2e\x00\xff\xff\x35\x00\xff\xff\xff\xff\x33\x00\x34\x00\x35\x00\xff\xff\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\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\x06\x00\x07\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\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\x68\x00\x69\x00\x06\x00\x6b\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\x17\x00\x18\x00\xff\xff\x7e\x00\x7f\x00\xff\xff\x01\x00\x68\x00\x69\x00\xff\xff\x6b\x00\x06\x00\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\xff\xff\x17\x00\x7e\x00\x7f\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\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\xff\xff\xff\xff\x68\x00\x69\x00\x01\x00\x6b\x00\x03\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\x7e\x00\x7f\x00\x17\x00\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x1d\x00\x6b\x00\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\xff\xff\x27\x00\x75\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7b\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\xff\xff\xff\xff\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\xff\xff\xff\xff\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\x01\x00\xff\xff\x03\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\x7e\x00\x7f\x00\xff\xff\xff\xff\x17\x00\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x1d\x00\x6b\x00\x01\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\xff\xff\xff\xff\x17\x00\x68\x00\x69\x00\xff\xff\x6b\x00\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x26\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\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\x01\x00\x6b\x00\xff\xff\xff\xff\xff\xff\x06\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\x7e\x00\x7f\x00\x17\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\xff\xff\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\x17\x00\xff\xff\x7e\x00\xff\xff\x01\x00\xff\xff\xff\xff\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\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\x01\x00\xff\xff\x03\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\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\x17\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x01\x00\xff\xff\x68\x00\x69\x00\xff\xff\x6b\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\x7e\x00\x7f\x00\xff\xff\x1c\x00\x68\x00\x69\x00\x01\x00\x6b\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x29\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x17\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\x01\x00\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\x17\x00\xff\xff\xff\xff\xff\xff\x68\x00\x69\x00\x01\x00\x6b\x00\xff\xff\xff\xff\xff\xff\x06\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\x7e\x00\x7f\x00\x17\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x68\x00\x69\x00\xff\xff\x6b\x00\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\x7e\x00\x7f\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\xff\xff\xff\xff\xff\xff\x01\x00\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\x17\x00\xff\xff\x7e\x00\x7f\x00\xff\xff\x01\x00\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\x17\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x01\x00\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\x17\x00\xff\xff\xff\xff\x7e\x00\x7f\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\x01\x00\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\x17\x00\xff\xff\xff\xff\x7e\x00\x7f\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\xff\xff\xff\xff\xff\xff\x7e\x00\x7f\x00\x01\x00\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\x17\x00\xff\xff\xff\xff\x7e\x00\x7f\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\x01\x00\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\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\x01\x00\xff\xff\xff\xff\x7e\x00\x7f\x00\x06\x00\xff\xff\x08\x00\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\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\x01\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\xff\xff\x7e\x00\x7f\x00\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\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\x07\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\x01\x00\x17\x00\xff\xff\x19\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1f\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\x17\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x7e\x00\x06\x00\x07\x00\xff\xff\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\x01\x00\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\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x6b\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\x17\x00\xff\xff\x2e\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\x6b\x00\x52\x00\x53\x00\x54\x00\x55\x00\x26\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x01\x00\x17\x00\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\x01\x00\xff\xff\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x6b\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7e\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\x52\x00\x53\x00\x54\x00\x55\x00\x6b\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\xff\xff\x7e\x00\xff\xff\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\xff\xff\x52\x00\x53\x00\x54\x00\x55\x00\x6b\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\xff\xff\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\x7e\x00\xff\xff\x6b\x00\xb2\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\x7e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xd8\x00\xc2\x00\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xff\xff\xc2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbe\x00\xbf\x00\xc0\x00\xff\xff\xc2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xbf\x00\xc0\x00\xff\xff\xc2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xc1\x00\xc2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xcb\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xc1\x00\xc2\x00\xff\xff\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xcb\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xd8\x00\xff\xff\xb2\x00\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xf6\x00\xff\xff\xd0\x00\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xcb\x00\xff\xff\xa9\x00\xaa\x00\xab\x00\xd0\x00\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc1\x00\xc2\x00\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xcb\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xf6\x00\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xb2\x00\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xd8\x00\xff\xff\xb2\x00\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xf6\x00\xff\xff\xd0\x00\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xcb\x00\xff\xff\xff\xff\xff\xff\xff\xff\xd0\x00\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd8\x00\xc2\x00\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xcb\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xcc\x00\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xf6\x00\xf7\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\xb1\x00\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xe1\x00\xff\xff\xe3\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbc\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc3\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xe1\x00\xff\xff\xe3\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xff\xff\xf2\x00\xff\xff\xf4\x00\xf5\x00\xf6\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xbb\x00\xbc\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xe1\x00\xff\xff\xe3\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xff\xff\xf2\x00\xff\xff\xf4\x00\xf5\x00\xf6\x00\xff\xff\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xe1\x00\xff\xff\xe3\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xff\xff\xf2\x00\xff\xff\xf4\x00\xf5\x00\xf6\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xe1\x00\xff\xff\xe3\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xff\xff\xf2\x00\xff\xff\xf4\x00\xf5\x00\xf6\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xe1\x00\xff\xff\xe3\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xff\xff\xf2\x00\xff\xff\xf4\x00\xf5\x00\xf6\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xe1\x00\xff\xff\xe3\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xff\xff\xf2\x00\xff\xff\xf4\x00\xf5\x00\xf6\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xe1\x00\xff\xff\xe3\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xff\xff\xf2\x00\xff\xff\xf4\x00\xf5\x00\xf6\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xe1\x00\xff\xff\xe3\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xff\xff\xf2\x00\xff\xff\xf4\x00\xf5\x00\xf6\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xe1\x00\xff\xff\xe3\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xff\xff\xf2\x00\xff\xff\xf4\x00\xf5\x00\xf6\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xad\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xe1\x00\xff\xff\xe3\x00\xff\xff\xff\xff\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xff\xff\xf2\x00\xff\xff\xf4\x00\xf5\x00\xf6\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xc6\x00\xc7\x00\xff\xff\xff\xff\xff\xff\xcb\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xc7\x00\xff\xff\xb2\x00\xff\xff\xcb\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb0\x00\xff\xff\xb2\x00\xff\xff\xcb\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb1\x00\xb2\x00\xff\xff\xcb\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xb0\x00\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xcb\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xff\xff\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\xff\xff\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xff\xff\xf6\x00\xa4\x00\xa5\x00\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa4\x00\xff\xff\xa6\x00\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xf6\x00\xff\xff\xff\xff\xb2\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\xa8\x00\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf6\x00\xff\xff\xb2\x00\xff\xff\xff\xff\xb5\x00\xb6\x00\xb7\x00\xff\xff\xb9\x00\xba\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\x00\xff\xff\xff\xff\xb5\x00\xb6\x00\xb7\x00\xff\xff\xb9\x00\xba\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf6\x00\xff\xff\xb2\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\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf6\x00\xff\xff\xb2\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\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf6\x00\xff\xff\xb2\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\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf6\x00\xff\xff\xb2\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\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf6\x00\xff\xff\xb2\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\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xf6\x00\xff\xff\xb2\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\xa9\x00\xaa\x00\xab\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xb2\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\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xd8\x00\xff\xff\xff\xff\xdb\x00\xdc\x00\xff\xff\xde\x00\xf6\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xf6\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"#
+
+happyTable :: HappyAddr
+happyTable = HappyA# "\x00\x00\x12\x00\x0e\x00\x10\x00\xa4\x00\x0c\x00\xa5\x00\x14\x00\x3c\x05\x8d\x03\x8e\x03\x8f\x03\xc8\x04\x36\x05\xe0\x04\xad\x04\x49\x03\xb1\x00\x3b\x02\x43\x02\x31\x02\x16\x04\x9c\x00\xb1\x00\x3b\x02\xb1\x00\xce\x02\xa6\x02\xae\xff\xb1\x00\x0a\x02\x07\x05\xb1\x00\x0a\x02\x78\x02\xf9\x04\xb1\x00\x96\x04\xb1\x00\xce\x02\x3a\x02\xb1\x00\x87\x04\x74\x04\x4d\x04\xac\x00\xb1\x00\x81\x04\xac\x00\x3a\x02\xac\x00\xfa\x04\xfb\x04\xca\x01\x64\x04\x2a\x04\x3a\x02\xac\x00\x18\x03\x5f\x03\xad\x00\x61\x03\xd0\x01\xb1\x00\x81\x04\x3c\x02\xef\x00\xf6\x00\x0b\x05\x61\x03\x39\x04\x3e\x02\x01\x05\xb1\x00\x87\x04\xf5\x00\xfb\x00\xb1\x00\x96\x04\x3a\x02\x3a\x05\xfd\x03\x2f\xfd\x9a\x01\x5b\x03\xcb\x01\xb1\x00\xcc\x04\x93\x01\x89\x01\x4c\x04\x4d\x04\x66\x04\x67\x04\x93\x01\x39\x05\x95\x02\x96\x02\x97\x02\x98\x02\xbd\x00\x2c\x05\xbe\x00\x93\x04\xcb\x01\x3a\x04\xf0\x00\x6f\x03\x68\x04\xfe\x03\xa8\x02\x1b\x03\xa3\x04\xb1\x00\xcc\x04\xf0\x00\xf0\x00\x20\x03\x94\x01\x2b\x04\x5c\x03\x1a\x05\xd3\x03\x5a\x04\x94\x01\x38\x00\x69\x01\x17\x04\x30\x00\x26\x05\xc1\x00\x36\x05\xda\x04\xaa\x04\xcd\x04\x1c\x03\x85\x00\xf5\x04\x17\x00\x6a\x01\xaa\x00\x97\x04\xab\x00\x85\x00\x36\x02\x37\x02\x3a\x02\x68\x04\x2f\x00\x30\x00\x86\x00\x30\x00\xa9\x03\x97\x02\x98\x02\x7f\x01\x80\x01\x81\x01\xd7\x01\x2c\x03\xd8\x01\xce\x04\x32\x02\x88\x00\x2f\xfd\x38\x02\xda\x01\xdb\x01\x88\x04\x32\x02\x88\x00\x03\x03\xdc\x01\x2b\x00\x2c\x00\x2d\x00\x22\x05\x7c\x03\x1c\x03\x82\x04\xdd\x01\x60\x03\x98\x04\x62\x03\xde\x01\xac\x00\xdf\x01\xe0\x01\xe1\x01\x69\x04\xd7\x01\x65\x03\xd8\x01\x6a\x04\x2c\x00\x4e\x04\x83\x04\x7d\x03\xda\x01\xdb\x01\x89\x04\xf5\x02\x34\x05\xc9\x04\xdc\x01\x85\x00\x2c\x00\x88\x01\x1b\x03\xcf\x02\x89\x01\x90\x03\xdd\x01\x35\x05\xb7\x00\x2a\x04\xde\x01\x3d\x02\xdf\x01\xe0\x01\xe1\x01\x0b\x02\xd0\x02\x3f\x02\x0c\x02\x2b\x00\x2c\x00\x2d\x00\xae\x00\x2f\x00\x30\x00\xae\x00\xe1\x04\xae\x00\xce\x03\xfc\x04\x2e\x05\x2f\x05\x86\x04\xfd\x04\xae\x00\x2c\x00\x4e\x04\x99\x02\x0d\x00\x0d\x00\x0d\x00\x93\x01\x0d\x00\x0d\x00\x0d\x00\x91\x03\x2c\x00\x88\x01\x90\x03\x9d\x00\x89\x01\xb7\x00\x9d\x00\xd4\x03\x2c\x00\x88\x01\xd4\x03\x0f\x00\x13\x00\x11\x00\x38\x00\x39\x00\x2b\x00\x2c\x00\x2d\x00\xe2\x01\x2f\x00\x30\x00\x3a\x02\xd5\x03\xfe\x04\x94\x01\xd5\x03\xe3\x01\x1a\x00\xe4\x01\x1c\x00\x5a\x04\xfc\x04\x1d\x00\x1e\x00\x1f\x00\xfd\x04\x69\x04\x20\x00\x21\x00\x22\x00\x6a\x04\x91\x03\x66\x03\x97\x02\x98\x02\x99\x02\x23\x00\xc2\x01\x2c\x00\x88\x01\xe2\x01\xc3\x01\x89\x01\x2c\x00\x88\x01\x23\x05\xc4\x01\x89\x01\xe3\x01\x1a\x00\xe4\x01\x1c\x00\x2c\x00\x88\x01\x1d\x00\x1e\x00\x1f\x00\x5b\x04\x2b\x03\x20\x00\x21\x00\x22\x00\xfe\x04\xaa\x03\x98\x02\x69\x04\x2c\x00\xbc\x03\x23\x00\x6a\x04\x85\x00\x2b\x00\x2c\x00\x2d\x00\x26\x00\x5c\x04\x30\x00\x27\x00\x28\x00\xad\x04\x29\x00\x11\x05\x2c\x00\x88\x01\x3b\x04\x7b\x04\x89\x01\x85\x00\xd7\x04\xbd\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x1c\x05\x1d\x03\xd8\x04\x1b\x03\x1e\x03\xbb\x02\x1f\x03\x31\x00\x31\x02\x26\x00\xe5\x01\xe6\x01\x27\x00\x28\x00\xa7\x03\x29\x00\xe7\x01\x7e\x04\x20\x03\x95\x04\xd0\x01\x21\x03\xd3\x00\x2a\x05\x85\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xbc\x02\x04\x05\x2b\x05\xaf\x04\xa8\x04\xa9\x04\xd7\x01\x31\x00\xd8\x01\xef\x04\xe5\x01\xe6\x01\xd1\x01\xd9\x01\xda\x01\xdb\x01\xe7\x01\xad\x04\xbc\x04\x88\x00\xdc\x01\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x14\x05\x69\x04\x18\x05\xdd\x01\x85\x00\x6a\x04\xd7\x01\xde\x01\xd8\x01\xdf\x01\xe0\x01\xe1\x01\x38\x00\x39\x00\xd6\x00\x24\x03\xd7\x00\x15\x05\x2c\x00\x88\x01\xdc\x01\x2d\x04\x89\x01\xba\x01\x99\x02\xd9\x00\x0b\x03\xc1\x00\xdd\x01\x19\x04\x32\x04\x88\x00\xde\x01\x85\x00\xdf\x01\xe0\x01\xe1\x01\xd5\x03\xdb\x00\x57\x01\xdd\x00\x2c\x00\x88\x01\xd9\x00\xae\x04\xaf\x04\xd6\x00\xbd\x00\x2c\x03\xd6\x00\xfb\x02\xd3\x00\xba\x01\x85\x00\x99\x02\xdf\x02\xdb\x00\x57\x01\xdd\x00\x58\x02\x88\x00\x58\x04\x2b\x00\x2c\x00\x2d\x00\xad\x03\x9e\x02\x9f\x02\xde\x04\x2c\x03\xee\x03\x2c\x00\x88\x01\xa6\x04\x85\x00\xd9\x00\x2f\x00\x30\x00\xd9\x00\x32\x02\x88\x00\xb3\x04\xaa\x04\x2b\x00\x2c\x00\x2d\x00\xbd\x04\xef\x03\xdb\x00\x57\x01\xdd\x00\xdb\x00\x57\x01\xdd\x00\xe2\x01\x33\x01\x80\x00\x2f\x00\x30\x00\xf1\x03\x32\x02\x88\x00\xe3\x01\x1a\x00\xe4\x01\x1c\x00\x0b\x03\x75\x02\x1d\x00\x1e\x00\x1f\x00\x76\x02\x7c\x04\x20\x00\x21\x00\x22\x00\xd7\x01\xcd\x00\xd8\x01\xe2\x01\x38\x00\x39\x00\x23\x00\x9c\x02\x9d\x02\x9e\x02\x9f\x02\xe3\x01\x1a\x00\xe4\x01\x1c\x00\x02\x05\x7f\x04\x1d\x00\x1e\x00\x1f\x00\x2c\x03\x5a\x04\x20\x00\x21\x00\x22\x00\x3a\x02\xb5\x04\x56\x03\xdf\x01\xe0\x01\xe1\x01\x23\x00\x2c\x00\x88\x01\x2b\x00\x2c\x00\x2d\x00\xfe\x01\x5a\x02\x2c\x00\x73\x04\x2b\x00\x2c\x00\x2d\x00\x26\x00\xb9\x00\xba\x00\x27\x00\x28\x00\x28\x02\x29\x00\x46\x01\x9c\x04\x47\x01\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x38\x05\x3e\x04\x26\x00\xe8\x02\xb5\x01\x27\x00\x28\x00\x31\x00\x29\x00\x26\x03\xe5\x01\xe6\x01\x97\x01\x86\x01\xcd\x00\xcd\x00\xe7\x01\x87\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xd7\x01\x27\x03\xd8\x01\x9b\x03\x98\x01\x2c\x00\x88\x01\x31\x00\x9c\x03\x89\x01\xe5\x01\xe6\x01\xb6\x04\xb7\x04\xf4\x04\xb8\x04\xe7\x01\x2c\x00\xbc\x03\x85\x00\xf5\x04\xe2\x01\x86\x00\x30\x00\x2e\x00\x4d\x02\x4e\x02\x38\x00\xdf\x01\xe0\x01\xe1\x01\x4f\x02\xd7\x01\x51\x04\xd8\x01\x1d\x00\xbd\x03\x1f\x00\xe7\x04\xe8\x04\x20\x00\x21\x00\x22\x00\x9e\x04\xae\x02\x34\x01\x88\x00\x86\x01\x04\x02\x23\x00\x05\x02\x87\x01\x27\x04\x06\x04\xa0\x02\x9d\x02\x9e\x02\x9f\x02\xb5\x04\x0e\x03\xdf\x01\xe0\x01\xe1\x01\x7c\x03\x2c\x00\x88\x01\xba\x01\x07\x02\x89\x01\x2c\x00\x88\x01\x03\x02\xe6\x04\x4c\x03\x2c\x00\x52\x03\x2c\x00\x52\x03\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x04\x02\x26\x00\x05\x02\x8d\x01\x27\x00\x28\x00\xbe\x03\x29\x00\x53\x03\xb1\x00\x8e\x01\x08\x04\x85\x00\x38\x00\x39\x00\x86\x00\x30\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x10\x04\x08\x02\x58\x00\xe2\x01\x59\x00\x5a\x00\x5a\x04\x31\x00\x3a\x02\x09\x02\xe5\x01\xe6\x01\xe4\x03\x4f\x02\x87\x00\x88\x00\xe7\x01\x1d\x00\xf6\x04\x1f\x00\x38\x00\x39\x00\x20\x00\x21\x00\x22\x00\x78\x02\x24\x02\x0c\x05\x22\x02\xb8\x04\x0f\x04\x23\x00\xd7\x01\x0d\x03\xd8\x01\xe2\x01\x04\x02\x4b\x03\x05\x02\xb8\x01\xe4\x03\xe1\x02\xcd\x00\x25\x02\x85\x00\x4f\x02\xe5\x03\xa3\x01\x30\x00\x1d\x00\xcd\x00\x1f\x00\x10\x03\x14\x04\x20\x00\x21\x00\x22\x00\x4d\x02\x4e\x02\xba\x01\xdf\x01\xe0\x01\xe1\x01\x23\x00\x15\x04\xac\x03\x9f\x02\x50\x02\x51\x02\x26\x00\x1a\x02\x88\x00\x27\x00\x52\x02\xc8\x01\x29\x00\x86\x01\x19\x04\xc9\x01\xba\x01\x87\x01\x5b\x02\xbb\x01\xca\x01\x28\x02\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xce\x03\x2c\x00\x88\x01\xcf\x03\xd0\x03\x89\x01\xaa\x02\x31\x00\x1b\x04\x26\x00\xe5\x01\xe6\x01\x27\x00\x28\x00\x85\x00\x29\x00\xe7\x01\x86\x00\x30\x00\x2c\x00\xab\x02\x84\x01\x9b\x02\x89\x01\xbd\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xd7\x01\xcd\x00\xd8\x01\x57\x03\xac\x02\xcc\x00\x26\x02\x31\x00\x87\x00\x88\x00\xe5\x01\xe6\x01\xe2\x04\xe3\x04\xcd\x00\xb8\x01\xe7\x01\x2b\x00\x2c\x00\x2d\x00\x1c\x04\xe2\x01\xb2\x01\x27\x02\x09\x03\x2f\x04\x9a\x03\xcf\x00\xdf\x01\xe0\x01\xe1\x01\x4f\x02\x28\x02\xa6\x00\x37\x04\x1d\x00\x83\x01\x1f\x00\xa7\x00\xa8\x00\x20\x00\x21\x00\x22\x00\x82\x01\xa8\x00\x35\x04\x77\x00\x50\x03\x78\x00\x23\x00\x51\x03\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x44\x04\xe4\x04\x82\x00\x83\x00\x91\x00\x1d\x03\x81\x01\x92\x00\x1e\x03\xb2\x01\x11\x04\xe6\x02\x86\x01\x82\x01\xa8\x00\x40\x04\x87\x01\x55\x04\x5f\x02\x60\x02\x61\x02\xd5\x04\x20\x03\xf1\x04\xf2\x04\x21\x03\xd3\x00\xd0\x00\x26\x00\x2c\x00\x88\x01\x27\x00\x28\x00\x89\x01\x29\x00\xb9\x00\xba\x00\xd1\x00\x5d\x04\xd2\x00\xd3\x00\xd4\x00\xf7\x04\xf8\x04\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xe5\x04\xe3\x04\xfa\x02\xe2\x01\x62\x04\xfb\x02\xd3\x00\x31\x00\x86\x01\x5f\x04\xe5\x01\xe6\x01\x87\x01\x4f\x02\x84\x01\x85\x01\xe7\x01\x1d\x00\xb2\x01\x1f\x00\xb3\x01\xa4\x03\x20\x00\x21\x00\x22\x00\x2c\x00\x88\x01\xa8\x03\x1a\x05\x89\x01\x1c\x05\x23\x00\xa5\x03\x3a\x02\x77\x00\x08\x04\x78\x00\x59\x03\xae\x03\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x5c\x03\xe4\x04\x82\x00\x83\x00\x2b\x00\x2c\x00\x2d\x00\xaf\x03\xb7\x00\x08\x02\x58\x00\x64\x04\x59\x00\x5a\x00\x2b\x00\x2c\x00\x2d\x00\x09\x02\x84\x00\x62\x02\x2c\x00\x2d\x00\x26\x00\x2f\x00\x30\x00\x27\x00\x28\x00\x20\x05\x29\x00\x9f\x04\xa0\x04\xa1\x04\x85\x00\xbd\x02\x2e\x00\x86\x00\x30\x00\xc3\x03\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x63\x02\x0f\x05\x84\x04\x85\x04\xa2\x01\x2c\x00\x2d\x00\x31\x00\xa3\x01\x30\x00\xe5\x01\xe6\x01\xc7\x03\x87\x00\x88\x00\x77\x00\xe7\x01\x78\x00\xfb\x02\xd3\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xc8\x03\xe4\x04\x82\x00\x83\x00\xcc\x03\x73\xfe\x77\x00\x73\xfe\x78\x00\x2c\x04\xd3\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xd1\x03\xe4\x04\x82\x00\x83\x00\x86\x01\xc4\x01\x2c\x00\x2d\x00\x87\x01\xa3\x01\x30\x00\xd8\x03\x40\x03\x6d\x01\xdd\x03\x78\x02\x6e\x01\xf9\x03\x81\x03\xe1\x03\xe4\x00\x2c\x00\x88\x01\xe2\x03\x84\x00\x89\x01\x8e\x04\xe7\x03\xb9\x00\xba\x00\x70\x01\xea\x03\xd2\x00\xd3\x00\xd4\x00\x2c\x00\xf0\x03\xec\x03\x85\x00\xf1\x03\x2e\x00\x86\x00\x30\x00\x77\x00\x41\x03\x42\x03\x3d\x04\x3e\x04\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xd0\x04\x48\x04\xc5\x00\x83\x00\x43\x03\xc7\x00\xfe\x01\x02\x04\x87\x00\x88\x00\xda\x03\xdb\x03\xdc\x03\xdd\x03\xb9\x00\xba\x00\x63\x01\x01\x03\xd2\x00\xd3\x00\xd4\x00\x05\x03\x31\x03\x77\x00\x32\x03\x78\x00\x2c\x00\xbf\x03\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xb2\x04\x4c\x03\x49\x04\x83\x00\x33\x03\x84\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xd3\x04\x00\x01\x01\x01\x3c\x03\xb7\x00\x85\x00\x3d\x03\x2e\x00\x86\x00\x30\x00\x84\x00\x78\x03\x61\x02\xb8\x00\x47\x04\x48\x04\xd8\x04\x00\x01\x01\x01\x2f\x00\x30\x00\xb9\x00\xba\x00\xbd\x00\x85\x00\xbe\x00\x2e\x00\x86\x00\x30\x00\xf9\x03\xfa\x03\x87\x00\x88\x00\xe5\x03\xe6\x03\xe7\x03\xd2\xfd\x77\x00\xd2\xfd\x78\x00\x13\x03\xbb\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x87\x00\x88\x00\x49\x04\x83\x00\x63\x01\xfa\x02\xd2\x00\xd3\x00\xd4\x00\xb9\x01\xbf\x04\xba\x01\x4b\x04\x48\x04\x03\x04\x04\x04\x84\x00\xc0\x04\xc1\x04\xf5\x03\xf6\x03\xf7\x03\x37\x05\x5e\x02\x5f\x02\x60\x02\x61\x02\x2d\x03\x2e\x03\x2f\x03\x85\x00\x44\x03\x2e\x00\x86\x00\x30\x00\x77\x00\xe4\xfd\x78\x00\xe4\xfd\x5d\x03\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xb7\x00\x89\x03\x49\x04\x83\x00\x84\x00\xe6\xfd\x33\x00\xe6\xfd\x87\x00\x88\x00\x46\x02\x62\x02\x2c\x00\x2d\x00\x44\x02\x2f\x00\x30\x00\xe7\xfd\x85\x00\xe7\xfd\x2e\x00\x86\x00\x30\x00\x38\x00\x39\x00\x03\x04\x05\x04\xbd\x00\xd8\x03\xbe\x00\x49\x02\xee\xfd\x85\x00\xee\xfd\x4a\x02\x86\x00\x30\x00\x63\x02\x03\x03\x37\x02\xbf\x00\x32\x03\x2e\x03\x2f\x03\x87\x00\x88\x00\x6d\x02\xef\xfd\xc0\x00\xef\xfd\xc2\x04\xc3\x04\xc4\x04\xc5\x04\xbf\x04\x04\x03\x37\x02\xc1\x00\x87\x00\x88\x00\x6b\x02\xc0\x04\xc1\x04\x4f\x02\xb7\x00\x86\x03\x87\x03\x1d\x00\x84\x00\x1f\x00\x51\x03\xba\x00\x20\x00\x21\x00\x22\x00\x62\x02\x2c\x00\x2d\x00\xa4\x02\x2f\x00\x30\x00\x23\x00\x85\x00\x73\x02\x2e\x00\x86\x00\x30\x00\x5b\x00\xed\x04\xe0\x01\xe1\x01\xa6\x02\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x63\x02\x42\x02\x00\x01\x01\x01\x07\x03\xa7\x01\xa8\x02\x87\x00\x88\x00\xb1\x00\x70\x03\x6d\x00\xa8\x01\xa9\x02\xf0\xfd\x84\x00\xf0\xfd\xb2\x02\x26\x00\x7f\x03\x80\x03\x27\x00\x28\x00\xf1\xfd\x29\x00\xf1\xfd\x2b\x00\x2c\x00\x2d\x00\x85\x00\x73\x00\x2e\x00\x86\x00\x30\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xc5\x02\x16\x05\xc4\x04\xc5\x04\xb0\x00\xb1\x00\xb2\x00\x31\x00\xb3\x00\xb1\x00\xb2\x00\x82\x03\x83\x03\x4f\x02\x87\x00\x88\x00\xf2\xfd\x1d\x00\xf2\xfd\x1f\x00\xa6\x01\xa7\x01\x20\x00\x21\x00\x22\x00\xc4\x02\x8a\x04\x4c\x03\xa8\x01\x54\x02\x55\x02\x23\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xef\x02\xee\x04\x2b\x00\x2c\x00\x2d\x00\x1d\x00\xf3\xfd\x1f\x00\xf3\xfd\x91\x01\x20\x00\x21\x00\x22\x00\xf5\x02\x4b\x03\x4c\x03\xb4\x02\xb5\x02\xb6\x02\x23\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xf4\xfd\x26\x00\xf4\xfd\xf8\x02\x27\x00\x28\x00\xf5\xfd\x29\x00\xf5\xfd\x94\x01\xd6\x00\xbd\x00\xd7\x00\xbe\x00\xff\x00\x00\x01\x01\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x7f\x01\x80\x01\x81\x01\xca\x00\xf6\xfd\x26\x00\xf6\xfd\x31\x00\x27\x00\x28\x00\x9b\x01\x29\x00\xbf\x02\x01\x02\x72\x01\xd9\x00\x0d\x02\xc1\x00\x0f\x05\xb1\x00\x56\x02\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xdb\x00\x57\x01\xdd\x00\x77\x00\xf8\xfd\x78\x00\xf8\xfd\x31\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x94\x02\x01\x01\xcd\x00\x83\x00\xce\x00\xc7\x00\x35\x02\xd6\x00\xbd\x00\xa1\x02\xa2\x02\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x77\x00\x40\x02\x78\x00\xf3\x02\x7d\x01\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xc2\x02\xc3\x02\xcd\x00\x83\x00\xce\x00\xc7\x00\x85\x00\x23\x03\xd9\x00\x86\x00\x30\x00\x72\x01\xd9\x00\xb6\x00\xc1\x00\x73\x01\xf7\xfd\xf9\xfd\xf7\xfd\xf9\xfd\xfd\x00\xdb\x00\x57\x01\xdd\x00\xdf\x00\xdb\x00\x57\x01\xdd\x00\x74\x01\x75\x01\x76\x01\x77\x01\x87\x00\x88\x00\x85\x00\x28\x05\x29\x05\x86\x00\x30\x00\x77\x00\xcf\x00\x78\x00\xb1\x00\xf1\x02\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xb1\x00\xf2\x02\xc5\x00\x83\x00\xfa\xfd\x2f\x02\xfa\xfd\x77\x01\x87\x00\x88\x00\xfb\xfd\x02\xfe\xfb\xfd\x02\xfe\x3b\x01\x03\xfe\xcf\x00\x03\xfe\x15\x00\x77\x00\x79\x01\x78\x00\xb1\x00\xf6\x02\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xb1\x00\x8f\x01\xc5\x00\x83\x00\x84\x00\x99\x04\xb1\x00\x90\x01\x7a\x01\x25\x05\x5e\x02\x5f\x02\x60\x02\x61\x02\x40\x04\x8f\x04\x41\x02\xa8\x00\x85\x00\x3c\x05\x2e\x00\x86\x00\x30\x00\xb9\x00\xba\x00\xd1\x00\x9a\x04\xd2\x00\xd3\x00\xd4\x00\x7c\x01\x7d\x01\x84\x00\x35\x03\x36\x03\x37\x03\x38\x03\x39\x03\x3a\x03\x3b\x03\x3c\x03\x13\x05\x14\x05\xd0\x00\x87\x00\x88\x00\x85\x00\x33\x05\x2e\x00\x86\x00\x30\x00\xb9\x00\xba\x00\xd1\x00\xee\x03\xd2\x00\xd3\x00\xd4\x00\x40\x04\x77\x00\xec\x03\xc4\x00\x29\x03\x2a\x03\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x87\x00\x88\x00\xc5\x00\x83\x00\xc6\x00\xc7\x00\x8c\x03\x8d\x03\x77\x00\xee\x03\x45\x04\xce\x03\x84\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x96\x01\x97\x01\xfe\x01\x46\x04\x2e\x05\x85\x00\xb7\x00\x2e\x00\x86\x00\x30\x00\xb9\x00\xba\x00\x36\x00\x37\x00\xc5\x03\xc6\x03\xd0\x00\x62\x02\x2c\x00\x2d\x00\x04\x05\x2f\x00\x30\x00\x84\x00\xb9\x00\xba\x00\xd1\x00\xdc\x04\xd2\x00\xd3\x00\xd4\x00\x87\x00\x88\x00\x29\x03\x2a\x03\x96\x01\x97\x01\x85\x00\x06\x05\x2e\x00\x86\x00\x30\x00\x77\x00\x63\x02\x78\x00\x29\x03\x2a\x03\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x48\x02\x49\x02\xc5\x00\x83\x00\x07\x05\xc9\x00\x6b\x03\x6c\x03\x87\x00\x88\x00\x96\x01\x97\x01\x3a\x02\x18\x05\x1b\x05\x77\x00\x1e\x05\x78\x00\xe0\x04\xda\x04\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xdd\x04\x3d\x05\x82\x00\x83\x00\xf1\x04\x77\xfd\xf7\x04\xa6\x04\x77\x00\xa4\x04\x78\x00\xa8\x04\x84\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xbd\x02\x1f\x05\x82\x00\x83\x00\x28\x02\x85\x00\x38\x00\x2e\x00\x86\x00\x30\x00\xb2\x04\xb5\x04\x84\x00\xbf\x04\xcc\x04\xcb\x04\xd2\x04\xd5\x04\x66\x04\xca\x00\x6e\x04\x70\x04\x72\x04\x6f\x04\xe9\x03\x73\x04\x85\x00\x76\x04\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\x77\x04\x78\x00\x78\x04\x7e\x04\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x79\x04\x21\x05\x82\x00\x83\x00\x8d\x04\x81\x04\x87\x00\x88\x00\x77\x00\x8c\x04\x78\x00\x78\xfd\x91\x04\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x84\x00\x24\x05\x82\x00\x83\x00\xee\x03\x6d\x01\x17\x00\x9e\x04\x6e\x01\x13\x03\xd4\x01\x3a\x02\xe4\x00\x0a\x04\x85\x00\x78\x02\x2e\x00\x86\x00\x30\x00\x13\x04\xb9\x00\xba\x00\x70\x01\x14\x04\xd2\x00\xd3\x00\xd4\x00\xee\x03\x84\x00\xdf\x03\xec\x03\x1b\x04\xee\x03\x26\x04\xb0\x00\x2f\x04\x38\x01\x31\x04\x37\x04\x39\x01\x87\x00\x88\x00\x85\x00\x32\x04\x2e\x00\x86\x00\x30\x00\x43\x04\x40\x04\x84\x00\x2b\x00\x2c\x00\x2d\x00\x42\x04\x2f\x00\x30\x00\x44\x04\x4b\x04\x54\x04\x58\x04\x55\x04\x7f\x03\x5f\x04\x85\x00\x61\x04\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\x98\x03\x78\x00\x62\x04\x99\x03\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x3a\x02\x29\x05\x82\x00\x83\x00\x9a\x03\xa1\x03\x87\x00\x88\x00\x77\x00\xa2\x03\x78\x00\xa3\x03\x84\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xa4\x03\x08\x05\x82\x00\x83\x00\x0f\x02\x85\x00\xfe\x01\x2e\x00\x86\x00\x30\x00\xac\x03\xa4\x02\x84\x00\xb1\x03\xb9\x00\xba\x00\x63\x01\xb2\x03\xd2\x00\xd3\x00\xd4\x00\xb3\x03\xb4\x03\xb5\x03\xd4\xfe\xb6\x03\x85\x00\xc7\x03\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\xca\x03\x78\x00\xb7\x03\xb8\x03\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xcc\x03\x0a\x05\x82\x00\x83\x00\xce\x03\xd3\x03\x87\x00\x88\x00\x77\x00\xdf\x03\x78\x00\x32\x03\xdf\x03\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xe9\x03\xdd\x04\x82\x00\x83\x00\xec\x03\xee\x03\xf3\x03\x10\x02\x77\x00\xff\x03\x78\x00\xff\x02\x00\x03\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x38\x00\xe9\x04\x82\x00\x83\x00\x07\x03\xb9\x01\x13\x03\x84\x00\x0f\x03\x0f\x03\x15\x03\xb0\x00\x24\x03\x1a\x03\x3a\x02\x6d\x01\x3f\x03\x46\x03\x6e\x01\x4f\x03\x81\x03\x85\x00\xe4\x00\x2e\x00\x86\x00\x30\x00\x47\x03\x48\x03\x84\x00\xbd\x00\xb9\x00\xba\x00\x70\x01\xa6\x02\xd2\x00\xd3\x00\xd4\x00\x64\x03\x63\x03\x66\x03\x68\x03\x69\x03\x85\x00\x6d\x03\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\x74\x03\x78\x00\x6a\x03\x6e\x03\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x7b\x03\x26\x04\x82\x00\x83\x00\xd0\xfe\x7c\x03\x87\x00\x88\x00\x77\x00\x3a\x02\x78\x00\x4b\x01\x84\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x7f\x03\x3a\x04\x82\x00\x83\x00\x85\x03\x85\x00\x86\x03\x2e\x00\x86\x00\x30\x00\x89\x03\xaa\x00\x84\x00\x46\x02\x4c\x02\x4d\x02\x68\x02\x69\x02\x6f\x02\x73\x02\x6d\x01\x70\x02\x75\x02\x6e\x01\xcd\x01\xd4\x01\x85\x00\xe4\x00\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x84\x00\xb1\x01\xb9\x00\xba\x00\x70\x01\x7c\x02\xd2\x00\xd3\x00\xd4\x00\xa4\x02\xa6\x02\xb7\x02\xb8\x02\xb9\x02\x85\x00\xc7\x02\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\xdb\x02\x78\x00\xeb\x02\xec\x02\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xed\x02\xc2\x03\x82\x00\x83\x00\xee\x02\xf1\x02\x87\x00\x88\x00\x77\x00\xef\x02\x78\x00\xf8\x02\x38\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xac\x00\x25\x03\x82\x00\x83\x00\x9d\x01\xfd\x02\x9b\x01\x84\x00\x43\xfd\xc0\x01\x40\xfd\xb0\x01\xb1\x01\xb2\x01\xc1\x01\x6d\x01\xc0\x01\xc7\x01\x6e\x01\xba\x01\x6f\x01\x85\x00\xe4\x00\x2e\x00\x86\x00\x30\x00\xcd\x01\xd3\x01\x84\x00\xd4\x01\xb9\x00\xba\x00\x70\x01\xd6\x01\xd2\x00\xd3\x00\xd4\x00\xd2\x01\xd7\x01\xc9\x00\x0f\x02\x01\x02\x85\x00\x03\x02\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\x0a\x02\x78\x00\x10\x02\x19\x02\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x12\x02\x2a\x03\x82\x00\x83\x00\x17\x02\x18\x02\x87\x00\x88\x00\x77\x00\x3d\xfd\x78\x00\x1f\x02\x20\x02\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x21\x02\xa1\x01\x82\x00\x83\x00\x23\x02\x29\x02\x2a\x02\x2b\x02\x77\x00\x2d\x02\x78\x00\x2c\x02\x84\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x3b\x02\x3c\x01\x82\x00\x83\x00\xac\x00\x85\x00\x9f\x00\x2e\x00\x86\x00\x30\x00\x10\x02\xb0\x00\x84\x00\xff\xff\xff\xff\xb5\x00\xde\x00\xb6\x00\xed\x00\xee\x00\xef\x00\xff\xff\xf2\x00\xb0\x00\xf2\x00\x6b\x01\x85\x00\x6c\x01\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\xa2\xfd\x78\x00\xff\xff\x79\x01\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xac\x00\xff\xff\xc5\x00\x83\x00\xff\xff\x2d\x02\x87\x00\x88\x00\x77\x00\xff\xff\x78\x00\xac\x00\xff\xff\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x7c\x01\x81\x00\x82\x00\x83\x00\x17\x00\x9f\x00\x00\x00\x84\x00\xae\x02\x00\x00\xac\x00\x00\x00\x00\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\x00\x00\xb8\x03\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x00\x00\xb9\x03\x00\x00\x00\x00\x87\x00\x88\x00\x77\x00\x00\x00\xb8\x03\x00\x00\x84\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x00\x00\xb9\x03\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x85\x00\xca\x03\x83\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x3f\x03\x83\x00\x00\x00\x00\x00\x87\x00\x88\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x48\x03\x83\x00\x00\x00\x00\x00\x00\x00\x84\x00\x1b\x02\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\xcf\x04\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x00\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\xba\x03\x58\x03\x83\x00\x00\x00\x87\x00\x88\x00\x77\x00\x00\x00\x78\x00\x00\x00\x84\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x57\x02\x83\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x84\x00\x00\x00\x00\x00\xab\x04\x00\x00\xac\x04\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x85\x00\x5b\x02\x83\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x5c\x02\x83\x00\x00\x00\x00\x00\x87\x00\x88\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x00\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x00\x00\x87\x00\x88\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\xb9\x02\x83\x00\x00\x00\x87\x00\x88\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\xc0\x02\x83\x00\x00\x00\x85\x00\x00\x00\x00\x00\x86\x00\x30\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x85\x00\x19\x02\x83\x00\x86\x00\x30\x00\x87\x00\x88\x00\x77\x00\x00\x00\x78\x00\x00\x00\x00\x00\x79\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\xde\x00\x83\x00\x00\x00\x00\x00\x87\x00\x88\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x00\x00\x84\x00\x77\x00\x00\x00\x0d\x05\x00\x00\x00\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x00\x00\x87\x00\x88\x00\x77\x00\x00\x00\x10\x05\x00\x00\x00\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x77\x00\x00\x00\xea\x04\x87\x00\x88\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x77\x00\x00\x00\x79\x04\x00\x00\x00\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x00\x00\x1c\x02\x84\x00\x00\x00\x00\x00\x00\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x00\x00\x77\x00\x84\x00\x4d\x03\x00\x00\x00\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x00\x00\xc2\x00\x00\x00\x00\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x87\x00\x88\x00\x84\x00\x1d\x02\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x00\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\xe2\x00\x00\x00\x85\x00\x84\x00\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x87\x00\x88\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x00\x00\xe0\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x87\x00\x88\x00\x00\x00\x85\x00\x00\x00\x00\x00\x86\x00\x30\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x87\x00\x88\x00\x00\x00\x00\x00\x00\x00\x75\x03\x76\x03\x5f\x02\x60\x02\x61\x02\x00\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x87\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\x00\x00\x34\x04\x5e\x02\x5f\x02\x60\x02\x61\x02\x00\x00\x00\x00\x00\x00\x00\x00\x87\x00\x88\x00\x85\x00\x00\x00\x2e\x00\x86\x00\x30\x00\x1d\x04\x00\x00\x1e\x04\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\x85\x00\x00\x00\x1f\x04\x86\x00\x30\x00\x55\x04\x5f\x02\x60\x02\x61\x02\x56\x04\x87\x00\x88\x00\xe3\x00\x00\x00\x00\x00\x00\x00\xe4\x00\x00\x00\x00\x00\x85\x00\x20\x04\x21\x04\x86\x00\x30\x00\xb9\x00\xba\x00\x87\x00\x88\x00\x00\x00\x1d\x04\x00\x00\x91\x04\x7a\x00\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x87\x00\x88\x00\xe5\x00\xe6\x00\xfe\x01\x00\x00\x62\x02\x2c\x00\x2d\x00\x00\x00\x2f\x00\x30\x00\xb9\x00\xba\x00\x00\x00\x92\x04\x21\x04\x85\x00\xb7\x00\x00\x00\x86\x00\x30\x00\x00\x00\x44\x01\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x62\x02\x2c\x00\x2d\x00\x63\x02\x2f\x00\x30\x00\x23\x00\x00\x00\x00\x00\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x00\x00\x87\x00\x88\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x00\x00\x00\x00\x00\x00\x00\x00\x62\x02\x2c\x00\x2d\x00\x00\x00\x2f\x00\x30\x00\x72\x01\xd9\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x22\x04\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\xdb\x00\x57\x01\xdd\x00\x00\x00\x85\x00\x00\x00\x63\x02\x23\x04\x30\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x87\x00\x88\x00\x22\x04\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x85\x00\x00\x00\x00\x00\x23\x04\x30\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x3a\x02\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x87\x00\x88\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x01\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\x00\x00\x69\x00\xeb\x01\xec\x01\xed\x01\xee\x01\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x17\x00\x00\x00\xef\x01\xf0\x01\xf1\x01\xf2\x01\xa2\x00\x70\x00\x00\x00\xf3\x01\x00\x00\x71\x00\x00\x00\x00\x00\xf4\x01\x00\x00\x00\x00\x73\x00\x74\x00\xf5\x01\xf6\x01\xf7\x01\xf8\x01\xf9\x01\x00\x00\xfa\x01\x75\x00\x76\x00\x77\x00\xfb\x01\xfc\x01\xd6\x00\xbd\x00\xd7\x00\xbe\x00\xfd\x01\xfe\x01\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\xd9\x00\x45\x00\xc1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\xdb\x00\x57\x01\xdd\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x01\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\x00\x00\x69\x00\xeb\x01\xec\x01\xed\x01\xee\x01\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x17\x00\x00\x00\xef\x01\xf0\x01\xf1\x01\xf2\x01\xa2\x00\x70\x00\x00\x00\xf3\x01\x00\x00\x71\x00\x00\x00\x00\x00\xf4\x01\x00\x00\x00\x00\x73\x00\x74\x00\xf5\x01\xf6\x01\xf7\x01\xf8\x01\xf9\x01\x00\x00\xfa\x01\x75\x00\x76\x00\x77\x00\xfb\x01\xfc\x01\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x01\xfe\x01\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x01\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\x00\x00\x69\x00\xeb\x01\xec\x01\xed\x01\xee\x01\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\xef\x01\xf0\x01\xf1\x01\xf2\x01\xa2\x00\x70\x00\x00\x00\xf3\x01\x00\x00\x71\x00\x00\x00\x00\x00\xf4\x01\x00\x00\x00\x00\x73\x00\x74\x00\xf5\x01\xf6\x01\xf7\x01\xf8\x01\xf9\x01\x00\x00\xfa\x01\x75\x00\x76\x00\x77\x00\xfb\x01\xfc\x01\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x01\xfe\x01\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x3a\x02\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\xba\x04\xbb\x04\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\xef\x01\xf0\x01\xf1\x01\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x04\x00\x00\x00\x00\x73\x00\x74\x00\xf5\x01\xf6\x01\xf7\x01\xf8\x01\xf9\x01\x00\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\xba\x04\xbb\x04\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\xef\x01\xf0\x01\xf1\x01\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x04\x00\x00\x00\x00\x73\x00\x74\x00\xf5\x01\xf6\x01\xf7\x01\xf8\x01\xf9\x01\x00\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x3a\x02\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\xef\x01\xf0\x01\xf1\x01\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\xf5\x01\xf6\x01\xf7\x01\xf8\x01\xf9\x01\x00\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x3a\x02\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\xc7\x04\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\xf3\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x04\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\xf6\x01\xf7\x01\xf8\x01\xf9\x01\x00\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\xef\x01\xf0\x01\xf1\x01\x00\x00\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\xf5\x01\xf6\x01\xf7\x01\xf8\x01\xf9\x01\x00\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\xc7\x04\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\xf3\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x04\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\xf6\x01\xf7\x01\xf8\x01\xf9\x01\x00\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x01\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x3c\x04\x5e\x02\x5f\x02\x60\x02\x61\x02\x00\x00\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\xf6\x01\xf7\x01\xf8\x01\xf9\x01\x9e\x03\x5e\x02\x5f\x02\x60\x02\x61\x02\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\xfe\x01\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\xd8\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\xcd\x00\x90\x00\x00\x00\xd9\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\x00\x00\x00\x00\x00\x91\x00\x00\x00\xdb\x00\xdc\x00\xdd\x00\xe9\x03\x5e\x02\x5f\x02\x60\x02\x61\x02\x00\x00\x00\x00\x93\x00\x94\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x62\x02\x2c\x00\x2d\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\xb7\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x62\x02\x2c\x00\x2d\x00\x63\x02\x2f\x00\x30\x00\x33\x00\x00\x00\x9a\x00\x00\x00\x6d\x00\x38\x00\x39\x00\x00\x00\xe8\x00\xbd\x00\x00\x00\xbe\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x00\x00\x8c\x00\x73\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\xe9\x00\x9b\x00\x9c\x00\xc1\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\xea\x00\x00\x00\x00\x00\x91\x00\xeb\x00\xec\x00\x92\x00\x62\x02\x2c\x00\x2d\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x00\x00\xe8\x00\xbd\x00\x6d\x00\xbe\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\xe9\x00\x00\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\xea\x00\x00\x00\x00\x00\x91\x00\x00\x00\xec\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\xbd\x00\x6d\x00\xbe\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x31\x02\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x9a\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\xcc\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\xcd\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x9a\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x0a\x05\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x9a\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\xec\x04\x00\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\xed\x04\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x9c\x04\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x9a\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x9a\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\xc2\x02\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x2f\x02\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x9a\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\xc9\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x9a\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x9a\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x9f\x03\x5f\x02\x60\x02\x61\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xbc\x03\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x02\x2c\x00\x2d\x00\x00\x00\x2f\x00\x30\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x63\x02\x38\x00\x39\x00\x00\x00\x9a\x00\x04\xff\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x04\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\xeb\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x9a\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xbc\x03\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x74\x03\x5e\x02\x5f\x02\x60\x02\x61\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x00\x00\x9a\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x5d\x02\x5e\x02\x5f\x02\x60\x02\x61\x02\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\xb7\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x02\x2c\x00\x2d\x00\x00\x00\x2f\x00\x30\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x63\x02\x00\x00\xb0\x02\x00\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\xb1\x02\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8a\x00\x73\x00\xb2\x02\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x8e\x00\xb7\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x02\x2c\x00\x2d\x00\x00\x00\x2f\x00\x30\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x63\x02\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x9a\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x00\x00\x00\x00\x04\xff\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x04\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x04\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x8a\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8c\x00\x00\x00\x8d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x8e\x00\x00\x00\x8f\x00\x00\x00\x00\x00\x90\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x91\x00\x00\x00\x00\x00\x92\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x00\x94\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x00\x00\x00\x96\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x6d\x00\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\xe3\x02\x73\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\xb8\x01\x48\x00\x56\x01\xd9\x00\x00\x00\xc1\x00\x9b\x00\x9c\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x57\x01\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x77\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\xea\x02\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\xb8\x01\x48\x00\x56\x01\xd9\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x57\x01\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x77\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\xb7\x01\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\xb8\x01\x48\x00\x56\x01\xd9\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x57\x01\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x77\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\xbf\x01\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\xb8\x01\x48\x00\x56\x01\xd9\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x57\x01\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x77\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x5e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\xcd\x00\x48\x00\x56\x01\xd9\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x57\x01\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x77\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x67\x01\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\xcd\x00\x48\x00\x56\x01\xd9\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x68\x01\x57\x01\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x77\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x5b\x01\x47\x00\x00\x00\x00\x00\x48\x00\x56\x01\xd9\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x57\x01\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x75\x00\x76\x00\x77\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x56\x01\xd9\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x57\x01\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x15\x02\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x02\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\xd7\x02\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x3a\x02\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x02\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\xd7\x02\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x02\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x12\x03\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x02\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\xfb\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x70\x00\x00\x00\x00\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x6e\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x35\x00\xa2\x00\x70\x00\x38\x00\x39\x00\x00\x00\x71\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x03\x75\x00\x76\x00\x77\x00\x00\x00\x00\x00\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x00\x00\x00\x00\x94\x03\x00\x00\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\xbf\x02\x00\x00\x72\x01\xd9\x00\x00\x00\xc1\x00\xc0\x02\x72\xfe\xbf\x02\x72\xfe\x72\x01\xd9\x00\x00\x00\xc1\x00\xc0\x02\x93\x03\xdb\x00\x57\x01\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x00\x57\x01\xdd\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x95\x03\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x96\x03\x00\x00\x00\x00\x73\x00\x74\x00\x97\x03\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\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x03\x8b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x96\x03\x00\x00\x00\x00\x73\x00\x74\x00\x97\x03\x00\x00\x94\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\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x00\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\x00\x00\x8b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\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\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x73\x00\x74\x00\x01\x05\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x73\x00\x74\x00\x01\x05\x81\x02\x34\x00\x35\x00\x36\x00\x37\x00\x82\x02\x39\x00\x05\x01\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x01\x83\x02\x84\x02\x85\x02\x86\x02\x87\x02\x88\x02\x89\x02\x8a\x02\x8b\x02\x8c\x02\x8d\x02\x8e\x02\x8f\x02\x90\x02\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x91\x02\x92\x02\x1f\x01\x93\x02\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\x94\x02\x74\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x02\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6a\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcf\x01\x00\x00\x4a\x00\x4b\x00\x00\x00\x00\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x00\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x4b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x00\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x47\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x00\x00\x55\x00\x56\x00\x57\x00\x00\x00\x58\x00\x00\x00\x59\x00\x5a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x33\x00\x6d\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x00\x00\x00\x00\xbd\x00\x00\x00\xbe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x65\x02\x78\x03\x00\x00\x00\x00\x33\x00\x00\x00\x35\x00\x00\x00\x66\x02\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x02\x00\x00\x00\x00\x00\x00\x67\x02\x33\x00\x00\x00\x00\x00\x66\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd7\x03\x00\x00\x00\x00\x7a\x03\x00\x00\x00\x00\x00\x00\xd8\x03\x00\x00\x00\x00\x67\x02\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\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\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x33\x00\x6d\x00\x35\x00\x5b\x00\x00\x00\x38\x00\x39\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x65\x02\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x6d\x00\x00\x00\x66\x02\x00\x00\x00\x00\x00\x00\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x9b\x02\x00\x00\x00\x00\x00\x00\x67\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x00\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\x00\x57\x01\xdd\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\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\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x33\x00\x6d\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x00\xbd\x00\xd7\x00\xbe\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x65\x02\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\xd8\x00\x00\x00\x66\x02\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x00\x00\x00\x00\xd9\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x00\x00\x8b\x01\x31\x05\xda\x00\x00\x00\x67\x02\x00\x00\x00\x00\xdb\x00\x57\x01\xdd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x32\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x00\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\xaa\x01\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x38\x00\x6d\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\x00\x00\x8b\x01\x6c\x04\x00\x00\x73\x00\x74\x00\x00\x00\x33\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x01\x73\x00\x74\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\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\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x33\x00\x6d\x00\x35\x00\x00\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\x00\x00\x00\x00\x73\x00\x74\x00\xaa\x01\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\xab\x01\x6d\x00\x33\x00\x00\x00\x35\x00\x00\x00\x00\x00\x38\x00\x39\x00\x00\x00\xac\x01\x8c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8d\x01\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x3b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x8b\x01\x00\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\x6d\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x33\x00\x00\x00\x35\x00\x00\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\x73\x00\x74\x00\x00\x00\x00\x00\xaa\x01\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\xb1\x04\x6d\x00\x33\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\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x34\x02\x6b\x00\x6c\x00\x00\x00\x6d\x00\x33\x00\x00\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7b\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\xaa\x01\x00\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\xac\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x33\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x38\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x73\x00\x74\x00\x8b\x01\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x35\x00\x00\x00\x00\x00\x6d\x00\x00\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\x00\x00\xaa\x01\x00\x00\x73\x00\x00\x00\x33\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x38\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x01\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x35\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\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\xaa\x01\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\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\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x55\x03\x6b\x00\x6c\x00\x33\x00\x6d\x00\x35\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\xaa\x01\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x33\x00\x6d\x00\x00\x00\x00\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\x00\x00\x00\x00\x73\x00\x74\x00\x29\x04\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x33\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x38\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\x73\x00\x74\x00\x8b\x01\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\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\xae\x02\x73\x00\x74\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\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\x50\x04\x00\x00\x73\x00\x74\x00\x00\x00\x33\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\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\x29\x04\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\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\x04\x00\x00\x00\x00\x73\x00\x74\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\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\x9b\x02\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x38\x00\x6d\x00\x00\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\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x33\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9b\x02\x00\x00\x00\x00\x73\x00\x74\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\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\x00\x00\x00\x00\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\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\x03\x01\x00\x00\x00\x00\x73\x00\x74\x00\x04\x01\x00\x00\x05\x01\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x74\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x6b\x00\x6c\x00\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x02\x00\x00\x73\x00\x74\x00\x00\x00\x00\x00\x06\x01\x07\x01\x08\x01\x09\x01\x0a\x01\x0b\x01\x0c\x01\x0d\x01\x0e\x01\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\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x39\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x33\x00\x36\x01\x00\x00\x37\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x01\x00\x00\x6d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x34\x02\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x73\x00\x38\x00\x39\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\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\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x6d\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x34\x02\x00\x00\x34\x04\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x6d\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x35\x02\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x33\x00\x34\x02\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6d\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\xcb\xfe\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x6d\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x6d\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x00\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\x6d\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x6d\x00\x00\x00\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\x00\x00\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\xcb\xfe\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x97\x00\x98\x00\x99\x00\xcb\xfe\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x00\x00\x48\x01\x49\x01\xf3\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\xcb\xfe\x00\x00\x6d\x00\x23\x00\xc7\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\x73\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\xd1\x02\xd2\x02\xd3\x02\xd4\x02\x26\x00\xd5\x02\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\xca\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xc7\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\x02\xd2\x02\xd3\x02\xd4\x02\x00\x00\xd5\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xc7\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\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\x04\xd3\x02\xd4\x02\x00\x00\xd5\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xc7\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\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\xfb\x03\xd4\x02\x00\x00\xd5\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xc7\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\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\xdf\x03\xc9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xca\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xc7\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\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\x6f\x03\xc9\x02\x00\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\xca\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\x23\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x31\x00\x00\x00\x72\x03\x00\x00\x13\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\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\xc7\x02\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x00\x00\x1d\x00\x1e\x00\x1f\x00\x24\x00\x00\x00\x20\x00\x21\x00\x22\x00\x6c\x02\x00\x00\x13\x02\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x02\xc9\x02\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xca\x02\xa4\x01\x00\x00\x00\x00\xa5\x01\x1e\x00\x1f\x00\x31\x00\x00\x00\x20\x00\x21\x00\x22\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x23\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x31\x00\x00\x00\x12\x02\x00\x00\x13\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\xc7\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\x23\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x02\x00\x00\x13\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\xf3\x03\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\xca\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\xf7\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\x23\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\xa4\x04\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x31\x00\xf9\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\x23\x00\xd2\x04\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x8d\x04\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x0a\x04\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x0b\x04\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x0c\x04\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x0e\x04\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x52\x04\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x9d\x03\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\xe0\x03\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xf4\x03\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x10\x03\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xac\x01\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\xc1\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x3f\x01\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x40\x01\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xa2\x00\xa3\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\x5e\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\x5f\x01\x60\x01\x00\x00\x00\x00\x00\x00\x61\x01\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x4f\x01\x00\x00\x50\x01\x00\x00\x00\x00\x51\x01\x62\x01\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xb9\x00\xba\x00\x63\x01\x52\x01\xd2\x00\x64\x01\x65\x01\x31\x00\x4b\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\x4c\x01\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\x4d\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x50\x01\x00\x00\x00\x00\x51\x01\xe4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xb9\x00\xba\x00\x00\x00\x52\x01\x00\x00\x53\x01\x54\x01\x31\x00\x4b\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\x57\x01\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\x58\x01\x59\x01\x4b\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\x5b\x01\x5c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x50\x01\x00\x00\x00\x00\x51\x01\xe4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xb9\x00\xba\x00\x00\x00\x52\x01\x00\x00\x53\x01\x54\x01\x31\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x50\x01\x00\x00\x00\x00\x51\x01\xe4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xb9\x00\xba\x00\x00\x00\x52\x01\x00\x00\x53\x01\x54\x01\x31\x00\xd8\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\xd9\x02\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\xdd\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\xd9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x50\x01\x00\x00\x00\x00\x51\x01\xe4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xb9\x00\xba\x00\x00\x00\x52\x01\x00\x00\x53\x01\x54\x01\x31\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x50\x01\x00\x00\x00\x00\x51\x01\xe4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xb9\x00\xba\x00\x00\x00\x52\x01\x00\x00\x53\x01\x54\x01\x31\x00\x4b\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\xde\x02\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\x4b\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\xe1\x02\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x50\x01\x00\x00\x00\x00\x51\x01\xe4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xb9\x00\xba\x00\x00\x00\x52\x01\x00\x00\x53\x01\x54\x01\x31\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x50\x01\x00\x00\x00\x00\x51\x01\xe4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xb9\x00\xba\x00\x00\x00\x52\x01\x00\x00\x53\x01\x54\x01\x31\x00\x4b\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\xe8\x02\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\x4b\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\xb5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x50\x01\x00\x00\x00\x00\x51\x01\xe4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xb9\x00\xba\x00\x00\x00\x52\x01\x00\x00\x53\x01\x54\x01\x31\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x50\x01\x00\x00\x00\x00\x51\x01\xe4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xb9\x00\xba\x00\x00\x00\x52\x01\x00\x00\x53\x01\x54\x01\x31\x00\x4b\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\xbd\x01\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x4f\x01\x00\x00\x50\x01\x00\x00\x00\x00\x51\x01\xe4\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xb9\x00\xba\x00\x00\x00\x52\x01\x00\x00\x53\x01\x54\x01\x31\x00\x9f\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\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\x15\x03\x16\x03\x00\x00\x00\x00\x00\x00\x17\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x9f\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\x9f\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\x0d\x04\x00\x00\x23\x00\x00\x00\x17\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\xc0\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x9f\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\x79\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\x7a\x02\x00\x00\x23\x00\x00\x00\xc1\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x9f\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\xe4\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\xe5\x02\x23\x00\x00\x00\xe3\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\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x41\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x42\x01\x00\x00\x23\x00\x00\x00\x9f\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x1e\x05\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\x70\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\xff\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\x01\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x08\x03\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\x71\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x69\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\x6a\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x70\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\x71\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\xcc\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\xcd\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\xd7\x02\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\xdc\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x9d\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\x9e\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x9f\x01\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\xa0\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\xfc\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\xfe\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x50\x04\x1a\x00\x3e\x01\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\x00\x00\xc5\x01\x1a\x00\x3e\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x3d\x01\x1a\x00\x3e\x01\x1c\x00\x00\x00\x31\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\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa5\x01\x00\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\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xcd\x01\xf3\x00\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x31\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\xf2\x00\xf3\x00\x21\x00\x22\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x7c\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x23\x00\x00\x00\x00\x00\x7d\x02\x00\x01\x01\x01\x00\x00\x7e\x02\x8a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x7d\x02\x00\x01\x01\x01\x00\x00\x7e\x02\x7f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xa7\x03\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\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\x03\x21\x00\x22\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xbc\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\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\xf9\x02\x21\x00\x22\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xfd\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\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\xad\x01\x21\x00\x22\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\xae\x01\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\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\x6c\x01\x21\x00\x22\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x10\x02\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\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\x43\x01\x21\x00\x22\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x45\x01\x21\x00\x22\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\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\x6c\x01\x21\x00\x22\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\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x26\x00\x00\x00\x00\x00\x27\x00\x28\x00\x00\x00\x29\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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, 760) [
+	(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)
+	]
+
+happy_n_terms = 151 :: Int
+happy_n_nonterms = 268 :: Int
+
+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 = 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 = 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 = 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 = 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 = 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 = 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 happyOut195 happy_x_2 of { happy_var_2 -> 
+	case happyOut198 happy_x_3 of { happy_var_3 -> 
+	case happyOut200 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (Loc happy_var_5 XStdTagClose) -> 
+	case happyOut193 happy_x_6 of { happy_var_6 -> 
+	case happyOutTok happy_x_7 of { (Loc happy_var_7 XCloseTagOpen) -> 
+	case happyOut195 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 = 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 happyOut195 happy_x_2 of { happy_var_2 -> 
+	case happyOut198 happy_x_3 of { happy_var_3 -> 
+	case happyOut200 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 = happySpecReduce_3  4# happyReduction_19
+happyReduction_19 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut261 happy_x_1 of { happy_var_1 -> 
+	case happyOut19 happy_x_2 of { happy_var_2 -> 
+	case happyOut262 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 = 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 = happySpecReduce_0  5# happyReduction_21
+happyReduction_21  =  happyIn19
+		 (([],[],Nothing)
+	)
+
+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 = 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 = 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 = 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 happyOut252 happy_x_3 of { happy_var_3 -> 
+	happyIn21
+		 ((fst happy_var_1 ++ [happy_var_3], snd happy_var_1 ++ [happy_var_2])
+	)}}}
+
+happyReduce_26 = happySpecReduce_2  7# happyReduction_26
+happyReduction_26 happy_x_2
+	happy_x_1
+	 =  case happyOut252 happy_x_2 of { happy_var_2 -> 
+	happyIn21
+		 (([happy_var_2],[])
+	)}
+
+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 = 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 happyOut271 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 = happySpecReduce_0  9# happyReduction_29
+happyReduction_29  =  happyIn23
+		 (Nothing
+	)
+
+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 = 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 = happySpecReduce_0  10# happyReduction_32
+happyReduction_32  =  happyIn24
+		 (Nothing
+	)
+
+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 = 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 happyOut261 happy_x_1 of { happy_var_1 -> 
+	case happyOut26 happy_x_2 of { happy_var_2 -> 
+	case happyOut262 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 = 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 = 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 = 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 = 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 = 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 = 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 = happySpecReduce_0  14# happyReduction_41
+happyReduction_41  =  happyIn28
+		 ([]
+	)
+
+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 = happySpecReduce_0  15# happyReduction_43
+happyReduction_43  =  happyIn29
+		 (Nothing
+	)
+
+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 = 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 = 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 = happySpecReduce_0  17# happyReduction_47
+happyReduction_47  =  happyIn31
+		 ([  ]
+	)
+
+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 = 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 = happySpecReduce_1  19# happyReduction_50
+happyReduction_50 happy_x_1
+	 =  case happyOut233 happy_x_1 of { happy_var_1 -> 
+	happyIn33
+		 (EVar (ann happy_var_1) happy_var_1
+	)}
+
+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 = happySpecReduce_1  19# happyReduction_52
+happyReduction_52 happy_x_1
+	 =  case happyOut273 happy_x_1 of { happy_var_1 -> 
+	happyIn33
+		 (EAbs (ann happy_var_1) (NoNamespace (ann happy_var_1)) happy_var_1
+	)}
+
+happyReduce_53 = happySpecReduce_3  19# happyReduction_53
+happyReduction_53 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut273 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 = 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 happyOut273 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 = 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 happyOut271 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 = 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 happyOut236 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 = 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 = 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 = 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 = 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 = happySpecReduce_1  22# happyReduction_61
+happyReduction_61 happy_x_1
+	 =  case happyOut233 happy_x_1 of { happy_var_1 -> 
+	happyIn36
+		 (happy_var_1
+	)}
+
+happyReduce_62 = happySpecReduce_1  22# happyReduction_62
+happyReduction_62 happy_x_1
+	 =  case happyOut251 happy_x_1 of { happy_var_1 -> 
+	happyIn36
+		 (happy_var_1
+	)}
+
+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 = 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 = 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 happyOut271 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 = 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 = happySpecReduce_0  25# happyReduction_67
+happyReduction_67  =  happyIn39
+		 ((False,[])
+	)
+
+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 = happySpecReduce_0  26# happyReduction_69
+happyReduction_69  =  happyIn40
+		 ((False, [])
+	)
+
+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 = happySpecReduce_0  27# happyReduction_71
+happyReduction_71  =  happyIn41
+		 ((False, [])
+	)
+
+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 = happySpecReduce_0  28# happyReduction_73
+happyReduction_73  =  happyIn42
+		 ((Nothing,[])
+	)
+
+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 happyOut271 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 = happySpecReduce_0  29# happyReduction_75
+happyReduction_75  =  happyIn43
+		 ((Nothing,[],Nothing)
+	)
+
+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 = happySpecReduce_0  30# happyReduction_77
+happyReduction_77  =  happyIn44
+		 (Nothing
+	)
+
+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 = 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 = 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 = happySpecReduce_0  32# happyReduction_81
+happyReduction_81  =  happyIn46
+		 ((False,Nothing,[])
+	)
+
+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 = 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 = happySpecReduce_1  34# happyReduction_84
+happyReduction_84 happy_x_1
+	 =  case happyOut231 happy_x_1 of { happy_var_1 -> 
+	happyIn48
+		 (IVar (ann happy_var_1) happy_var_1
+	)}
+
+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 happyOut231 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 = 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 happyOut235 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 = happySpecReduce_1  34# happyReduction_87
+happyReduction_87 happy_x_1
+	 =  case happyOut272 happy_x_1 of { happy_var_1 -> 
+	happyIn48
+		 (IAbs (ann happy_var_1) (NoNamespace (ann happy_var_1)) happy_var_1
+	)}
+
+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 happyOut272 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 = happySpecReduce_3  34# happyReduction_89
+happyReduction_89 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut272 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 = 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 happyOut272 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 = 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 = 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 = happySpecReduce_1  36# happyReduction_93
+happyReduction_93 happy_x_1
+	 =  case happyOut231 happy_x_1 of { happy_var_1 -> 
+	happyIn50
+		 (VarName (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_94 = happySpecReduce_1  36# happyReduction_94
+happyReduction_94 happy_x_1
+	 =  case happyOut235 happy_x_1 of { happy_var_1 -> 
+	happyIn50
+		 (ConName (ann happy_var_1) happy_var_1
+	)}
+
+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 = happySpecReduce_0  38# happyReduction_96
+happyReduction_96  =  happyIn52
+		 ((Nothing, [])
+	)
+
+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 = 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 = 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 = 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 = 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 happyOut242 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 = happySpecReduce_1  40# happyReduction_102
+happyReduction_102 happy_x_1
+	 =  case happyOut242 happy_x_1 of { happy_var_1 -> 
+	happyIn54
+		 (([happy_var_1],[],ann happy_var_1)
+	)}
+
+happyReduce_103 = happySpecReduce_0  41# happyReduction_103
+happyReduction_103  =  happyIn55
+		 (Nothing
+	)
+
+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 = 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 happyOut275 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 = happySpecReduce_2  43# happyReduction_106
+happyReduction_106 happy_x_2
+	happy_x_1
+	 =  case happyOut57 happy_x_1 of { happy_var_1 -> 
+	case happyOut275 happy_x_2 of { happy_var_2 -> 
+	happyIn57
+		 (happy_var_2 : happy_var_1
+	)}}
+
+happyReduce_107 = happySpecReduce_1  43# happyReduction_107
+happyReduction_107 happy_x_1
+	 =  case happyOut275 happy_x_1 of { happy_var_1 -> 
+	happyIn57
+		 ([happy_var_1]
+	)}
+
+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 = 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 = 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 = 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 = 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 = 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 = 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 = 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 happyOut135 happy_x_3 of { happy_var_3 -> 
+	case happyOut143 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 happy_var_4 <** ss};
+                       checkDataOrNew happy_var_1 qds;
+                       return (DataDecl l happy_var_1 cs dh (reverse qds) happy_var_4) })}}}}
+	) (\r -> happyReturn (happyIn60 r))
+
+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 happyOut152 happy_x_3 of { happy_var_3 -> 
+	case happyOut131 happy_x_4 of { happy_var_4 -> 
+	case happyOut143 happy_x_5 of { happy_var_5 -> 
+	( do { (cs,dh) <- checkDataHeader happy_var_2;
+                       let { (gs,ss,minf) = happy_var_4;
+                             l = ann happy_var_1 <+?> minf <+?> fmap ann 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 [] happy_var_5)
+                        _ -> checkEnabled GADTs >> return (GDataDecl l happy_var_1 cs dh (fst happy_var_3) (reverse gs) happy_var_5) })}}}}}
+	) (\r -> happyReturn (happyIn60 r))
+
+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 = 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 happyOut135 happy_x_4 of { happy_var_4 -> 
+	case happyOut143 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 happy_var_5 <** happy_var_2:ss };
+                       checkDataOrNew happy_var_1 qds;
+                       return (DataInsDecl l happy_var_1 happy_var_3 (reverse qds) happy_var_5) })}}}}}
+	) (\r -> happyReturn (happyIn60 r))
+
+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 happyOut152 happy_x_4 of { happy_var_4 -> 
+	case happyOut131 happy_x_5 of { happy_var_5 -> 
+	case happyOut143 happy_x_6 of { happy_var_6 -> 
+	( do { -- (cs,c,t) <- checkDataHeader happy_var_4;
+                       checkEnabled TypeFamilies ;
+                       let {(gs,ss,minf) = happy_var_5;
+                            l = ann happy_var_1 <+?> minf <+?> fmap ann happy_var_6 <** (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) happy_var_6) })}}}}}}
+	) (\r -> happyReturn (happyIn60 r))
+
+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 happyOut128 happy_x_3 of { happy_var_3 -> 
+	case happyOut153 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 = 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 happyOut159 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 = happyMonadReduce 4# 46# happyReduction_122
+happyReduction_122 (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 happyOutTok happy_x_2 of { (Loc happy_var_2 KW_Instance) -> 
+	case happyOut68 happy_x_3 of { happy_var_3 -> 
+	case happyOut120 happy_x_4 of { happy_var_4 -> 
+	( do { checkEnabled StandaloneDeriving ;
+                       ih <- checkInstHeader happy_var_4;
+                       let {l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2]};
+                       return (DerivDecl l happy_var_3 ih) })}}}}
+	) (\r -> happyReturn (happyIn60 r))
+
+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 = happyMonadReduce 1# 46# happyReduction_124
+happyReduction_124 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut172 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 = 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 = 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 = 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 = 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 = 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 = 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 = happySpecReduce_1  46# happyReduction_131
+happyReduction_131 happy_x_1
+	 =  case happyOut77 happy_x_1 of { happy_var_1 -> 
+	happyIn60
+		 (happy_var_1
+	)}
+
+happyReduce_132 = happySpecReduce_0  47# happyReduction_132
+happyReduction_132  =  happyIn61
+		 (Nothing
+	)
+
+happyReduce_133 = happySpecReduce_2  47# happyReduction_133
+happyReduction_133 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> 
+	case happyOut146 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_134 = happySpecReduce_0  48# happyReduction_134
+happyReduction_134  =  happyIn62
+		 (Nothing
+	)
+
+happyReduce_135 = happySpecReduce_2  48# happyReduction_135
+happyReduction_135 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> 
+	case happyOut146 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_136 = happySpecReduce_2  48# happyReduction_136
+happyReduction_136 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> 
+	case happyOut125 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_137 = happySpecReduce_0  49# happyReduction_137
+happyReduction_137  =  happyIn63
+		 ((Nothing, Nothing)
+	)
+
+happyReduce_138 = happySpecReduce_2  49# happyReduction_138
+happyReduction_138 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> 
+	case happyOut146 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_139 = happySpecReduce_3  49# happyReduction_139
+happyReduction_139 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> 
+	case happyOut125 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_140 = happySpecReduce_0  50# happyReduction_140
+happyReduction_140  =  happyIn64
+		 ((Nothing, Nothing, Nothing)
+	)
+
+happyReduce_141 = happySpecReduce_2  50# happyReduction_141
+happyReduction_141 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> 
+	case happyOut146 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_142 = happySpecReduce_3  50# happyReduction_142
+happyReduction_142 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_143 = happyMonadReduce 4# 51# happyReduction_143
+happyReduction_143 (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_144 = happySpecReduce_0  52# happyReduction_144
+happyReduction_144  =  happyIn66
+		 ([]
+	)
+
+happyReduce_145 = happySpecReduce_2  52# happyReduction_145
+happyReduction_145 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_146 = happySpecReduce_1  53# happyReduction_146
+happyReduction_146 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_147 = happySpecReduce_1  53# happyReduction_147
+happyReduction_147 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> 
+	happyIn67
+		 ((Nothing, nIS happy_var_1)
+	)}
+
+happyReduce_148 = happySpecReduce_2  54# happyReduction_148
+happyReduction_148 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_149 = happySpecReduce_2  54# happyReduction_149
+happyReduction_149 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_150 = happySpecReduce_2  54# happyReduction_150
+happyReduction_150 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_151 = happySpecReduce_0  54# happyReduction_151
+happyReduction_151  =  happyIn68
+		 (Nothing
+	)
+
+happyReduce_152 = happySpecReduce_0  55# happyReduction_152
+happyReduction_152  =  happyIn69
+		 (Nothing
+	)
+
+happyReduce_153 = happySpecReduce_2  55# happyReduction_153
+happyReduction_153 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_154 = happySpecReduce_3  56# happyReduction_154
+happyReduction_154 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut71 happy_x_2 of { happy_var_2 -> 
+	happyIn70
+		 (happy_var_2
+	)}
+
+happyReduce_155 = happySpecReduce_3  56# happyReduction_155
+happyReduction_155 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut71 happy_x_2 of { happy_var_2 -> 
+	happyIn70
+		 (happy_var_2
+	)}
+
+happyReduce_156 = happySpecReduce_3  57# happyReduction_156
+happyReduction_156 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_157 = happySpecReduce_2  57# happyReduction_157
+happyReduction_157 happy_x_2
+	happy_x_1
+	 =  case happyOut71 happy_x_1 of { happy_var_1 -> 
+	happyIn71
+		 (happy_var_1
+	)}
+
+happyReduce_158 = happySpecReduce_1  57# happyReduction_158
+happyReduction_158 happy_x_1
+	 =  case happyOut72 happy_x_1 of { happy_var_1 -> 
+	happyIn71
+		 ([happy_var_1]
+	)}
+
+happyReduce_159 = happyMonadReduce 3# 58# happyReduction_159
+happyReduction_159 (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_160 = happySpecReduce_1  59# happyReduction_160
+happyReduction_160 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> 
+	happyIn73
+		 (DataType $ nIS happy_var_1
+	)}
+
+happyReduce_161 = happySpecReduce_1  59# happyReduction_161
+happyReduction_161 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> 
+	happyIn73
+		 (NewType  $ nIS happy_var_1
+	)}
+
+happyReduce_162 = happyMonadReduce 1# 60# happyReduction_162
+happyReduction_162 (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_163 = happySpecReduce_1  60# happyReduction_163
+happyReduction_163 happy_x_1
+	 =  case happyOut106 happy_x_1 of { happy_var_1 -> 
+	happyIn74
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_164 = happySpecReduce_0  60# happyReduction_164
+happyReduction_164  =  happyIn74
+		 (([],[])
+	)
+
+happyReduce_165 = happyMonadReduce 3# 61# happyReduction_165
+happyReduction_165 (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_166 = happySpecReduce_1  61# happyReduction_166
+happyReduction_166 happy_x_1
+	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
+	happyIn75
+		 (([],reverse happy_var_1)
+	)}
+
+happyReduce_167 = happySpecReduce_3  62# happyReduction_167
+happyReduction_167 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_168 = happySpecReduce_1  62# happyReduction_168
+happyReduction_168 happy_x_1
+	 =  case happyOut77 happy_x_1 of { happy_var_1 -> 
+	happyIn76
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_169 = happySpecReduce_1  63# happyReduction_169
+happyReduction_169 happy_x_1
+	 =  case happyOut79 happy_x_1 of { happy_var_1 -> 
+	happyIn77
+		 (happy_var_1
+	)}
+
+happyReduce_170 = happySpecReduce_1  63# happyReduction_170
+happyReduction_170 happy_x_1
+	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
+	happyIn77
+		 (happy_var_1
+	)}
+
+happyReduce_171 = happySpecReduce_1  63# happyReduction_171
+happyReduction_171 happy_x_1
+	 =  case happyOut164 happy_x_1 of { happy_var_1 -> 
+	happyIn77
+		 (happy_var_1
+	)}
+
+happyReduce_172 = happySpecReduce_1  63# happyReduction_172
+happyReduction_172 happy_x_1
+	 =  case happyOut263 happy_x_1 of { happy_var_1 -> 
+	happyIn77
+		 (happy_var_1
+	)}
+
+happyReduce_173 = happySpecReduce_1  63# happyReduction_173
+happyReduction_173 happy_x_1
+	 =  case happyOut269 happy_x_1 of { happy_var_1 -> 
+	happyIn77
+		 (happy_var_1
+	)}
+
+happyReduce_174 = happySpecReduce_3  64# happyReduction_174
+happyReduction_174 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_175 = happySpecReduce_3  64# happyReduction_175
+happyReduction_175 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut261 happy_x_1 of { happy_var_1 -> 
+	case happyOut75 happy_x_2 of { happy_var_2 -> 
+	case happyOut262 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_176 = happySpecReduce_1  65# happyReduction_176
+happyReduction_176 happy_x_1
+	 =  case happyOut80 happy_x_1 of { happy_var_1 -> 
+	happyIn79
+		 (happy_var_1
+	)}
+
+happyReduce_177 = happySpecReduce_1  65# happyReduction_177
+happyReduction_177 happy_x_1
+	 =  case happyOut81 happy_x_1 of { happy_var_1 -> 
+	happyIn79
+		 (happy_var_1
+	)}
+
+happyReduce_178 = happyMonadReduce 3# 66# happyReduction_178
+happyReduction_178 (happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut174 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_179 = happyMonadReduce 5# 66# happyReduction_179
+happyReduction_179 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut174 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_180 = happyReduce 4# 67# happyReduction_180
+happyReduction_180 (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 happyOut233 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_181 = happyReduce 4# 67# happyReduction_181
+happyReduction_181 (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 happyOut233 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_182 = happyReduce 6# 67# happyReduction_182
+happyReduction_182 (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 happyOut233 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_183 = happyReduce 6# 67# happyReduction_183
+happyReduction_183 (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 happyOut233 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_184 = happyMonadReduce 4# 67# happyReduction_184
+happyReduction_184 (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_185 = happySpecReduce_3  67# happyReduction_185
+happyReduction_185 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_186 = happySpecReduce_1  68# happyReduction_186
+happyReduction_186 happy_x_1
+	 =  case happyOut83 happy_x_1 of { happy_var_1 -> 
+	happyIn82
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_187 = happySpecReduce_3  68# happyReduction_187
+happyReduction_187 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_188 = happyMonadReduce 1# 69# happyReduction_188
+happyReduction_188 (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_189 = happySpecReduce_1  70# happyReduction_189
+happyReduction_189 happy_x_1
+	 =  case happyOut85 happy_x_1 of { happy_var_1 -> 
+	happyIn84
+		 (Just happy_var_1
+	)}
+
+happyReduce_190 = happySpecReduce_0  70# happyReduction_190
+happyReduction_190  =  happyIn84
+		 (Nothing
+	)
+
+happyReduce_191 = happySpecReduce_1  71# happyReduction_191
+happyReduction_191 happy_x_1
+	 =  case happyOut86 happy_x_1 of { happy_var_1 -> 
+	happyIn85
+		 (happy_var_1
+	)}
+
+happyReduce_192 = happySpecReduce_3  71# happyReduction_192
+happyReduction_192 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_193 = happySpecReduce_1  72# happyReduction_193
+happyReduction_193 happy_x_1
+	 =  case happyOut87 happy_x_1 of { happy_var_1 -> 
+	happyIn86
+		 (happy_var_1
+	)}
+
+happyReduce_194 = happySpecReduce_3  72# happyReduction_194
+happyReduction_194 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_195 = happySpecReduce_3  73# happyReduction_195
+happyReduction_195 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_196 = happySpecReduce_1  73# happyReduction_196
+happyReduction_196 happy_x_1
+	 =  case happyOut231 happy_x_1 of { happy_var_1 -> 
+	happyIn87
+		 (VarFormula (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_197 = happySpecReduce_1  74# happyReduction_197
+happyReduction_197 happy_x_1
+	 =  case happyOut78 happy_x_1 of { happy_var_1 -> 
+	happyIn88
+		 (happy_var_1
+	)}
+
+happyReduce_198 = happySpecReduce_3  74# happyReduction_198
+happyReduction_198 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> 
+	case happyOut227 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_199 = happySpecReduce_3  74# happyReduction_199
+happyReduction_199 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut261 happy_x_1 of { happy_var_1 -> 
+	case happyOut227 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_200 = happySpecReduce_3  75# happyReduction_200
+happyReduction_200 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 happyOut231 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_201 = happyMonadReduce 1# 75# happyReduction_201
+happyReduction_201 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut233 happy_x_1 of { happy_var_1 -> 
+	( do { n <- checkUnQual happy_var_1;
+                                              return ([n],[],ann n) })}
+	) (\r -> happyReturn (happyIn89 r))
+
+happyReduce_202 = happySpecReduce_1  76# happyReduction_202
+happyReduction_202 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> 
+	happyIn90
+		 (StdCall    (nIS happy_var_1)
+	)}
+
+happyReduce_203 = happySpecReduce_1  76# happyReduction_203
+happyReduction_203 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> 
+	happyIn90
+		 (CCall      (nIS happy_var_1)
+	)}
+
+happyReduce_204 = happySpecReduce_1  76# happyReduction_204
+happyReduction_204 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> 
+	happyIn90
+		 (CPlusPlus  (nIS happy_var_1)
+	)}
+
+happyReduce_205 = happySpecReduce_1  76# happyReduction_205
+happyReduction_205 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> 
+	happyIn90
+		 (DotNet     (nIS happy_var_1)
+	)}
+
+happyReduce_206 = happySpecReduce_1  76# happyReduction_206
+happyReduction_206 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> 
+	happyIn90
+		 (Jvm        (nIS happy_var_1)
+	)}
+
+happyReduce_207 = happySpecReduce_1  76# happyReduction_207
+happyReduction_207 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> 
+	happyIn90
+		 (Js         (nIS happy_var_1)
+	)}
+
+happyReduce_208 = happySpecReduce_1  76# happyReduction_208
+happyReduction_208 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> 
+	happyIn90
+		 (JavaScript (nIS happy_var_1)
+	)}
+
+happyReduce_209 = happySpecReduce_1  76# happyReduction_209
+happyReduction_209 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> 
+	happyIn90
+		 (CApi       (nIS happy_var_1)
+	)}
+
+happyReduce_210 = happySpecReduce_1  77# happyReduction_210
+happyReduction_210 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> 
+	happyIn91
+		 (Just $ PlaySafe  (nIS happy_var_1) False
+	)}
+
+happyReduce_211 = happySpecReduce_1  77# happyReduction_211
+happyReduction_211 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> 
+	happyIn91
+		 (Just $ PlayRisky (nIS happy_var_1)
+	)}
+
+happyReduce_212 = happySpecReduce_1  77# happyReduction_212
+happyReduction_212 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> 
+	happyIn91
+		 (Just $ PlaySafe  (nIS happy_var_1) True
+	)}
+
+happyReduce_213 = happySpecReduce_1  77# happyReduction_213
+happyReduction_213 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> 
+	happyIn91
+		 (Just $ PlayInterruptible (nIS happy_var_1)
+	)}
+
+happyReduce_214 = happySpecReduce_0  77# happyReduction_214
+happyReduction_214  =  happyIn91
+		 (Nothing
+	)
+
+happyReduce_215 = happyReduce 4# 78# happyReduction_215
+happyReduction_215 (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 happyOut232 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_216 = happySpecReduce_3  78# happyReduction_216
+happyReduction_216 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut232 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_217 = happySpecReduce_3  79# happyReduction_217
+happyReduction_217 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_218 = happySpecReduce_2  79# happyReduction_218
+happyReduction_218 happy_x_2
+	happy_x_1
+	 =  case happyOut93 happy_x_1 of { happy_var_1 -> 
+	happyIn93
+		 (happy_var_1
+	)}
+
+happyReduce_219 = happySpecReduce_1  79# happyReduction_219
+happyReduction_219 happy_x_1
+	 =  case happyOut94 happy_x_1 of { happy_var_1 -> 
+	happyIn93
+		 ([happy_var_1]
+	)}
+
+happyReduce_220 = happySpecReduce_0  79# happyReduction_220
+happyReduction_220  =  happyIn93
+		 ([]
+	)
+
+happyReduce_221 = happyMonadReduce 6# 80# happyReduction_221
+happyReduction_221 (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 happyOut172 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (Loc happy_var_5 Equals) -> 
+	case happyOut170 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_222 = happySpecReduce_0  81# happyReduction_222
+happyReduction_222  =  happyIn95
+		 (Nothing
+	)
+
+happyReduce_223 = happySpecReduce_3  81# happyReduction_223
+happyReduction_223 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_224 = happyReduce 4# 81# happyReduction_224
+happyReduction_224 (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_225 = happySpecReduce_0  82# happyReduction_225
+happyReduction_225  =  happyIn96
+		 ((Nothing,[])
+	)
+
+happyReduce_226 = happySpecReduce_3  82# happyReduction_226
+happyReduction_226 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_227 = happySpecReduce_1  83# happyReduction_227
+happyReduction_227 happy_x_1
+	 =  case happyOut98 happy_x_1 of { happy_var_1 -> 
+	happyIn97
+		 ([happy_var_1]
+	)}
+
+happyReduce_228 = happySpecReduce_2  83# happyReduction_228
+happyReduction_228 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_229 = happySpecReduce_1  84# happyReduction_229
+happyReduction_229 happy_x_1
+	 =  case happyOut249 happy_x_1 of { happy_var_1 -> 
+	happyIn98
+		 (RuleVar (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_230 = happyReduce 5# 84# happyReduction_230
+happyReduction_230 (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 happyOut249 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_231 = happySpecReduce_3  85# happyReduction_231
+happyReduction_231 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_232 = happySpecReduce_2  85# happyReduction_232
+happyReduction_232 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_233 = happySpecReduce_1  85# happyReduction_233
+happyReduction_233 happy_x_1
+	 =  case happyOut100 happy_x_1 of { happy_var_1 -> 
+	happyIn99
+		 (([fst happy_var_1],snd happy_var_1)
+	)}
+
+happyReduce_234 = happySpecReduce_0  85# happyReduction_234
+happyReduction_234  =  happyIn99
+		 (([],[])
+	)
+
+happyReduce_235 = happySpecReduce_2  86# happyReduction_235
+happyReduction_235 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_236 = happySpecReduce_1  87# happyReduction_236
+happyReduction_236 happy_x_1
+	 =  case happyOut102 happy_x_1 of { happy_var_1 -> 
+	happyIn101
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_237 = happySpecReduce_3  87# happyReduction_237
+happyReduction_237 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_238 = happySpecReduce_1  88# happyReduction_238
+happyReduction_238 happy_x_1
+	 =  case happyOut235 happy_x_1 of { happy_var_1 -> 
+	happyIn102
+		 (happy_var_1
+	)}
+
+happyReduce_239 = happySpecReduce_1  88# happyReduction_239
+happyReduction_239 happy_x_1
+	 =  case happyOut231 happy_x_1 of { happy_var_1 -> 
+	happyIn102
+		 (happy_var_1
+	)}
+
+happyReduce_240 = happyMonadReduce 3# 89# happyReduction_240
+happyReduction_240 (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 happyOut252 happy_x_2 of { happy_var_2 -> 
+	case happyOut183 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_241 = happyMonadReduce 2# 89# happyReduction_241
+happyReduction_241 (happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> 
+	case happyOut183 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_242 = happyMonadReduce 2# 89# happyReduction_242
+happyReduction_242 (happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut102 happy_x_1 of { happy_var_1 -> 
+	case happyOut183 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_243 = happyMonadReduce 1# 90# happyReduction_243
+happyReduction_243 (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_244 = happySpecReduce_1  91# happyReduction_244
+happyReduction_244 happy_x_1
+	 =  case happyOut110 happy_x_1 of { happy_var_1 -> 
+	happyIn105
+		 (splitTilde happy_var_1
+	)}
+
+happyReduce_245 = happySpecReduce_3  91# happyReduction_245
+happyReduction_245 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_246 = happySpecReduce_3  91# happyReduction_246
+happyReduction_246 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut110 happy_x_1 of { happy_var_1 -> 
+	case happyOut276 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_247 = happySpecReduce_3  91# happyReduction_247
+happyReduction_247 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_248 = happyMonadReduce 1# 92# happyReduction_248
+happyReduction_248 (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_249 = happySpecReduce_3  93# happyReduction_249
+happyReduction_249 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut234 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_250 = happySpecReduce_1  93# happyReduction_250
+happyReduction_250 happy_x_1
+	 =  case happyOut105 happy_x_1 of { happy_var_1 -> 
+	happyIn107
+		 (happy_var_1
+	)}
+
+happyReduce_251 = happyMonadReduce 1# 94# happyReduction_251
+happyReduction_251 (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_252 = happyMonadReduce 1# 95# happyReduction_252
+happyReduction_252 (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_253 = happySpecReduce_2  96# happyReduction_253
+happyReduction_253 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_254 = happySpecReduce_1  96# happyReduction_254
+happyReduction_254 happy_x_1
+	 =  case happyOut111 happy_x_1 of { happy_var_1 -> 
+	happyIn110
+		 (happy_var_1
+	)}
+
+happyReduce_255 = happySpecReduce_1  97# happyReduction_255
+happyReduction_255 happy_x_1
+	 =  case happyOut116 happy_x_1 of { happy_var_1 -> 
+	happyIn111
+		 (TyCon   (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_256 = happyMonadReduce 1# 97# happyReduction_256
+happyReduction_256 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut274 happy_x_1 of { happy_var_1 -> 
+	( checkTyVar happy_var_1)}
+	) (\r -> happyReturn (happyIn111 r))
+
+happyReduce_257 = happySpecReduce_2  97# happyReduction_257
+happyReduction_257 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_258 = happySpecReduce_3  97# happyReduction_258
+happyReduction_258 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_259 = happySpecReduce_3  97# happyReduction_259
+happyReduction_259 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_260 = happySpecReduce_3  97# happyReduction_260
+happyReduction_260 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_261 = happySpecReduce_3  97# happyReduction_261
+happyReduction_261 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_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 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_263 = happyReduce 5# 97# happyReduction_263
+happyReduction_263 (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 happyOut146 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_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 THParenEscape) -> 
+	case happyOut170 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_265 = happySpecReduce_1  97# happyReduction_265
+happyReduction_265 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_266 = happySpecReduce_1  97# happyReduction_266
+happyReduction_266 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> 
+	happyIn111
+		 (TyWildCard (nIS happy_var_1) Nothing
+	)}
+
+happyReduce_267 = happySpecReduce_1  97# happyReduction_267
+happyReduction_267 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_268 = happyMonadReduce 1# 97# happyReduction_268
+happyReduction_268 (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_269 = happyMonadReduce 4# 98# happyReduction_269
+happyReduction_269 (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_270 = happySpecReduce_3  98# happyReduction_270
+happyReduction_270 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_271 = happyMonadReduce 3# 98# happyReduction_271
+happyReduction_271 (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_272 = happyMonadReduce 4# 98# happyReduction_272
+happyReduction_272 (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_273 = happySpecReduce_3  98# happyReduction_273
+happyReduction_273 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 RightParen) -> 
+	happyIn112
+		 (PromotedUnit  (happy_var_1 <^^> happy_var_3 )
+	)}}
+
+happyReduce_274 = happySpecReduce_2  98# happyReduction_274
+happyReduction_274 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> 
+	case happyOut245 happy_x_2 of { happy_var_2 -> 
+	happyIn112
+		 (PromotedCon ((noInfoSpan happy_var_1 <++> ann happy_var_2) <** [happy_var_1]) True  happy_var_2
+	)}}
+
+happyReduce_275 = happySpecReduce_2  98# happyReduction_275
+happyReduction_275 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> 
+	case happyOut273 happy_x_2 of { happy_var_2 -> 
+	happyIn112
+		 (PromotedCon ((noInfoSpan happy_var_1 <++> ann happy_var_2) <** [happy_var_1]) True  happy_var_2
+	)}}
+
+happyReduce_276 = happySpecReduce_1  98# happyReduction_276
+happyReduction_276 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_277 = happySpecReduce_1  98# happyReduction_277
+happyReduction_277 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_278 = happySpecReduce_1  99# happyReduction_278
+happyReduction_278 happy_x_1
+	 =  case happyOut114 happy_x_1 of { happy_var_1 -> 
+	happyIn113
+		 ((Just happy_var_1, Nothing)
+	)}
+
+happyReduce_279 = happySpecReduce_1  99# happyReduction_279
+happyReduction_279 happy_x_1
+	 =  case happyOut115 happy_x_1 of { happy_var_1 -> 
+	happyIn113
+		 ((Nothing, Just happy_var_1)
+	)}
+
+happyReduce_280 = happySpecReduce_2  99# happyReduction_280
+happyReduction_280 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_281 = happySpecReduce_1  100# happyReduction_281
+happyReduction_281 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> 
+	happyIn114
+		 ((BangedTy, happy_var_1)
+	)}
+
+happyReduce_282 = happySpecReduce_1  100# happyReduction_282
+happyReduction_282 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Tilde) -> 
+	happyIn114
+		 ((LazyTy, happy_var_1)
+	)}
+
+happyReduce_283 = happySpecReduce_2  101# happyReduction_283
+happyReduction_283 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_284 = happySpecReduce_2  101# happyReduction_284
+happyReduction_284 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_285 = happySpecReduce_1  102# happyReduction_285
+happyReduction_285 happy_x_1
+	 =  case happyOut117 happy_x_1 of { happy_var_1 -> 
+	happyIn116
+		 (happy_var_1
+	)}
+
+happyReduce_286 = happySpecReduce_2  102# happyReduction_286
+happyReduction_286 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_287 = happySpecReduce_3  102# happyReduction_287
+happyReduction_287 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_288 = happySpecReduce_2  102# happyReduction_288
+happyReduction_288 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_289 = happySpecReduce_3  102# happyReduction_289
+happyReduction_289 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
+	case happyOut186 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_290 = happySpecReduce_2  102# happyReduction_290
+happyReduction_290 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_291 = happySpecReduce_3  102# happyReduction_291
+happyReduction_291 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> 
+	case happyOut186 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_292 = happySpecReduce_1  103# happyReduction_292
+happyReduction_292 happy_x_1
+	 =  case happyOut251 happy_x_1 of { happy_var_1 -> 
+	happyIn117
+		 (happy_var_1
+	)}
+
+happyReduce_293 = happySpecReduce_3  103# happyReduction_293
+happyReduction_293 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
+	case happyOut245 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_294 = happySpecReduce_3  103# happyReduction_294
+happyReduction_294 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
+	case happyOut255 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_295 = happySpecReduce_1  104# happyReduction_295
+happyReduction_295 happy_x_1
+	 =  case happyOut241 happy_x_1 of { happy_var_1 -> 
+	happyIn118
+		 (happy_var_1
+	)}
+
+happyReduce_296 = happyMonadReduce 1# 105# happyReduction_296
+happyReduction_296 (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_297 = happyReduce 4# 106# happyReduction_297
+happyReduction_297 (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 happyOut124 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_298 = happySpecReduce_2  106# happyReduction_298
+happyReduction_298 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_299 = happySpecReduce_1  106# happyReduction_299
+happyReduction_299 happy_x_1
+	 =  case happyOut107 happy_x_1 of { happy_var_1 -> 
+	happyIn120
+		 (happy_var_1
+	)}
+
+happyReduce_300 = happyMonadReduce 2# 107# happyReduction_300
+happyReduction_300 (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_301 = happySpecReduce_3  108# happyReduction_301
+happyReduction_301 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_302 = happySpecReduce_1  109# happyReduction_302
+happyReduction_302 happy_x_1
+	 =  case happyOut120 happy_x_1 of { happy_var_1 -> 
+	happyIn123
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_303 = happySpecReduce_3  109# happyReduction_303
+happyReduction_303 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_304 = happySpecReduce_2  110# happyReduction_304
+happyReduction_304 happy_x_2
+	happy_x_1
+	 =  case happyOut124 happy_x_1 of { happy_var_1 -> 
+	case happyOut125 happy_x_2 of { happy_var_2 -> 
+	happyIn124
+		 ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))
+	)}}
+
+happyReduce_305 = happySpecReduce_0  110# happyReduction_305
+happyReduction_305  =  happyIn124
+		 (([],Nothing)
+	)
+
+happyReduce_306 = happySpecReduce_1  111# happyReduction_306
+happyReduction_306 happy_x_1
+	 =  case happyOut274 happy_x_1 of { happy_var_1 -> 
+	happyIn125
+		 (UnkindedVar (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_307 = happyReduce 5# 111# happyReduction_307
+happyReduction_307 (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 happyOut274 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> 
+	case happyOut146 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> 
+	happyIn125
+		 (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_308 = happySpecReduce_2  112# happyReduction_308
+happyReduction_308 happy_x_2
+	happy_x_1
+	 =  case happyOut126 happy_x_1 of { happy_var_1 -> 
+	case happyOut274 happy_x_2 of { happy_var_2 -> 
+	happyIn126
+		 ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))
+	)}}
+
+happyReduce_309 = happySpecReduce_0  112# happyReduction_309
+happyReduction_309  =  happyIn126
+		 (([], Nothing)
+	)
+
+happyReduce_310 = happySpecReduce_2  113# happyReduction_310
+happyReduction_310 happy_x_2
+	happy_x_1
+	 =  case happyOut126 happy_x_1 of { happy_var_1 -> 
+	case happyOut274 happy_x_2 of { happy_var_2 -> 
+	happyIn127
+		 ((happy_var_2 : fst happy_var_1, snd happy_var_1 <?+> ann happy_var_2)
+	)}}
+
+happyReduce_311 = happySpecReduce_0  114# happyReduction_311
+happyReduction_311  =  happyIn128
+		 (([],[], Nothing)
+	)
+
+happyReduce_312 = happyMonadReduce 2# 114# happyReduction_312
+happyReduction_312 (happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Bar) -> 
+	case happyOut129 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 (happyIn128 r))
+
+happyReduce_313 = happySpecReduce_3  115# happyReduction_313
+happyReduction_313 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut129 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	case happyOut130 happy_x_3 of { happy_var_3 -> 
+	happyIn129
+		 (let (fds,ss,l) = happy_var_1 in (happy_var_3 : fds, happy_var_2 : ss, l <++> ann happy_var_3)
+	)}}}
+
+happyReduce_314 = happySpecReduce_1  115# happyReduction_314
+happyReduction_314 happy_x_1
+	 =  case happyOut130 happy_x_1 of { happy_var_1 -> 
+	happyIn129
+		 (([happy_var_1],[],ann happy_var_1)
+	)}
+
+happyReduce_315 = happySpecReduce_3  116# happyReduction_315
+happyReduction_315 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut126 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> 
+	case happyOut127 happy_x_3 of { happy_var_3 -> 
+	happyIn130
+		 (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_316 = happyMonadReduce 4# 117# happyReduction_316
+happyReduction_316 (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 happyOut132 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 (happyIn131 r))
+
+happyReduce_317 = happyMonadReduce 4# 117# happyReduction_317
+happyReduction_317 (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 happyOut261 happy_x_2 of { happy_var_2 -> 
+	case happyOut132 happy_x_3 of { happy_var_3 -> 
+	case happyOut262 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 (happyIn131 r))
+
+happyReduce_318 = happyMonadReduce 0# 117# happyReduction_318
+happyReduction_318 (happyRest) tk
+	 = happyThen (( checkEnabled EmptyDataDecls >> return ([],[],Nothing))
+	) (\r -> happyReturn (happyIn131 r))
+
+happyReduce_319 = happySpecReduce_3  118# happyReduction_319
+happyReduction_319 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
+	case happyOut133 happy_x_2 of { happy_var_2 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn132
+		 ((fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)
+	)}}}
+
+happyReduce_320 = happySpecReduce_3  119# happyReduction_320
+happyReduction_320 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut133 happy_x_1 of { happy_var_1 -> 
+	case happyOut27 happy_x_2 of { happy_var_2 -> 
+	case happyOut134 happy_x_3 of { happy_var_3 -> 
+	happyIn133
+		 ((happy_var_3 ++ fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
+	)}}}
+
+happyReduce_321 = happySpecReduce_1  119# happyReduction_321
+happyReduction_321 happy_x_1
+	 =  case happyOut134 happy_x_1 of { happy_var_1 -> 
+	happyIn133
+		 ((happy_var_1,[])
+	)}
+
+happyReduce_322 = happyMonadReduce 3# 120# happyReduction_322
+happyReduction_322 (happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut236 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 (happyIn134 r))
+
+happyReduce_323 = happyMonadReduce 7# 120# happyReduction_323
+happyReduction_323 (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 happyOut236 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 happyOut141 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 (happyIn134 r))
+
+happyReduce_324 = happySpecReduce_2  121# happyReduction_324
+happyReduction_324 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> 
+	case happyOut136 happy_x_2 of { happy_var_2 -> 
+	happyIn135
+		 (let (ds,ss,l) = happy_var_2 in (ds, happy_var_1 : reverse ss, Just $ nIS happy_var_1 <++> l)
+	)}}
+
+happyReduce_325 = happySpecReduce_3  122# happyReduction_325
+happyReduction_325 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut136 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> 
+	case happyOut137 happy_x_3 of { happy_var_3 -> 
+	happyIn136
+		 (let (ds,ss,l) = happy_var_1 in (happy_var_3 : ds, happy_var_2 : ss, l <++> ann happy_var_3)
+	)}}}
+
+happyReduce_326 = happySpecReduce_1  122# happyReduction_326
+happyReduction_326 happy_x_1
+	 =  case happyOut137 happy_x_1 of { happy_var_1 -> 
+	happyIn136
+		 (([happy_var_1],[],ann happy_var_1)
+	)}
+
+happyReduce_327 = happyMonadReduce 3# 123# happyReduction_327
+happyReduction_327 (happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut138 happy_x_1 of { happy_var_1 -> 
+	case happyOut121 happy_x_2 of { happy_var_2 -> 
+	case happyOut139 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 (happyIn137 r))
+
+happyReduce_328 = happySpecReduce_2  123# happyReduction_328
+happyReduction_328 happy_x_2
+	happy_x_1
+	 =  case happyOut138 happy_x_1 of { happy_var_1 -> 
+	case happyOut139 happy_x_2 of { happy_var_2 -> 
+	happyIn137
+		 (let (mtvs, ss, ml) = happy_var_1 in QualConDecl (ml <?+> ann happy_var_2 <** ss) mtvs Nothing happy_var_2
+	)}}
+
+happyReduce_329 = happyMonadReduce 3# 124# happyReduction_329
+happyReduction_329 (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 happyOut124 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 (happyIn138 r))
+
+happyReduce_330 = happySpecReduce_0  124# happyReduction_330
+happyReduction_330  =  happyIn138
+		 ((Nothing, [], Nothing)
+	)
+
+happyReduce_331 = happySpecReduce_1  125# happyReduction_331
+happyReduction_331 happy_x_1
+	 =  case happyOut140 happy_x_1 of { happy_var_1 -> 
+	happyIn139
+		 (let (n,ts,l) = happy_var_1 in ConDecl l n ts
+	)}
+
+happyReduce_332 = happySpecReduce_3  125# happyReduction_332
+happyReduction_332 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut108 happy_x_1 of { happy_var_1 -> 
+	case happyOut240 happy_x_2 of { happy_var_2 -> 
+	case happyOut108 happy_x_3 of { happy_var_3 -> 
+	happyIn139
+		 (InfixConDecl (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
+	)}}}
+
+happyReduce_333 = happyMonadReduce 3# 125# happyReduction_333
+happyReduction_333 (happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut236 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 (happyIn139 r))
+
+happyReduce_334 = happyMonadReduce 4# 125# happyReduction_334
+happyReduction_334 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut236 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> 
+	case happyOut141 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 (happyIn139 r))
+
+happyReduce_335 = happyMonadReduce 1# 126# happyReduction_335
+happyReduction_335 (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 (happyIn140 r))
+
+happyReduce_336 = happySpecReduce_3  127# happyReduction_336
+happyReduction_336 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut141 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	case happyOut142 happy_x_3 of { happy_var_3 -> 
+	happyIn141
+		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
+	)}}}
+
+happyReduce_337 = happySpecReduce_1  127# happyReduction_337
+happyReduction_337 happy_x_1
+	 =  case happyOut142 happy_x_1 of { happy_var_1 -> 
+	happyIn141
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_338 = happySpecReduce_3  128# happyReduction_338
+happyReduction_338 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 -> 
+	happyIn142
+		 (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_339 = happySpecReduce_0  129# happyReduction_339
+happyReduction_339  =  happyIn143
+		 (Nothing
+	)
+
+happyReduce_340 = happySpecReduce_2  129# happyReduction_340
+happyReduction_340 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> 
+	case happyOut145 happy_x_2 of { happy_var_2 -> 
+	happyIn143
+		 (let l = nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1] in Just $ Deriving l [IRule (ann happy_var_2) Nothing Nothing happy_var_2]
+	)}}
+
+happyReduce_341 = happySpecReduce_3  129# happyReduction_341
+happyReduction_341 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
+	happyIn143
+		 (Just $ Deriving (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3]) []
+	)}}}
+
+happyReduce_342 = happyReduce 4# 129# happyReduction_342
+happyReduction_342 (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 happyOutTok happy_x_2 of { (Loc happy_var_2 LeftParen) -> 
+	case happyOut144 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> 
+	happyIn143
+		 (-- Distinguish deriving (Show) from deriving Show (#189)
+                                        case fst happy_var_3 of
+                                          [ts] -> Just $ Deriving (happy_var_1 <^^> happy_var_4 <** [happy_var_1]) [IParen (happy_var_2 <^^> happy_var_4 <** [happy_var_2,happy_var_4]) ts]
+                                          tss  -> Just $ Deriving (happy_var_1 <^^> happy_var_4 <** happy_var_1:happy_var_2: reverse (snd happy_var_3) ++ [happy_var_4]) (reverse tss)
+	) `HappyStk` happyRest}}}}
+
+happyReduce_343 = happyMonadReduce 1# 130# happyReduction_343
+happyReduction_343 (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 (happyIn144 r))
+
+happyReduce_344 = happySpecReduce_1  131# happyReduction_344
+happyReduction_344 happy_x_1
+	 =  case happyOut251 happy_x_1 of { happy_var_1 -> 
+	happyIn145
+		 (IHCon (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_345 = happyMonadReduce 1# 132# happyReduction_345
+happyReduction_345 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut147 happy_x_1 of { happy_var_1 -> 
+	( checkEnabled KindSignatures >> return happy_var_1)}
+	) (\r -> happyReturn (happyIn146 r))
+
+happyReduce_346 = happySpecReduce_1  133# happyReduction_346
+happyReduction_346 happy_x_1
+	 =  case happyOut148 happy_x_1 of { happy_var_1 -> 
+	happyIn147
+		 (happy_var_1
+	)}
+
+happyReduce_347 = happySpecReduce_3  133# happyReduction_347
+happyReduction_347 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut148 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> 
+	case happyOut147 happy_x_3 of { happy_var_3 -> 
+	happyIn147
+		 (KindFn (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_348 = happySpecReduce_1  134# happyReduction_348
+happyReduction_348 happy_x_1
+	 =  case happyOut149 happy_x_1 of { happy_var_1 -> 
+	happyIn148
+		 (happy_var_1
+	)}
+
+happyReduce_349 = happySpecReduce_2  134# happyReduction_349
+happyReduction_349 happy_x_2
+	happy_x_1
+	 =  case happyOut148 happy_x_1 of { happy_var_1 -> 
+	case happyOut149 happy_x_2 of { happy_var_2 -> 
+	happyIn148
+		 (KindApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2
+	)}}
+
+happyReduce_350 = happySpecReduce_1  135# happyReduction_350
+happyReduction_350 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> 
+	happyIn149
+		 (KindStar  (nIS happy_var_1)
+	)}
+
+happyReduce_351 = happySpecReduce_3  135# happyReduction_351
+happyReduction_351 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
+	case happyOut147 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
+	happyIn149
+		 (KindParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)}}}
+
+happyReduce_352 = happyMonadReduce 1# 135# happyReduction_352
+happyReduction_352 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut150 happy_x_1 of { happy_var_1 -> 
+	( checkKind happy_var_1 >> return happy_var_1)}
+	) (\r -> happyReturn (happyIn149 r))
+
+happyReduce_353 = happyMonadReduce 1# 135# happyReduction_353
+happyReduction_353 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut247 happy_x_1 of { happy_var_1 -> 
+	( checkEnabled PolyKinds >> return (KindVar (ann happy_var_1) happy_var_1))}
+	) (\r -> happyReturn (happyIn149 r))
+
+happyReduce_354 = happySpecReduce_1  136# happyReduction_354
+happyReduction_354 happy_x_1
+	 =  case happyOut273 happy_x_1 of { happy_var_1 -> 
+	happyIn150
+		 (KindVar (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_355 = happySpecReduce_2  136# happyReduction_355
+happyReduction_355 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) -> 
+	happyIn150
+		 (let l = happy_var_1 <^^> happy_var_2 in KindVar l (unit_tycon_name l)
+	)}}
+
+happyReduce_356 = happyReduce 5# 136# happyReduction_356
+happyReduction_356 (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 happyOut146 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 Comma) -> 
+	case happyOut151 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (Loc happy_var_5 RightParen) -> 
+	happyIn150
+		 (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_357 = happySpecReduce_3  136# happyReduction_357
+happyReduction_357 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> 
+	case happyOut146 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> 
+	happyIn150
+		 (KindList  ((happy_var_1 <^^> happy_var_3) <** [happy_var_1, happy_var_3]) happy_var_2
+	)}}}
+
+happyReduce_358 = happySpecReduce_1  137# happyReduction_358
+happyReduction_358 happy_x_1
+	 =  case happyOut147 happy_x_1 of { happy_var_1 -> 
+	happyIn151
+		 (([happy_var_1], [])
+	)}
+
+happyReduce_359 = happySpecReduce_3  137# happyReduction_359
+happyReduction_359 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut147 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	case happyOut151 happy_x_3 of { happy_var_3 -> 
+	happyIn151
+		 ((happy_var_1 : (fst happy_var_3), happy_var_2 : (snd happy_var_3))
+	)}}}
+
+happyReduce_360 = happySpecReduce_0  138# happyReduction_360
+happyReduction_360  =  happyIn152
+		 ((Nothing,[])
+	)
+
+happyReduce_361 = happySpecReduce_2  138# happyReduction_361
+happyReduction_361 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 DoubleColon) -> 
+	case happyOut146 happy_x_2 of { happy_var_2 -> 
+	happyIn152
+		 ((Just happy_var_2,[happy_var_1])
+	)}}
+
+happyReduce_362 = happyMonadReduce 4# 139# happyReduction_362
+happyReduction_362 (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 happyOut154 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 (happyIn153 r))
+
+happyReduce_363 = happyMonadReduce 4# 139# happyReduction_363
+happyReduction_363 (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 happyOut261 happy_x_2 of { happy_var_2 -> 
+	case happyOut154 happy_x_3 of { happy_var_3 -> 
+	case happyOut262 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 (happyIn153 r))
+
+happyReduce_364 = happySpecReduce_0  139# happyReduction_364
+happyReduction_364  =  happyIn153
+		 ((Nothing,[],Nothing)
+	)
+
+happyReduce_365 = happyMonadReduce 3# 140# happyReduction_365
+happyReduction_365 (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 happyOut155 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 (happyIn154 r))
+
+happyReduce_366 = happySpecReduce_1  140# happyReduction_366
+happyReduction_366 happy_x_1
+	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
+	happyIn154
+		 (([],reverse happy_var_1)
+	)}
+
+happyReduce_367 = happySpecReduce_3  141# happyReduction_367
+happyReduction_367 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut155 happy_x_1 of { happy_var_1 -> 
+	case happyOut27 happy_x_2 of { happy_var_2 -> 
+	case happyOut156 happy_x_3 of { happy_var_3 -> 
+	happyIn155
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
+	)}}}
+
+happyReduce_368 = happySpecReduce_1  141# happyReduction_368
+happyReduction_368 happy_x_1
+	 =  case happyOut156 happy_x_1 of { happy_var_1 -> 
+	happyIn155
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_369 = happySpecReduce_1  142# happyReduction_369
+happyReduction_369 happy_x_1
+	 =  case happyOut77 happy_x_1 of { happy_var_1 -> 
+	happyIn156
+		 (ClsDecl (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_370 = happyMonadReduce 1# 142# happyReduction_370
+happyReduction_370 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut158 happy_x_1 of { happy_var_1 -> 
+	( checkEnabled TypeFamilies >> return happy_var_1)}
+	) (\r -> happyReturn (happyIn156 r))
+
+happyReduce_371 = happyMonadReduce 2# 142# happyReduction_371
+happyReduction_371 (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 (happyIn156 r))
+
+happyReduce_372 = happySpecReduce_0  143# happyReduction_372
+happyReduction_372  =  happyIn157
+		 ([]
+	)
+
+happyReduce_373 = happySpecReduce_1  143# happyReduction_373
+happyReduction_373 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> 
+	happyIn157
+		 ([happy_var_1]
+	)}
+
+happyReduce_374 = happyMonadReduce 4# 144# 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_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 (happyIn158 r))
+
+happyReduce_375 = happyMonadReduce 3# 144# happyReduction_375
+happyReduction_375 (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 (happyIn158 r))
+
+happyReduce_376 = happyMonadReduce 4# 144# happyReduction_376
+happyReduction_376 (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 (happyIn158 r))
+
+happyReduce_377 = happySpecReduce_3  144# happyReduction_377
+happyReduction_377 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 -> 
+	happyIn158
+		 (ClsTyDef (nIS happy_var_1 <++> ann happy_var_3 <** [happy_var_1,happy_var_2]) happy_var_3
+	)}}}
+
+happyReduce_378 = happyMonadReduce 4# 145# happyReduction_378
+happyReduction_378 (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 happyOut160 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 (happyIn159 r))
+
+happyReduce_379 = happyMonadReduce 4# 145# happyReduction_379
+happyReduction_379 (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 happyOut261 happy_x_2 of { happy_var_2 -> 
+	case happyOut160 happy_x_3 of { happy_var_3 -> 
+	case happyOut262 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 (happyIn159 r))
+
+happyReduce_380 = happySpecReduce_0  145# happyReduction_380
+happyReduction_380  =  happyIn159
+		 ((Nothing, [], Nothing)
+	)
+
+happyReduce_381 = happyMonadReduce 3# 146# happyReduction_381
+happyReduction_381 (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 happyOut161 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 (happyIn160 r))
+
+happyReduce_382 = happySpecReduce_1  146# happyReduction_382
+happyReduction_382 happy_x_1
+	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
+	happyIn160
+		 (([],reverse happy_var_1)
+	)}
+
+happyReduce_383 = happySpecReduce_3  147# happyReduction_383
+happyReduction_383 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut161 happy_x_1 of { happy_var_1 -> 
+	case happyOut27 happy_x_2 of { happy_var_2 -> 
+	case happyOut162 happy_x_3 of { happy_var_3 -> 
+	happyIn161
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
+	)}}}
+
+happyReduce_384 = happySpecReduce_1  147# happyReduction_384
+happyReduction_384 happy_x_1
+	 =  case happyOut162 happy_x_1 of { happy_var_1 -> 
+	happyIn161
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_385 = happySpecReduce_1  148# happyReduction_385
+happyReduction_385 happy_x_1
+	 =  case happyOut164 happy_x_1 of { happy_var_1 -> 
+	happyIn162
+		 (InsDecl (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_386 = happyMonadReduce 1# 148# happyReduction_386
+happyReduction_386 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut163 happy_x_1 of { happy_var_1 -> 
+	( checkEnabled TypeFamilies >> return happy_var_1)}
+	) (\r -> happyReturn (happyIn162 r))
+
+happyReduce_387 = happySpecReduce_1  148# happyReduction_387
+happyReduction_387 happy_x_1
+	 =  case happyOut81 happy_x_1 of { happy_var_1 -> 
+	happyIn162
+		 (InsDecl (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_388 = happyMonadReduce 1# 148# happyReduction_388
+happyReduction_388 (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 (happyIn162 r))
+
+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_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 (happyIn163 r))
+
+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 happyOut73 happy_x_1 of { happy_var_1 -> 
+	case happyOut119 happy_x_2 of { happy_var_2 -> 
+	case happyOut135 happy_x_3 of { happy_var_3 -> 
+	case happyOut143 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 happy_var_4 <** ss ) happy_var_1 happy_var_2 (reverse ds) happy_var_4) })}}}}
+	) (\r -> happyReturn (happyIn163 r))
+
+happyReduce_391 = happyMonadReduce 5# 149# happyReduction_391
+happyReduction_391 (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 happyOut152 happy_x_3 of { happy_var_3 -> 
+	case happyOut131 happy_x_4 of { happy_var_4 -> 
+	case happyOut143 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 happy_var_5 <** (snd happy_var_3 ++ ss)) happy_var_1 happy_var_2 (fst happy_var_3) (reverse gs) happy_var_5 })}}}}}
+	) (\r -> happyReturn (happyIn163 r))
+
+happyReduce_392 = happyMonadReduce 4# 150# happyReduction_392
+happyReduction_392 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut174 happy_x_1 of { happy_var_1 -> 
+	case happyOut166 happy_x_2 of { happy_var_2 -> 
+	case happyOut167 happy_x_3 of { happy_var_3 -> 
+	case happyOut165 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 (happyIn164 r))
+
+happyReduce_393 = happyMonadReduce 4# 150# happyReduction_393
+happyReduction_393 (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 happyOut183 happy_x_2 of { happy_var_2 -> 
+	case happyOut167 happy_x_3 of { happy_var_3 -> 
+	case happyOut165 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 (happyIn164 r))
+
+happyReduce_394 = happySpecReduce_2  151# happyReduction_394
+happyReduction_394 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 -> 
+	happyIn165
+		 ((Just happy_var_2, [happy_var_1])
+	)}}
+
+happyReduce_395 = happySpecReduce_0  151# happyReduction_395
+happyReduction_395  =  happyIn165
+		 ((Nothing, [])
+	)
+
+happyReduce_396 = happyMonadReduce 2# 152# happyReduction_396
+happyReduction_396 (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 (happyIn166 r))
+
+happyReduce_397 = happySpecReduce_0  152# happyReduction_397
+happyReduction_397  =  happyIn166
+		 (Nothing
+	)
+
+happyReduce_398 = happySpecReduce_2  153# happyReduction_398
+happyReduction_398 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Equals) -> 
+	case happyOut170 happy_x_2 of { happy_var_2 -> 
+	happyIn167
+		 (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)}}
+
+happyReduce_399 = happySpecReduce_1  153# happyReduction_399
+happyReduction_399 happy_x_1
+	 =  case happyOut168 happy_x_1 of { happy_var_1 -> 
+	happyIn167
+		 (GuardedRhss (snd happy_var_1) (reverse $ fst happy_var_1)
+	)}
+
+happyReduce_400 = happySpecReduce_2  154# happyReduction_400
+happyReduction_400 happy_x_2
+	happy_x_1
+	 =  case happyOut168 happy_x_1 of { happy_var_1 -> 
+	case happyOut169 happy_x_2 of { happy_var_2 -> 
+	happyIn168
+		 ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)
+	)}}
+
+happyReduce_401 = happySpecReduce_1  154# happyReduction_401
+happyReduction_401 happy_x_1
+	 =  case happyOut169 happy_x_1 of { happy_var_1 -> 
+	happyIn168
+		 (([happy_var_1],ann happy_var_1)
+	)}
+
+happyReduce_402 = happyMonadReduce 4# 155# happyReduction_402
+happyReduction_402 (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 happyOut207 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> 
+	case happyOut170 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 (happyIn169 r))
+
+happyReduce_403 = happyMonadReduce 1# 156# happyReduction_403
+happyReduction_403 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut171 happy_x_1 of { happy_var_1 -> 
+	( checkExpr happy_var_1)}
+	) (\r -> happyReturn (happyIn170 r))
+
+happyReduce_404 = happySpecReduce_3  157# happyReduction_404
+happyReduction_404 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut174 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 -> 
+	happyIn171
+		 (ExpTypeSig      (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_405 = happySpecReduce_1  157# happyReduction_405
+happyReduction_405 happy_x_1
+	 =  case happyOut172 happy_x_1 of { happy_var_1 -> 
+	happyIn171
+		 (happy_var_1
+	)}
+
+happyReduce_406 = happySpecReduce_2  157# happyReduction_406
+happyReduction_406 happy_x_2
+	happy_x_1
+	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
+	case happyOut243 happy_x_2 of { happy_var_2 -> 
+	happyIn171
+		 (PostOp          (happy_var_1 <> happy_var_2)          happy_var_1 happy_var_2
+	)}}
+
+happyReduce_407 = happySpecReduce_3  157# happyReduction_407
+happyReduction_407 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrowTail) -> 
+	case happyOut171 happy_x_3 of { happy_var_3 -> 
+	happyIn171
+		 (LeftArrApp      (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_408 = happySpecReduce_3  157# happyReduction_408
+happyReduction_408 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrowTail) -> 
+	case happyOut171 happy_x_3 of { happy_var_3 -> 
+	happyIn171
+		 (RightArrApp     (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_409 = happySpecReduce_3  157# happyReduction_409
+happyReduction_409 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftDblArrowTail) -> 
+	case happyOut171 happy_x_3 of { happy_var_3 -> 
+	happyIn171
+		 (LeftArrHighApp  (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_410 = happySpecReduce_3  157# happyReduction_410
+happyReduction_410 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightDblArrowTail) -> 
+	case happyOut171 happy_x_3 of { happy_var_3 -> 
+	happyIn171
+		 (RightArrHighApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_411 = happySpecReduce_1  158# happyReduction_411
+happyReduction_411 happy_x_1
+	 =  case happyOut173 happy_x_1 of { happy_var_1 -> 
+	happyIn172
+		 (happy_var_1
+	)}
+
+happyReduce_412 = happySpecReduce_1  158# happyReduction_412
+happyReduction_412 happy_x_1
+	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
+	happyIn172
+		 (happy_var_1
+	)}
+
+happyReduce_413 = happySpecReduce_3  159# happyReduction_413
+happyReduction_413 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
+	case happyOut243 happy_x_2 of { happy_var_2 -> 
+	case happyOut175 happy_x_3 of { happy_var_3 -> 
+	happyIn173
+		 (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
+	)}}}
+
+happyReduce_414 = happySpecReduce_1  159# happyReduction_414
+happyReduction_414 happy_x_1
+	 =  case happyOut175 happy_x_1 of { happy_var_1 -> 
+	happyIn173
+		 (happy_var_1
+	)}
+
+happyReduce_415 = happySpecReduce_3  160# happyReduction_415
+happyReduction_415 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut174 happy_x_1 of { happy_var_1 -> 
+	case happyOut243 happy_x_2 of { happy_var_2 -> 
+	case happyOut178 happy_x_3 of { happy_var_3 -> 
+	happyIn174
+		 (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
+	)}}}
+
+happyReduce_416 = happySpecReduce_1  160# happyReduction_416
+happyReduction_416 happy_x_1
+	 =  case happyOut178 happy_x_1 of { happy_var_1 -> 
+	happyIn174
+		 (happy_var_1
+	)}
+
+happyReduce_417 = happyReduce 4# 161# happyReduction_417
+happyReduction_417 (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 happyOut181 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> 
+	case happyOut171 happy_x_4 of { happy_var_4 -> 
+	happyIn175
+		 (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_418 = happyReduce 4# 161# happyReduction_418
+happyReduction_418 (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 happyOut171 happy_x_4 of { happy_var_4 -> 
+	happyIn175
+		 (Let    (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3])    happy_var_2 happy_var_4
+	) `HappyStk` happyRest}}}}
+
+happyReduce_419 = happyReduce 8# 161# happyReduction_419
+happyReduction_419 (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 happyOut171 happy_x_2 of { happy_var_2 -> 
+	case happyOut176 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (Loc happy_var_4 KW_Then) -> 
+	case happyOut171 happy_x_5 of { happy_var_5 -> 
+	case happyOut176 happy_x_6 of { happy_var_6 -> 
+	case happyOutTok happy_x_7 of { (Loc happy_var_7 KW_Else) -> 
+	case happyOut171 happy_x_8 of { happy_var_8 -> 
+	happyIn175
+		 (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_420 = happyMonadReduce 2# 161# happyReduction_420
+happyReduction_420 (happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> 
+	case happyOut218 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 (happyIn175 r))
+
+happyReduce_421 = happyReduce 4# 161# happyReduction_421
+happyReduction_421 (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 happyOut182 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> 
+	case happyOut171 happy_x_4 of { happy_var_4 -> 
+	happyIn175
+		 (Proc   (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3])    happy_var_2 happy_var_4
+	) `HappyStk` happyRest}}}}
+
+happyReduce_422 = happySpecReduce_1  161# happyReduction_422
+happyReduction_422 happy_x_1
+	 =  case happyOut179 happy_x_1 of { happy_var_1 -> 
+	happyIn175
+		 (happy_var_1
+	)}
+
+happyReduce_423 = happyMonadReduce 1# 162# happyReduction_423
+happyReduction_423 (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 (happyIn176 r))
+
+happyReduce_424 = happySpecReduce_0  162# happyReduction_424
+happyReduction_424  =  happyIn176
+		 ([]
+	)
+
+happyReduce_425 = happySpecReduce_1  163# happyReduction_425
+happyReduction_425 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> 
+	happyIn177
+		 ([happy_var_1]
+	)}
+
+happyReduce_426 = happySpecReduce_0  163# happyReduction_426
+happyReduction_426  =  happyIn177
+		 ([]
+	)
+
+happyReduce_427 = happyReduce 4# 164# happyReduction_427
+happyReduction_427 (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 happyOut171 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_Of) -> 
+	case happyOut210 happy_x_4 of { happy_var_4 -> 
+	happyIn178
+		 (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_428 = happyMonadReduce 3# 164# happyReduction_428
+happyReduction_428 (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 happyOut210 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 (happyIn178 r))
+
+happyReduce_429 = happySpecReduce_2  164# happyReduction_429
+happyReduction_429 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> 
+	case happyOut180 happy_x_2 of { happy_var_2 -> 
+	happyIn178
+		 (NegApp (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)}}
+
+happyReduce_430 = happySpecReduce_2  164# happyReduction_430
+happyReduction_430 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> 
+	case happyOut221 happy_x_2 of { happy_var_2 -> 
+	happyIn178
+		 (let (sts, inf, ss) = happy_var_2 in Do   (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts
+	)}}
+
+happyReduce_431 = happySpecReduce_2  164# happyReduction_431
+happyReduction_431 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> 
+	case happyOut221 happy_x_2 of { happy_var_2 -> 
+	happyIn178
+		 (let (sts, inf, ss) = happy_var_2 in MDo  (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts
+	)}}
+
+happyReduce_432 = happySpecReduce_1  164# happyReduction_432
+happyReduction_432 happy_x_1
+	 =  case happyOut180 happy_x_1 of { happy_var_1 -> 
+	happyIn178
+		 (happy_var_1
+	)}
+
+happyReduce_433 = happyReduce 4# 165# happyReduction_433
+happyReduction_433 (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 happyOut171 happy_x_4 of { happy_var_4 -> 
+	happyIn179
+		 (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_434 = happyReduce 4# 165# happyReduction_434
+happyReduction_434 (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 happyOut171 happy_x_4 of { happy_var_4 -> 
+	happyIn179
+		 (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_435 = happyReduce 11# 165# happyReduction_435
+happyReduction_435 (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 happyOut171 happy_x_11 of { happy_var_11 -> 
+	happyIn179
+		 (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_436 = happySpecReduce_2  166# happyReduction_436
+happyReduction_436 happy_x_2
+	happy_x_1
+	 =  case happyOut180 happy_x_1 of { happy_var_1 -> 
+	case happyOut183 happy_x_2 of { happy_var_2 -> 
+	happyIn180
+		 (App (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2
+	)}}
+
+happyReduce_437 = happySpecReduce_1  166# happyReduction_437
+happyReduction_437 happy_x_1
+	 =  case happyOut183 happy_x_1 of { happy_var_1 -> 
+	happyIn180
+		 (happy_var_1
+	)}
+
+happyReduce_438 = happySpecReduce_2  167# happyReduction_438
+happyReduction_438 happy_x_2
+	happy_x_1
+	 =  case happyOut181 happy_x_1 of { happy_var_1 -> 
+	case happyOut182 happy_x_2 of { happy_var_2 -> 
+	happyIn181
+		 (happy_var_2 : happy_var_1
+	)}}
+
+happyReduce_439 = happySpecReduce_1  167# happyReduction_439
+happyReduction_439 happy_x_1
+	 =  case happyOut182 happy_x_1 of { happy_var_1 -> 
+	happyIn181
+		 ([happy_var_1]
+	)}
+
+happyReduce_440 = happyMonadReduce 1# 168# happyReduction_440
+happyReduction_440 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut183 happy_x_1 of { happy_var_1 -> 
+	( checkPattern happy_var_1)}
+	) (\r -> happyReturn (happyIn182 r))
+
+happyReduce_441 = happyMonadReduce 2# 168# happyReduction_441
+happyReduction_441 (happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> 
+	case happyOut183 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 (happyIn182 r))
+
+happyReduce_442 = happyMonadReduce 3# 169# happyReduction_442
+happyReduction_442 (happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut233 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 At) -> 
+	case happyOut183 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 (happyIn183 r))
+
+happyReduce_443 = happyMonadReduce 3# 169# happyReduction_443
+happyReduction_443 (happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut233 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 RPCAt) -> 
+	case happyOut183 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 (happyIn183 r))
+
+happyReduce_444 = happySpecReduce_2  169# happyReduction_444
+happyReduction_444 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Tilde) -> 
+	case happyOut183 happy_x_2 of { happy_var_2 -> 
+	happyIn183
+		 (IrrPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)}}
+
+happyReduce_445 = happySpecReduce_2  169# happyReduction_445
+happyReduction_445 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 -> 
+	happyIn183
+		 (TypeApp (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)}}
+
+happyReduce_446 = happySpecReduce_1  169# happyReduction_446
+happyReduction_446 happy_x_1
+	 =  case happyOut184 happy_x_1 of { happy_var_1 -> 
+	happyIn183
+		 (happy_var_1
+	)}
+
+happyReduce_447 = happyMonadReduce 3# 170# happyReduction_447
+happyReduction_447 (happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut184 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 (happyIn184 r))
+
+happyReduce_448 = happyMonadReduce 4# 170# happyReduction_448
+happyReduction_448 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut184 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> 
+	case happyOut225 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 (happyIn184 r))
+
+happyReduce_449 = happySpecReduce_1  170# happyReduction_449
+happyReduction_449 happy_x_1
+	 =  case happyOut185 happy_x_1 of { happy_var_1 -> 
+	happyIn184
+		 (happy_var_1
+	)}
+
+happyReduce_450 = happySpecReduce_1  171# happyReduction_450
+happyReduction_450 happy_x_1
+	 =  case happyOut234 happy_x_1 of { happy_var_1 -> 
+	happyIn185
+		 (IPVar (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_451 = happySpecReduce_1  171# happyReduction_451
+happyReduction_451 happy_x_1
+	 =  case happyOut246 happy_x_1 of { happy_var_1 -> 
+	happyIn185
+		 (happy_var_1
+	)}
+
+happyReduce_452 = happySpecReduce_1  171# happyReduction_452
+happyReduction_452 happy_x_1
+	 =  case happyOut233 happy_x_1 of { happy_var_1 -> 
+	happyIn185
+		 (Var (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_453 = happySpecReduce_1  171# happyReduction_453
+happyReduction_453 happy_x_1
+	 =  case happyOut230 happy_x_1 of { happy_var_1 -> 
+	happyIn185
+		 (happy_var_1
+	)}
+
+happyReduce_454 = happySpecReduce_1  171# happyReduction_454
+happyReduction_454 happy_x_1
+	 =  case happyOut260 happy_x_1 of { happy_var_1 -> 
+	happyIn185
+		 (Lit (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_455 = happySpecReduce_3  171# happyReduction_455
+happyReduction_455 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
+	case happyOut187 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
+	happyIn185
+		 (Paren (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)}}}
+
+happyReduce_456 = happySpecReduce_3  171# happyReduction_456
+happyReduction_456 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
+	case happyOut187 happy_x_2 of { happy_var_2 -> 
+	case happyOut188 happy_x_3 of { happy_var_3 -> 
+	happyIn185
+		 (TupleSection (happy_var_1 <^^> head (snd happy_var_3) <** happy_var_1:reverse (snd happy_var_3)) Boxed (Just happy_var_2 : fst happy_var_3)
+	)}}}
+
+happyReduce_457 = happyReduce 4# 171# happyReduction_457
+happyReduction_457 (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 happyOut186 happy_x_2 of { happy_var_2 -> 
+	case happyOut187 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightParen) -> 
+	happyIn185
+		 (TupleSection (happy_var_1 <^^> happy_var_4 <** happy_var_1:reverse (happy_var_4:happy_var_2)) Boxed
+                                                      (replicate (length happy_var_2) Nothing ++ [Just happy_var_3])
+	) `HappyStk` happyRest}}}}
+
+happyReduce_458 = happyReduce 4# 171# happyReduction_458
+happyReduction_458 (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 happyOut186 happy_x_2 of { happy_var_2 -> 
+	case happyOut187 happy_x_3 of { happy_var_3 -> 
+	case happyOut188 happy_x_4 of { happy_var_4 -> 
+	happyIn185
+		 (TupleSection (happy_var_1 <^^> head (snd happy_var_4) <** happy_var_1:reverse (snd happy_var_4 ++ happy_var_2)) Boxed
+                                                      (replicate (length happy_var_2) Nothing ++ Just happy_var_3 : fst happy_var_4)
+	) `HappyStk` happyRest}}}}
+
+happyReduce_459 = happySpecReduce_3  171# happyReduction_459
+happyReduction_459 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> 
+	case happyOut187 happy_x_2 of { happy_var_2 -> 
+	case happyOut189 happy_x_3 of { happy_var_3 -> 
+	happyIn185
+		 (TupleSection (happy_var_1 <^^> head (snd happy_var_3) <** happy_var_1:reverse (snd happy_var_3)) Unboxed (Just happy_var_2 : fst happy_var_3)
+	)}}}
+
+happyReduce_460 = happySpecReduce_3  171# happyReduction_460
+happyReduction_460 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> 
+	case happyOut187 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> 
+	happyIn185
+		 (TupleSection (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) Unboxed [Just happy_var_2]
+	)}}}
+
+happyReduce_461 = happyReduce 4# 171# happyReduction_461
+happyReduction_461 (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 LeftHashParen) -> 
+	case happyOut186 happy_x_2 of { happy_var_2 -> 
+	case happyOut187 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightHashParen) -> 
+	happyIn185
+		 (TupleSection (happy_var_1 <^^> happy_var_4 <** happy_var_1:reverse (happy_var_4:happy_var_2)) Unboxed
+                                                      (replicate (length happy_var_2) Nothing ++ [Just happy_var_3])
+	) `HappyStk` happyRest}}}}
+
+happyReduce_462 = happyReduce 4# 171# happyReduction_462
+happyReduction_462 (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 LeftHashParen) -> 
+	case happyOut186 happy_x_2 of { happy_var_2 -> 
+	case happyOut187 happy_x_3 of { happy_var_3 -> 
+	case happyOut189 happy_x_4 of { happy_var_4 -> 
+	happyIn185
+		 (TupleSection (happy_var_1 <^^> head (snd happy_var_4) <** happy_var_1:reverse (snd happy_var_4 ++ happy_var_2)) Unboxed
+                                                      (replicate (length happy_var_2) Nothing ++ Just happy_var_3 : fst happy_var_4)
+	) `HappyStk` happyRest}}}}
+
+happyReduce_463 = happySpecReduce_3  171# happyReduction_463
+happyReduction_463 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftSquare) -> 
+	case happyOut201 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightSquare) -> 
+	happyIn185
+		 (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])
+	)}}}
+
+happyReduce_464 = happySpecReduce_3  171# happyReduction_464
+happyReduction_464 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 ParArrayLeftSquare) -> 
+	case happyOut209 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 ParArrayRightSquare) -> 
+	happyIn185
+		 (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])
+	)}}}
+
+happyReduce_465 = happySpecReduce_1  171# happyReduction_465
+happyReduction_465 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Underscore) -> 
+	happyIn185
+		 (WildCard (nIS happy_var_1)
+	)}
+
+happyReduce_466 = happyMonadReduce 3# 171# happyReduction_466
+happyReduction_466 (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 happyOut191 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 (happyIn185 r))
+
+happyReduce_467 = happySpecReduce_3  171# happyReduction_467
+happyReduction_467 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 RPGuardOpen) -> 
+	case happyOut190 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RPGuardClose) -> 
+	happyIn185
+		 (SeqRP (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (snd happy_var_2) ++ [happy_var_3])) $ reverse (fst happy_var_2)
+	)}}}
+
+happyReduce_468 = happyReduce 5# 171# happyReduction_468
+happyReduction_468 (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 happyOut171 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 Bar) -> 
+	case happyOut207 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (Loc happy_var_5 RPGuardClose) -> 
+	happyIn185
+		 (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_469 = happySpecReduce_1  171# happyReduction_469
+happyReduction_469 happy_x_1
+	 =  case happyOut192 happy_x_1 of { happy_var_1 -> 
+	happyIn185
+		 (happy_var_1
+	)}
+
+happyReduce_470 = happySpecReduce_1  171# happyReduction_470
+happyReduction_470 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn185
+		 (let Loc l (THIdEscape s) = happy_var_1 in SpliceExp (nIS l) $ IdSplice (nIS l) s
+	)}
+
+happyReduce_471 = happySpecReduce_3  171# happyReduction_471
+happyReduction_471 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THParenEscape) -> 
+	case happyOut170 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
+	happyIn185
+		 (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in SpliceExp l $ ParenSplice l happy_var_2
+	)}}}
+
+happyReduce_472 = happySpecReduce_3  171# happyReduction_472
+happyReduction_472 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THExpQuote) -> 
+	case happyOut170 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 THCloseQuote) -> 
+	happyIn185
+		 (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in BracketExp l $ ExpBracket l happy_var_2
+	)}}}
+
+happyReduce_473 = happyMonadReduce 3# 171# happyReduction_473
+happyReduction_473 (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 happyOut172 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 (happyIn185 r))
+
+happyReduce_474 = happySpecReduce_3  171# happyReduction_474
+happyReduction_474 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) -> 
+	happyIn185
+		 (let l = happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3] in BracketExp l $ TypeBracket l happy_var_2
+	)}}}
+
+happyReduce_475 = happyReduce 5# 171# happyReduction_475
+happyReduction_475 (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 happyOut261 happy_x_2 of { happy_var_2 -> 
+	case happyOut58 happy_x_3 of { happy_var_3 -> 
+	case happyOut262 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (Loc happy_var_5 THCloseQuote) -> 
+	happyIn185
+		 (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_476 = happySpecReduce_3  171# happyReduction_476
+happyReduction_476 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) -> 
+	happyIn185
+		 (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_477 = happySpecReduce_2  171# happyReduction_477
+happyReduction_477 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> 
+	case happyOut233 happy_x_2 of { happy_var_2 -> 
+	happyIn185
+		 (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)}}
+
+happyReduce_478 = happySpecReduce_2  171# happyReduction_478
+happyReduction_478 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THVarQuote) -> 
+	case happyOut236 happy_x_2 of { happy_var_2 -> 
+	happyIn185
+		 (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)}}
+
+happyReduce_479 = happySpecReduce_2  171# happyReduction_479
+happyReduction_479 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 THTyQuote) -> 
+	case happyOut274 happy_x_2 of { happy_var_2 -> 
+	happyIn185
+		 (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) (UnQual (ann happy_var_2) happy_var_2)
+	)}}
+
+happyReduce_480 = happySpecReduce_2  171# happyReduction_480
+happyReduction_480 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 -> 
+	happyIn185
+		 (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)}}
+
+happyReduce_481 = happySpecReduce_1  171# happyReduction_481
+happyReduction_481 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn185
+		 (let Loc l (THQuasiQuote (n,q)) = happy_var_1 in QuasiQuote (nIS l) n q
+	)}
+
+happyReduce_482 = happySpecReduce_2  172# happyReduction_482
+happyReduction_482 happy_x_2
+	happy_x_1
+	 =  case happyOut186 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	happyIn186
+		 (happy_var_2 : happy_var_1
+	)}}
+
+happyReduce_483 = happySpecReduce_1  172# happyReduction_483
+happyReduction_483 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Comma) -> 
+	happyIn186
+		 ([happy_var_1]
+	)}
+
+happyReduce_484 = happySpecReduce_1  173# happyReduction_484
+happyReduction_484 happy_x_1
+	 =  case happyOut171 happy_x_1 of { happy_var_1 -> 
+	happyIn187
+		 (happy_var_1
+	)}
+
+happyReduce_485 = happySpecReduce_2  173# happyReduction_485
+happyReduction_485 happy_x_2
+	happy_x_1
+	 =  case happyOut244 happy_x_1 of { happy_var_1 -> 
+	case happyOut172 happy_x_2 of { happy_var_2 -> 
+	happyIn187
+		 (PreOp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2
+	)}}
+
+happyReduce_486 = happyMonadReduce 3# 173# happyReduction_486
+happyReduction_486 (happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut171 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightArrow) -> 
+	case happyOut217 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 (happyIn187 r))
+
+happyReduce_487 = happySpecReduce_3  174# happyReduction_487
+happyReduction_487 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut186 happy_x_1 of { happy_var_1 -> 
+	case happyOut187 happy_x_2 of { happy_var_2 -> 
+	case happyOut188 happy_x_3 of { happy_var_3 -> 
+	happyIn188
+		 (let (mes, ss) = happy_var_3 in (replicate (length happy_var_1 - 1) Nothing ++ Just happy_var_2 : mes, ss ++ happy_var_1)
+	)}}}
+
+happyReduce_488 = happySpecReduce_3  174# happyReduction_488
+happyReduction_488 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut186 happy_x_1 of { happy_var_1 -> 
+	case happyOut187 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
+	happyIn188
+		 ((replicate (length happy_var_1 - 1) Nothing ++ [Just happy_var_2], happy_var_3 : happy_var_1)
+	)}}}
+
+happyReduce_489 = happySpecReduce_2  174# happyReduction_489
+happyReduction_489 happy_x_2
+	happy_x_1
+	 =  case happyOut186 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightParen) -> 
+	happyIn188
+		 ((replicate (length happy_var_1) Nothing, happy_var_2 : happy_var_1)
+	)}}
+
+happyReduce_490 = happySpecReduce_3  175# happyReduction_490
+happyReduction_490 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut186 happy_x_1 of { happy_var_1 -> 
+	case happyOut187 happy_x_2 of { happy_var_2 -> 
+	case happyOut189 happy_x_3 of { happy_var_3 -> 
+	happyIn189
+		 (let (mes, ss) = happy_var_3 in (replicate (length happy_var_1 - 1) Nothing ++ Just happy_var_2 : mes, ss ++ happy_var_1)
+	)}}}
+
+happyReduce_491 = happySpecReduce_3  175# happyReduction_491
+happyReduction_491 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut186 happy_x_1 of { happy_var_1 -> 
+	case happyOut187 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> 
+	happyIn189
+		 ((replicate (length happy_var_1 - 1) Nothing ++ [Just happy_var_2], happy_var_3 : happy_var_1)
+	)}}}
+
+happyReduce_492 = happySpecReduce_2  175# happyReduction_492
+happyReduction_492 happy_x_2
+	happy_x_1
+	 =  case happyOut186 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 RightHashParen) -> 
+	happyIn189
+		 ((replicate (length happy_var_1) Nothing, happy_var_2 : happy_var_1)
+	)}}
+
+happyReduce_493 = happySpecReduce_3  176# happyReduction_493
+happyReduction_493 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut190 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	case happyOut171 happy_x_3 of { happy_var_3 -> 
+	happyIn190
+		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
+	)}}}
+
+happyReduce_494 = happySpecReduce_1  176# happyReduction_494
+happyReduction_494 happy_x_1
+	 =  case happyOut171 happy_x_1 of { happy_var_1 -> 
+	happyIn190
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_495 = happySpecReduce_3  177# happyReduction_495
+happyReduction_495 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut171 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> 
+	case happyOut191 happy_x_3 of { happy_var_3 -> 
+	happyIn191
+		 (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_496 = happySpecReduce_3  177# happyReduction_496
+happyReduction_496 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut171 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> 
+	case happyOut171 happy_x_3 of { happy_var_3 -> 
+	happyIn191
+		 (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_497 = happyMonadReduce 10# 178# happyReduction_497
+happyReduction_497 (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 happyOut195 happy_x_2 of { happy_var_2 -> 
+	case happyOut198 happy_x_3 of { happy_var_3 -> 
+	case happyOut200 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (Loc happy_var_5 XStdTagClose) -> 
+	case happyOut193 happy_x_6 of { happy_var_6 -> 
+	case happyOut177 happy_x_7 of { happy_var_7 -> 
+	case happyOutTok happy_x_8 of { (Loc happy_var_8 XCloseTagOpen) -> 
+	case happyOut195 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 (happyIn192 r))
+
+happyReduce_498 = happyReduce 5# 178# happyReduction_498
+happyReduction_498 (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 happyOut195 happy_x_2 of { happy_var_2 -> 
+	case happyOut198 happy_x_3 of { happy_var_3 -> 
+	case happyOut200 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (Loc happy_var_5 XEmptyTagClose) -> 
+	happyIn192
+		 (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_499 = happySpecReduce_3  178# happyReduction_499
+happyReduction_499 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 XCodeTagOpen) -> 
+	case happyOut171 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 XCodeTagClose) -> 
+	happyIn192
+		 (XExpTag (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)}}}
+
+happyReduce_500 = happyReduce 5# 178# happyReduction_500
+happyReduction_500 (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 happyOut193 happy_x_2 of { happy_var_2 -> 
+	case happyOut177 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) -> 
+	happyIn192
+		 (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_501 = happySpecReduce_2  179# happyReduction_501
+happyReduction_501 happy_x_2
+	happy_x_1
+	 =  case happyOut193 happy_x_1 of { happy_var_1 -> 
+	case happyOut194 happy_x_2 of { happy_var_2 -> 
+	happyIn193
+		 (happy_var_2 : happy_var_1
+	)}}
+
+happyReduce_502 = happySpecReduce_0  179# happyReduction_502
+happyReduction_502  =  happyIn193
+		 ([]
+	)
+
+happyReduce_503 = happySpecReduce_1  180# happyReduction_503
+happyReduction_503 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn194
+		 (let Loc l (XPCDATA pcd) = happy_var_1 in XPcdata (nIS l) pcd
+	)}
+
+happyReduce_504 = happySpecReduce_3  180# happyReduction_504
+happyReduction_504 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 XRPatOpen) -> 
+	case happyOut190 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 XRPatClose) -> 
+	happyIn194
+		 (XRPats (happy_var_1 <^^> happy_var_3 <** (snd happy_var_2 ++ [happy_var_1,happy_var_3])) $ reverse (fst happy_var_2)
+	)}}}
+
+happyReduce_505 = happySpecReduce_1  180# happyReduction_505
+happyReduction_505 happy_x_1
+	 =  case happyOut192 happy_x_1 of { happy_var_1 -> 
+	happyIn194
+		 (happy_var_1
+	)}
+
+happyReduce_506 = happySpecReduce_3  181# happyReduction_506
+happyReduction_506 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 Colon) -> 
+	case happyOut196 happy_x_3 of { happy_var_3 -> 
+	happyIn195
+		 (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_507 = happySpecReduce_1  181# happyReduction_507
+happyReduction_507 happy_x_1
+	 =  case happyOut196 happy_x_1 of { happy_var_1 -> 
+	happyIn195
+		 (let Loc l str = happy_var_1 in XName (nIS l) str
+	)}
+
+happyReduce_508 = happySpecReduce_1  182# happyReduction_508
+happyReduction_508 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn196
+		 (let Loc l (VarId  s) = happy_var_1 in Loc l s
+	)}
+
+happyReduce_509 = happySpecReduce_1  182# happyReduction_509
+happyReduction_509 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn196
+		 (let Loc l (ConId  s) = happy_var_1 in Loc l s
+	)}
+
+happyReduce_510 = happySpecReduce_1  182# happyReduction_510
+happyReduction_510 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn196
+		 (let Loc l (DVarId s) = happy_var_1 in Loc l $ mkDVar s
+	)}
+
+happyReduce_511 = happySpecReduce_1  182# happyReduction_511
+happyReduction_511 happy_x_1
+	 =  case happyOut197 happy_x_1 of { happy_var_1 -> 
+	happyIn196
+		 (happy_var_1
+	)}
+
+happyReduce_512 = happySpecReduce_1  183# happyReduction_512
+happyReduction_512 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Type) -> 
+	happyIn197
+		 (Loc happy_var_1 "type"
+	)}
+
+happyReduce_513 = happySpecReduce_1  183# happyReduction_513
+happyReduction_513 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Class) -> 
+	happyIn197
+		 (Loc happy_var_1 "class"
+	)}
+
+happyReduce_514 = happySpecReduce_1  183# happyReduction_514
+happyReduction_514 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Data) -> 
+	happyIn197
+		 (Loc happy_var_1 "data"
+	)}
+
+happyReduce_515 = happySpecReduce_1  183# happyReduction_515
+happyReduction_515 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Foreign) -> 
+	happyIn197
+		 (Loc happy_var_1 "foreign"
+	)}
+
+happyReduce_516 = happySpecReduce_1  183# happyReduction_516
+happyReduction_516 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Export) -> 
+	happyIn197
+		 (Loc happy_var_1 "export"
+	)}
+
+happyReduce_517 = happySpecReduce_1  183# happyReduction_517
+happyReduction_517 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> 
+	happyIn197
+		 (Loc happy_var_1 "safe"
+	)}
+
+happyReduce_518 = happySpecReduce_1  183# happyReduction_518
+happyReduction_518 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> 
+	happyIn197
+		 (Loc happy_var_1 "unsafe"
+	)}
+
+happyReduce_519 = happySpecReduce_1  183# happyReduction_519
+happyReduction_519 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> 
+	happyIn197
+		 (Loc happy_var_1 "interruptible"
+	)}
+
+happyReduce_520 = happySpecReduce_1  183# happyReduction_520
+happyReduction_520 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> 
+	happyIn197
+		 (Loc happy_var_1 "threadsafe"
+	)}
+
+happyReduce_521 = happySpecReduce_1  183# happyReduction_521
+happyReduction_521 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> 
+	happyIn197
+		 (Loc happy_var_1 "stdcall"
+	)}
+
+happyReduce_522 = happySpecReduce_1  183# happyReduction_522
+happyReduction_522 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> 
+	happyIn197
+		 (Loc happy_var_1 "ccall"
+	)}
+
+happyReduce_523 = happySpecReduce_1  183# happyReduction_523
+happyReduction_523 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> 
+	happyIn197
+		 (Loc happy_var_1 "cplusplus"
+	)}
+
+happyReduce_524 = happySpecReduce_1  183# happyReduction_524
+happyReduction_524 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> 
+	happyIn197
+		 (Loc happy_var_1 "dotnet"
+	)}
+
+happyReduce_525 = happySpecReduce_1  183# happyReduction_525
+happyReduction_525 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> 
+	happyIn197
+		 (Loc happy_var_1 "jvm"
+	)}
+
+happyReduce_526 = happySpecReduce_1  183# happyReduction_526
+happyReduction_526 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> 
+	happyIn197
+		 (Loc happy_var_1 "js"
+	)}
+
+happyReduce_527 = happySpecReduce_1  183# happyReduction_527
+happyReduction_527 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> 
+	happyIn197
+		 (Loc happy_var_1 "javascript"
+	)}
+
+happyReduce_528 = happySpecReduce_1  183# happyReduction_528
+happyReduction_528 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> 
+	happyIn197
+		 (Loc happy_var_1 "capi"
+	)}
+
+happyReduce_529 = happySpecReduce_1  183# happyReduction_529
+happyReduction_529 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> 
+	happyIn197
+		 (Loc happy_var_1 "as"
+	)}
+
+happyReduce_530 = happySpecReduce_1  183# happyReduction_530
+happyReduction_530 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_By) -> 
+	happyIn197
+		 (Loc happy_var_1 "by"
+	)}
+
+happyReduce_531 = happySpecReduce_1  183# happyReduction_531
+happyReduction_531 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Case) -> 
+	happyIn197
+		 (Loc happy_var_1 "case"
+	)}
+
+happyReduce_532 = happySpecReduce_1  183# happyReduction_532
+happyReduction_532 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Default) -> 
+	happyIn197
+		 (Loc happy_var_1 "default"
+	)}
+
+happyReduce_533 = happySpecReduce_1  183# happyReduction_533
+happyReduction_533 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Deriving) -> 
+	happyIn197
+		 (Loc happy_var_1 "deriving"
+	)}
+
+happyReduce_534 = happySpecReduce_1  183# happyReduction_534
+happyReduction_534 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Do) -> 
+	happyIn197
+		 (Loc happy_var_1 "do"
+	)}
+
+happyReduce_535 = happySpecReduce_1  183# happyReduction_535
+happyReduction_535 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Else) -> 
+	happyIn197
+		 (Loc happy_var_1 "else"
+	)}
+
+happyReduce_536 = happySpecReduce_1  183# happyReduction_536
+happyReduction_536 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> 
+	happyIn197
+		 (Loc happy_var_1 "family"
+	)}
+
+happyReduce_537 = happySpecReduce_1  183# happyReduction_537
+happyReduction_537 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> 
+	happyIn197
+		 (Loc happy_var_1 "forall"
+	)}
+
+happyReduce_538 = happySpecReduce_1  183# happyReduction_538
+happyReduction_538 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Group) -> 
+	happyIn197
+		 (Loc happy_var_1 "group"
+	)}
+
+happyReduce_539 = happySpecReduce_1  183# happyReduction_539
+happyReduction_539 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> 
+	happyIn197
+		 (Loc happy_var_1 "hiding"
+	)}
+
+happyReduce_540 = happySpecReduce_1  183# happyReduction_540
+happyReduction_540 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_If) -> 
+	happyIn197
+		 (Loc happy_var_1 "if"
+	)}
+
+happyReduce_541 = happySpecReduce_1  183# happyReduction_541
+happyReduction_541 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Import) -> 
+	happyIn197
+		 (Loc happy_var_1 "import"
+	)}
+
+happyReduce_542 = happySpecReduce_1  183# happyReduction_542
+happyReduction_542 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_In) -> 
+	happyIn197
+		 (Loc happy_var_1 "in"
+	)}
+
+happyReduce_543 = happySpecReduce_1  183# happyReduction_543
+happyReduction_543 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Infix) -> 
+	happyIn197
+		 (Loc happy_var_1 "infix"
+	)}
+
+happyReduce_544 = happySpecReduce_1  183# happyReduction_544
+happyReduction_544 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixL) -> 
+	happyIn197
+		 (Loc happy_var_1 "infixl"
+	)}
+
+happyReduce_545 = happySpecReduce_1  183# happyReduction_545
+happyReduction_545 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_InfixR) -> 
+	happyIn197
+		 (Loc happy_var_1 "infixr"
+	)}
+
+happyReduce_546 = happySpecReduce_1  183# happyReduction_546
+happyReduction_546 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Instance) -> 
+	happyIn197
+		 (Loc happy_var_1 "instance"
+	)}
+
+happyReduce_547 = happySpecReduce_1  183# happyReduction_547
+happyReduction_547 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Let) -> 
+	happyIn197
+		 (Loc happy_var_1 "let"
+	)}
+
+happyReduce_548 = happySpecReduce_1  183# happyReduction_548
+happyReduction_548 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_MDo) -> 
+	happyIn197
+		 (Loc happy_var_1 "mdo"
+	)}
+
+happyReduce_549 = happySpecReduce_1  183# happyReduction_549
+happyReduction_549 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Module) -> 
+	happyIn197
+		 (Loc happy_var_1 "module"
+	)}
+
+happyReduce_550 = happySpecReduce_1  183# happyReduction_550
+happyReduction_550 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_NewType) -> 
+	happyIn197
+		 (Loc happy_var_1 "newtype"
+	)}
+
+happyReduce_551 = happySpecReduce_1  183# happyReduction_551
+happyReduction_551 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Of) -> 
+	happyIn197
+		 (Loc happy_var_1 "of"
+	)}
+
+happyReduce_552 = happySpecReduce_1  183# happyReduction_552
+happyReduction_552 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Proc) -> 
+	happyIn197
+		 (Loc happy_var_1 "proc"
+	)}
+
+happyReduce_553 = happySpecReduce_1  183# happyReduction_553
+happyReduction_553 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> 
+	happyIn197
+		 (Loc happy_var_1 "rec"
+	)}
+
+happyReduce_554 = happySpecReduce_1  183# happyReduction_554
+happyReduction_554 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> 
+	happyIn197
+		 (Loc happy_var_1 "then"
+	)}
+
+happyReduce_555 = happySpecReduce_1  183# happyReduction_555
+happyReduction_555 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Using) -> 
+	happyIn197
+		 (Loc happy_var_1 "using"
+	)}
+
+happyReduce_556 = happySpecReduce_1  183# happyReduction_556
+happyReduction_556 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Where) -> 
+	happyIn197
+		 (Loc happy_var_1 "where"
+	)}
+
+happyReduce_557 = happySpecReduce_1  183# happyReduction_557
+happyReduction_557 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> 
+	happyIn197
+		 (Loc happy_var_1 "qualified"
+	)}
+
+happyReduce_558 = happySpecReduce_2  184# happyReduction_558
+happyReduction_558 happy_x_2
+	happy_x_1
+	 =  case happyOut198 happy_x_1 of { happy_var_1 -> 
+	case happyOut199 happy_x_2 of { happy_var_2 -> 
+	happyIn198
+		 (happy_var_2 : happy_var_1
+	)}}
+
+happyReduce_559 = happySpecReduce_0  184# happyReduction_559
+happyReduction_559  =  happyIn198
+		 ([]
+	)
+
+happyReduce_560 = happySpecReduce_3  185# happyReduction_560
+happyReduction_560 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut195 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> 
+	case happyOut183 happy_x_3 of { happy_var_3 -> 
+	happyIn199
+		 (XAttr (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_561 = happySpecReduce_1  186# happyReduction_561
+happyReduction_561 happy_x_1
+	 =  case happyOut183 happy_x_1 of { happy_var_1 -> 
+	happyIn200
+		 (Just happy_var_1
+	)}
+
+happyReduce_562 = happySpecReduce_0  186# happyReduction_562
+happyReduction_562  =  happyIn200
+		 (Nothing
+	)
+
+happyReduce_563 = happySpecReduce_1  187# happyReduction_563
+happyReduction_563 happy_x_1
+	 =  case happyOut187 happy_x_1 of { happy_var_1 -> 
+	happyIn201
+		 (\l -> List l [happy_var_1]
+	)}
+
+happyReduce_564 = happySpecReduce_1  187# happyReduction_564
+happyReduction_564 happy_x_1
+	 =  case happyOut202 happy_x_1 of { happy_var_1 -> 
+	happyIn201
+		 (\l -> let (ps,ss) = happy_var_1 in List (l <** reverse ss) (reverse ps)
+	)}
+
+happyReduce_565 = happySpecReduce_2  187# happyReduction_565
+happyReduction_565 happy_x_2
+	happy_x_1
+	 =  case happyOut187 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> 
+	happyIn201
+		 (\l -> EnumFrom       (l <** [happy_var_2]) happy_var_1
+	)}}
+
+happyReduce_566 = happyReduce 4# 187# happyReduction_566
+happyReduction_566 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut187 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	case happyOut171 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> 
+	happyIn201
+		 (\l -> EnumFromThen   (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3
+	) `HappyStk` happyRest}}}}
+
+happyReduce_567 = happySpecReduce_3  187# happyReduction_567
+happyReduction_567 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut187 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> 
+	case happyOut171 happy_x_3 of { happy_var_3 -> 
+	happyIn201
+		 (\l -> EnumFromTo     (l <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_568 = happyReduce 5# 187# happyReduction_568
+happyReduction_568 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut187 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	case happyOut171 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> 
+	case happyOut171 happy_x_5 of { happy_var_5 -> 
+	happyIn201
+		 (\l -> EnumFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5
+	) `HappyStk` happyRest}}}}}
+
+happyReduce_569 = happySpecReduce_3  187# happyReduction_569
+happyReduction_569 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut187 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> 
+	case happyOut203 happy_x_3 of { happy_var_3 -> 
+	happyIn201
+		 (\l -> let (stss, ss) = happy_var_3 in ParComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)
+	)}}}
+
+happyReduce_570 = happySpecReduce_3  188# happyReduction_570
+happyReduction_570 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 Comma) -> 
+	case happyOut187 happy_x_3 of { happy_var_3 -> 
+	happyIn202
+		 (let (es, ss) = happy_var_1 in (happy_var_3 : es, happy_var_2 : ss)
+	)}}}
+
+happyReduce_571 = happySpecReduce_3  188# happyReduction_571
+happyReduction_571 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut187 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	case happyOut187 happy_x_3 of { happy_var_3 -> 
+	happyIn202
+		 (([happy_var_3,happy_var_1], [happy_var_2])
+	)}}}
+
+happyReduce_572 = happySpecReduce_3  189# happyReduction_572
+happyReduction_572 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 Bar) -> 
+	case happyOut204 happy_x_3 of { happy_var_3 -> 
+	happyIn203
+		 (let { (stss, ss1) = happy_var_1;
+                                              (sts, ss2) = happy_var_3 }
+                                         in (reverse sts : stss, ss1 ++ [happy_var_2] ++ reverse ss2)
+	)}}}
+
+happyReduce_573 = happySpecReduce_1  189# happyReduction_573
+happyReduction_573 happy_x_1
+	 =  case happyOut204 happy_x_1 of { happy_var_1 -> 
+	happyIn203
+		 (let (sts, ss) = happy_var_1 in ([reverse sts], reverse ss)
+	)}
+
+happyReduce_574 = happySpecReduce_3  190# happyReduction_574
+happyReduction_574 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut204 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	case happyOut205 happy_x_3 of { happy_var_3 -> 
+	happyIn204
+		 (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)
+	)}}}
+
+happyReduce_575 = happySpecReduce_1  190# happyReduction_575
+happyReduction_575 happy_x_1
+	 =  case happyOut205 happy_x_1 of { happy_var_1 -> 
+	happyIn204
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_576 = happySpecReduce_1  191# happyReduction_576
+happyReduction_576 happy_x_1
+	 =  case happyOut206 happy_x_1 of { happy_var_1 -> 
+	happyIn205
+		 (happy_var_1
+	)}
+
+happyReduce_577 = happySpecReduce_1  191# happyReduction_577
+happyReduction_577 happy_x_1
+	 =  case happyOut208 happy_x_1 of { happy_var_1 -> 
+	happyIn205
+		 (QualStmt (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_578 = happySpecReduce_2  192# happyReduction_578
+happyReduction_578 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Then) -> 
+	case happyOut170 happy_x_2 of { happy_var_2 -> 
+	happyIn206
+		 (ThenTrans    (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)}}
+
+happyReduce_579 = happyReduce 4# 192# happyReduction_579
+happyReduction_579 (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 happyOut170 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 KW_By) -> 
+	case happyOut170 happy_x_4 of { happy_var_4 -> 
+	happyIn206
+		 (ThenBy       (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4
+	) `HappyStk` happyRest}}}}
+
+happyReduce_580 = happyReduce 4# 192# happyReduction_580
+happyReduction_580 (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 happyOut170 happy_x_4 of { happy_var_4 -> 
+	happyIn206
+		 (GroupBy      (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4
+	) `HappyStk` happyRest}}}}
+
+happyReduce_581 = happyReduce 4# 192# happyReduction_581
+happyReduction_581 (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 happyOut170 happy_x_4 of { happy_var_4 -> 
+	happyIn206
+		 (GroupUsing   (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4
+	) `HappyStk` happyRest}}}}
+
+happyReduce_582 = happyReduce 6# 192# happyReduction_582
+happyReduction_582 (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 happyOut170 happy_x_4 of { happy_var_4 -> 
+	case happyOutTok happy_x_5 of { (Loc happy_var_5 KW_Using) -> 
+	case happyOut170 happy_x_6 of { happy_var_6 -> 
+	happyIn206
+		 (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_583 = happySpecReduce_3  193# happyReduction_583
+happyReduction_583 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut207 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	case happyOut208 happy_x_3 of { happy_var_3 -> 
+	happyIn207
+		 (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)
+	)}}}
+
+happyReduce_584 = happySpecReduce_1  193# happyReduction_584
+happyReduction_584 happy_x_1
+	 =  case happyOut208 happy_x_1 of { happy_var_1 -> 
+	happyIn207
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_585 = happySpecReduce_3  194# happyReduction_585
+happyReduction_585 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut217 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrow) -> 
+	case happyOut170 happy_x_3 of { happy_var_3 -> 
+	happyIn208
+		 (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_586 = happySpecReduce_1  194# happyReduction_586
+happyReduction_586 happy_x_1
+	 =  case happyOut170 happy_x_1 of { happy_var_1 -> 
+	happyIn208
+		 (Qualifier (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_587 = happySpecReduce_2  194# happyReduction_587
+happyReduction_587 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 -> 
+	happyIn208
+		 (LetStmt   (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)}}
+
+happyReduce_588 = happySpecReduce_0  195# happyReduction_588
+happyReduction_588  =  happyIn209
+		 (\l -> ParArray l []
+	)
+
+happyReduce_589 = happySpecReduce_1  195# happyReduction_589
+happyReduction_589 happy_x_1
+	 =  case happyOut187 happy_x_1 of { happy_var_1 -> 
+	happyIn209
+		 (\l -> ParArray l [happy_var_1]
+	)}
+
+happyReduce_590 = happySpecReduce_1  195# happyReduction_590
+happyReduction_590 happy_x_1
+	 =  case happyOut202 happy_x_1 of { happy_var_1 -> 
+	happyIn209
+		 (\l -> let (ps,ss) = happy_var_1 in ParArray (l <** reverse ss) (reverse ps)
+	)}
+
+happyReduce_591 = happySpecReduce_3  195# happyReduction_591
+happyReduction_591 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut187 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 DotDot) -> 
+	case happyOut171 happy_x_3 of { happy_var_3 -> 
+	happyIn209
+		 (\l -> ParArrayFromTo     (l <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_592 = happyReduce 5# 195# happyReduction_592
+happyReduction_592 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut187 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	case happyOut171 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (Loc happy_var_4 DotDot) -> 
+	case happyOut171 happy_x_5 of { happy_var_5 -> 
+	happyIn209
+		 (\l -> ParArrayFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5
+	) `HappyStk` happyRest}}}}}
+
+happyReduce_593 = happySpecReduce_3  195# happyReduction_593
+happyReduction_593 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut187 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Bar) -> 
+	case happyOut203 happy_x_3 of { happy_var_3 -> 
+	happyIn209
+		 (\l -> let (stss, ss) = happy_var_3 in ParArrayComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)
+	)}}}
+
+happyReduce_594 = happySpecReduce_3  196# happyReduction_594
+happyReduction_594 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> 
+	case happyOut211 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
+	happyIn210
+		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
+	)}}}
+
+happyReduce_595 = happySpecReduce_3  196# happyReduction_595
+happyReduction_595 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut261 happy_x_1 of { happy_var_1 -> 
+	case happyOut211 happy_x_2 of { happy_var_2 -> 
+	case happyOut262 happy_x_3 of { happy_var_3 -> 
+	happyIn210
+		 (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_596 = happySpecReduce_3  197# happyReduction_596
+happyReduction_596 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
+	case happyOut212 happy_x_2 of { happy_var_2 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn211
+		 ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)
+	)}}}
+
+happyReduce_597 = happySpecReduce_3  198# happyReduction_597
+happyReduction_597 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut212 happy_x_1 of { happy_var_1 -> 
+	case happyOut27 happy_x_2 of { happy_var_2 -> 
+	case happyOut213 happy_x_3 of { happy_var_3 -> 
+	happyIn212
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)
+	)}}}
+
+happyReduce_598 = happySpecReduce_1  198# happyReduction_598
+happyReduction_598 happy_x_1
+	 =  case happyOut213 happy_x_1 of { happy_var_1 -> 
+	happyIn212
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_599 = happySpecReduce_3  199# happyReduction_599
+happyReduction_599 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut217 happy_x_1 of { happy_var_1 -> 
+	case happyOut214 happy_x_2 of { happy_var_2 -> 
+	case happyOut165 happy_x_3 of { happy_var_3 -> 
+	happyIn213
+		 (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_600 = happySpecReduce_2  200# happyReduction_600
+happyReduction_600 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 RightArrow) -> 
+	case happyOut170 happy_x_2 of { happy_var_2 -> 
+	happyIn214
+		 (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)}}
+
+happyReduce_601 = happySpecReduce_1  200# happyReduction_601
+happyReduction_601 happy_x_1
+	 =  case happyOut215 happy_x_1 of { happy_var_1 -> 
+	happyIn214
+		 (GuardedRhss  (snd happy_var_1) (reverse $ fst happy_var_1)
+	)}
+
+happyReduce_602 = happySpecReduce_2  201# happyReduction_602
+happyReduction_602 happy_x_2
+	happy_x_1
+	 =  case happyOut215 happy_x_1 of { happy_var_1 -> 
+	case happyOut216 happy_x_2 of { happy_var_2 -> 
+	happyIn215
+		 ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)
+	)}}
+
+happyReduce_603 = happySpecReduce_1  201# happyReduction_603
+happyReduction_603 happy_x_1
+	 =  case happyOut216 happy_x_1 of { happy_var_1 -> 
+	happyIn215
+		 (([happy_var_1], ann happy_var_1)
+	)}
+
+happyReduce_604 = happyMonadReduce 4# 202# happyReduction_604
+happyReduction_604 (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 happyOut207 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightArrow) -> 
+	case happyOut170 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 (happyIn216 r))
+
+happyReduce_605 = happyMonadReduce 1# 203# happyReduction_605
+happyReduction_605 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut171 happy_x_1 of { happy_var_1 -> 
+	( checkPattern happy_var_1)}
+	) (\r -> happyReturn (happyIn217 r))
+
+happyReduce_606 = happyMonadReduce 2# 203# happyReduction_606
+happyReduction_606 (happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> 
+	case happyOut183 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 (happyIn217 r))
+
+happyReduce_607 = happySpecReduce_3  204# happyReduction_607
+happyReduction_607 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> 
+	case happyOut219 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
+	happyIn218
+		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
+	)}}}
+
+happyReduce_608 = happySpecReduce_3  204# happyReduction_608
+happyReduction_608 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut261 happy_x_1 of { happy_var_1 -> 
+	case happyOut219 happy_x_2 of { happy_var_2 -> 
+	case happyOut262 happy_x_3 of { happy_var_3 -> 
+	happyIn218
+		 (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_609 = happySpecReduce_3  205# happyReduction_609
+happyReduction_609 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
+	case happyOut220 happy_x_2 of { happy_var_2 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn219
+		 ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)
+	)}}}
+
+happyReduce_610 = happySpecReduce_3  206# happyReduction_610
+happyReduction_610 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut220 happy_x_1 of { happy_var_1 -> 
+	case happyOut28 happy_x_2 of { happy_var_2 -> 
+	case happyOut216 happy_x_3 of { happy_var_3 -> 
+	happyIn220
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)
+	)}}}
+
+happyReduce_611 = happySpecReduce_1  206# happyReduction_611
+happyReduction_611 happy_x_1
+	 =  case happyOut216 happy_x_1 of { happy_var_1 -> 
+	happyIn220
+		 (([happy_var_1], [])
+	)}
+
+happyReduce_612 = happySpecReduce_3  207# happyReduction_612
+happyReduction_612 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftCurly) -> 
+	case happyOut222 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightCurly) -> 
+	happyIn221
+		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
+	)}}}
+
+happyReduce_613 = happySpecReduce_3  207# happyReduction_613
+happyReduction_613 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut261 happy_x_1 of { happy_var_1 -> 
+	case happyOut222 happy_x_2 of { happy_var_2 -> 
+	case happyOut262 happy_x_3 of { happy_var_3 -> 
+	happyIn221
+		 (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_614 = happySpecReduce_2  208# happyReduction_614
+happyReduction_614 happy_x_2
+	happy_x_1
+	 =  case happyOut224 happy_x_1 of { happy_var_1 -> 
+	case happyOut223 happy_x_2 of { happy_var_2 -> 
+	happyIn222
+		 ((happy_var_1 : fst happy_var_2, snd happy_var_2)
+	)}}
+
+happyReduce_615 = happySpecReduce_2  208# happyReduction_615
+happyReduction_615 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> 
+	case happyOut222 happy_x_2 of { happy_var_2 -> 
+	happyIn222
+		 ((fst happy_var_2, happy_var_1 : snd happy_var_2)
+	)}}
+
+happyReduce_616 = happySpecReduce_0  208# happyReduction_616
+happyReduction_616  =  happyIn222
+		 (([],[])
+	)
+
+happyReduce_617 = happySpecReduce_2  209# happyReduction_617
+happyReduction_617 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 SemiColon) -> 
+	case happyOut222 happy_x_2 of { happy_var_2 -> 
+	happyIn223
+		 ((fst happy_var_2, happy_var_1 : snd happy_var_2)
+	)}}
+
+happyReduce_618 = happySpecReduce_0  209# happyReduction_618
+happyReduction_618  =  happyIn223
+		 (([],[])
+	)
+
+happyReduce_619 = happySpecReduce_2  210# happyReduction_619
+happyReduction_619 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 -> 
+	happyIn224
+		 (LetStmt (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)}}
+
+happyReduce_620 = happySpecReduce_3  210# happyReduction_620
+happyReduction_620 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut217 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftArrow) -> 
+	case happyOut170 happy_x_3 of { happy_var_3 -> 
+	happyIn224
+		 (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_621 = happySpecReduce_1  210# happyReduction_621
+happyReduction_621 happy_x_1
+	 =  case happyOut170 happy_x_1 of { happy_var_1 -> 
+	happyIn224
+		 (Qualifier (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_622 = happySpecReduce_2  210# happyReduction_622
+happyReduction_622 happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Rec) -> 
+	case happyOut221 happy_x_2 of { happy_var_2 -> 
+	happyIn224
+		 (let (stms,inf,ss) = happy_var_2 in RecStmt (nIS happy_var_1 <++> inf <** happy_var_1:ss) stms
+	)}}
+
+happyReduce_623 = happySpecReduce_3  211# happyReduction_623
+happyReduction_623 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut226 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	case happyOut225 happy_x_3 of { happy_var_3 -> 
+	happyIn225
+		 (let (fbs, ss) = happy_var_3 in (happy_var_1 : fbs, happy_var_2 : ss)
+	)}}}
+
+happyReduce_624 = happySpecReduce_1  211# happyReduction_624
+happyReduction_624 happy_x_1
+	 =  case happyOut226 happy_x_1 of { happy_var_1 -> 
+	happyIn225
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_625 = happyMonadReduce 1# 211# happyReduction_625
+happyReduction_625 (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 (happyIn225 r))
+
+happyReduce_626 = happySpecReduce_3  212# happyReduction_626
+happyReduction_626 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 Equals) -> 
+	case happyOut171 happy_x_3 of { happy_var_3 -> 
+	happyIn226
+		 (FieldUpdate (happy_var_1 <>happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_627 = happyMonadReduce 1# 212# happyReduction_627
+happyReduction_627 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut233 happy_x_1 of { happy_var_1 -> 
+	( checkEnabled NamedFieldPuns >> checkQualOrUnQual happy_var_1 >>= return . FieldPun (ann happy_var_1))}
+	) (\r -> happyReturn (happyIn226 r))
+
+happyReduce_628 = happySpecReduce_3  213# happyReduction_628
+happyReduction_628 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut28 happy_x_1 of { happy_var_1 -> 
+	case happyOut228 happy_x_2 of { happy_var_2 -> 
+	case happyOut28 happy_x_3 of { happy_var_3 -> 
+	happyIn227
+		 ((reverse (fst happy_var_2), reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)
+	)}}}
+
+happyReduce_629 = happySpecReduce_3  214# happyReduction_629
+happyReduction_629 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut228 happy_x_1 of { happy_var_1 -> 
+	case happyOut27 happy_x_2 of { happy_var_2 -> 
+	case happyOut229 happy_x_3 of { happy_var_3 -> 
+	happyIn228
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
+	)}}}
+
+happyReduce_630 = happySpecReduce_1  214# happyReduction_630
+happyReduction_630 happy_x_1
+	 =  case happyOut229 happy_x_1 of { happy_var_1 -> 
+	happyIn228
+		 (([happy_var_1],[])
+	)}
+
+happyReduce_631 = happySpecReduce_3  215# happyReduction_631
+happyReduction_631 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut234 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Equals) -> 
+	case happyOut170 happy_x_3 of { happy_var_3 -> 
+	happyIn229
+		 (IPBind (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)}}}
+
+happyReduce_632 = happySpecReduce_2  216# happyReduction_632
+happyReduction_632 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) -> 
+	happyIn230
+		 (p_unit_con              (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])
+	)}}
+
+happyReduce_633 = happySpecReduce_2  216# happyReduction_633
+happyReduction_633 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) -> 
+	happyIn230
+		 (List                    (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2]) []
+	)}}
+
+happyReduce_634 = happySpecReduce_3  216# happyReduction_634
+happyReduction_634 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
+	case happyOut186 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
+	happyIn230
+		 (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_635 = happySpecReduce_2  216# happyReduction_635
+happyReduction_635 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) -> 
+	happyIn230
+		 (p_unboxed_singleton_con (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])
+	)}}
+
+happyReduce_636 = happySpecReduce_3  216# happyReduction_636
+happyReduction_636 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftHashParen) -> 
+	case happyOut186 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightHashParen) -> 
+	happyIn230
+		 (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_637 = happySpecReduce_1  216# happyReduction_637
+happyReduction_637 happy_x_1
+	 =  case happyOut236 happy_x_1 of { happy_var_1 -> 
+	happyIn230
+		 (Con (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_638 = happySpecReduce_1  217# happyReduction_638
+happyReduction_638 happy_x_1
+	 =  case happyOut249 happy_x_1 of { happy_var_1 -> 
+	happyIn231
+		 (happy_var_1
+	)}
+
+happyReduce_639 = happySpecReduce_3  217# happyReduction_639
+happyReduction_639 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
+	case happyOut257 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
+	happyIn231
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+	)}}}
+
+happyReduce_640 = happySpecReduce_1  218# happyReduction_640
+happyReduction_640 happy_x_1
+	 =  case happyOut248 happy_x_1 of { happy_var_1 -> 
+	happyIn232
+		 (happy_var_1
+	)}
+
+happyReduce_641 = happySpecReduce_3  218# happyReduction_641
+happyReduction_641 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
+	case happyOut257 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
+	happyIn232
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+	)}}}
+
+happyReduce_642 = happySpecReduce_1  219# happyReduction_642
+happyReduction_642 happy_x_1
+	 =  case happyOut247 happy_x_1 of { happy_var_1 -> 
+	happyIn233
+		 (happy_var_1
+	)}
+
+happyReduce_643 = happySpecReduce_3  219# happyReduction_643
+happyReduction_643 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
+	case happyOut255 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
+	happyIn233
+		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)}}}
+
+happyReduce_644 = happySpecReduce_1  220# happyReduction_644
+happyReduction_644 happy_x_1
+	 =  case happyOut250 happy_x_1 of { happy_var_1 -> 
+	happyIn234
+		 (happy_var_1
+	)}
+
+happyReduce_645 = happySpecReduce_1  221# happyReduction_645
+happyReduction_645 happy_x_1
+	 =  case happyOut252 happy_x_1 of { happy_var_1 -> 
+	happyIn235
+		 (happy_var_1
+	)}
+
+happyReduce_646 = happySpecReduce_3  221# happyReduction_646
+happyReduction_646 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
+	case happyOut254 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
+	happyIn235
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+	)}}}
+
+happyReduce_647 = happySpecReduce_1  222# happyReduction_647
+happyReduction_647 happy_x_1
+	 =  case happyOut251 happy_x_1 of { happy_var_1 -> 
+	happyIn236
+		 (happy_var_1
+	)}
+
+happyReduce_648 = happySpecReduce_3  222# happyReduction_648
+happyReduction_648 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 LeftParen) -> 
+	case happyOut245 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 RightParen) -> 
+	happyIn236
+		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)}}}
+
+happyReduce_649 = happySpecReduce_1  223# happyReduction_649
+happyReduction_649 happy_x_1
+	 =  case happyOut257 happy_x_1 of { happy_var_1 -> 
+	happyIn237
+		 (happy_var_1
+	)}
+
+happyReduce_650 = happySpecReduce_3  223# happyReduction_650
+happyReduction_650 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> 
+	case happyOut249 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
+	happyIn237
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+	)}}}
+
+happyReduce_651 = happySpecReduce_1  224# happyReduction_651
+happyReduction_651 happy_x_1
+	 =  case happyOut255 happy_x_1 of { happy_var_1 -> 
+	happyIn238
+		 (happy_var_1
+	)}
+
+happyReduce_652 = happySpecReduce_3  224# happyReduction_652
+happyReduction_652 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> 
+	case happyOut247 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
+	happyIn238
+		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)}}}
+
+happyReduce_653 = happySpecReduce_1  225# happyReduction_653
+happyReduction_653 happy_x_1
+	 =  case happyOut256 happy_x_1 of { happy_var_1 -> 
+	happyIn239
+		 (happy_var_1
+	)}
+
+happyReduce_654 = happySpecReduce_3  225# happyReduction_654
+happyReduction_654 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> 
+	case happyOut247 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
+	happyIn239
+		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)}}}
+
+happyReduce_655 = happySpecReduce_1  226# happyReduction_655
+happyReduction_655 happy_x_1
+	 =  case happyOut254 happy_x_1 of { happy_var_1 -> 
+	happyIn240
+		 (happy_var_1
+	)}
+
+happyReduce_656 = happySpecReduce_3  226# happyReduction_656
+happyReduction_656 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> 
+	case happyOut252 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
+	happyIn240
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+	)}}}
+
+happyReduce_657 = happySpecReduce_1  227# happyReduction_657
+happyReduction_657 happy_x_1
+	 =  case happyOut245 happy_x_1 of { happy_var_1 -> 
+	happyIn241
+		 (happy_var_1
+	)}
+
+happyReduce_658 = happySpecReduce_3  227# happyReduction_658
+happyReduction_658 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> 
+	case happyOut251 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
+	happyIn241
+		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)}}}
+
+happyReduce_659 = happySpecReduce_1  228# happyReduction_659
+happyReduction_659 happy_x_1
+	 =  case happyOut237 happy_x_1 of { happy_var_1 -> 
+	happyIn242
+		 (VarOp (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_660 = happySpecReduce_1  228# happyReduction_660
+happyReduction_660 happy_x_1
+	 =  case happyOut240 happy_x_1 of { happy_var_1 -> 
+	happyIn242
+		 (ConOp (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_661 = happySpecReduce_1  229# happyReduction_661
+happyReduction_661 happy_x_1
+	 =  case happyOut238 happy_x_1 of { happy_var_1 -> 
+	happyIn243
+		 (QVarOp (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_662 = happySpecReduce_1  229# happyReduction_662
+happyReduction_662 happy_x_1
+	 =  case happyOut241 happy_x_1 of { happy_var_1 -> 
+	happyIn243
+		 (QConOp (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_663 = happySpecReduce_1  230# happyReduction_663
+happyReduction_663 happy_x_1
+	 =  case happyOut239 happy_x_1 of { happy_var_1 -> 
+	happyIn244
+		 (QVarOp (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_664 = happySpecReduce_1  230# happyReduction_664
+happyReduction_664 happy_x_1
+	 =  case happyOut241 happy_x_1 of { happy_var_1 -> 
+	happyIn244
+		 (QConOp (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_665 = happySpecReduce_1  231# happyReduction_665
+happyReduction_665 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Colon) -> 
+	happyIn245
+		 (list_cons_name (nIS happy_var_1)
+	)}
+
+happyReduce_666 = happySpecReduce_1  231# happyReduction_666
+happyReduction_666 happy_x_1
+	 =  case happyOut253 happy_x_1 of { happy_var_1 -> 
+	happyIn245
+		 (happy_var_1
+	)}
+
+happyReduce_667 = happySpecReduce_1  232# happyReduction_667
+happyReduction_667 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn246
+		 (let Loc l (LabelVarId v) = happy_var_1 in OverloadedLabel
+                                                                     (nIS l) v
+	)}
+
+happyReduce_668 = happySpecReduce_1  233# happyReduction_668
+happyReduction_668 happy_x_1
+	 =  case happyOut249 happy_x_1 of { happy_var_1 -> 
+	happyIn247
+		 (UnQual (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_669 = happySpecReduce_1  233# happyReduction_669
+happyReduction_669 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn247
+		 (let {Loc l (QVarId q) = happy_var_1; nis = nIS l}
+                                 in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))
+	)}
+
+happyReduce_670 = happySpecReduce_1  234# happyReduction_670
+happyReduction_670 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn248
+		 (let Loc l (VarId v) = happy_var_1 in Ident (nIS l) v
+	)}
+
+happyReduce_671 = happySpecReduce_1  234# happyReduction_671
+happyReduction_671 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_As) -> 
+	happyIn248
+		 (as_name         (nIS happy_var_1)
+	)}
+
+happyReduce_672 = happySpecReduce_1  234# happyReduction_672
+happyReduction_672 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Qualified) -> 
+	happyIn248
+		 (qualified_name  (nIS happy_var_1)
+	)}
+
+happyReduce_673 = happySpecReduce_1  234# happyReduction_673
+happyReduction_673 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Hiding) -> 
+	happyIn248
+		 (hiding_name     (nIS happy_var_1)
+	)}
+
+happyReduce_674 = happySpecReduce_1  234# happyReduction_674
+happyReduction_674 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Export) -> 
+	happyIn248
+		 (export_name     (nIS happy_var_1)
+	)}
+
+happyReduce_675 = happySpecReduce_1  234# happyReduction_675
+happyReduction_675 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_StdCall) -> 
+	happyIn248
+		 (stdcall_name    (nIS happy_var_1)
+	)}
+
+happyReduce_676 = happySpecReduce_1  234# happyReduction_676
+happyReduction_676 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CCall) -> 
+	happyIn248
+		 (ccall_name      (nIS happy_var_1)
+	)}
+
+happyReduce_677 = happySpecReduce_1  234# happyReduction_677
+happyReduction_677 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CPlusPlus) -> 
+	happyIn248
+		 (cplusplus_name  (nIS happy_var_1)
+	)}
+
+happyReduce_678 = happySpecReduce_1  234# happyReduction_678
+happyReduction_678 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_DotNet) -> 
+	happyIn248
+		 (dotnet_name     (nIS happy_var_1)
+	)}
+
+happyReduce_679 = happySpecReduce_1  234# happyReduction_679
+happyReduction_679 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Jvm) -> 
+	happyIn248
+		 (jvm_name        (nIS happy_var_1)
+	)}
+
+happyReduce_680 = happySpecReduce_1  234# happyReduction_680
+happyReduction_680 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Js) -> 
+	happyIn248
+		 (js_name         (nIS happy_var_1)
+	)}
+
+happyReduce_681 = happySpecReduce_1  234# happyReduction_681
+happyReduction_681 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_JavaScript) -> 
+	happyIn248
+		 (javascript_name (nIS happy_var_1)
+	)}
+
+happyReduce_682 = happySpecReduce_1  234# happyReduction_682
+happyReduction_682 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_CApi) -> 
+	happyIn248
+		 (capi_name       (nIS happy_var_1)
+	)}
+
+happyReduce_683 = happySpecReduce_1  235# happyReduction_683
+happyReduction_683 happy_x_1
+	 =  case happyOut248 happy_x_1 of { happy_var_1 -> 
+	happyIn249
+		 (happy_var_1
+	)}
+
+happyReduce_684 = happySpecReduce_1  235# happyReduction_684
+happyReduction_684 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> 
+	happyIn249
+		 (safe_name       (nIS happy_var_1)
+	)}
+
+happyReduce_685 = happySpecReduce_1  235# happyReduction_685
+happyReduction_685 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> 
+	happyIn249
+		 (unsafe_name     (nIS happy_var_1)
+	)}
+
+happyReduce_686 = happySpecReduce_1  235# happyReduction_686
+happyReduction_686 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Interruptible) -> 
+	happyIn249
+		 (interruptible_name (nIS happy_var_1)
+	)}
+
+happyReduce_687 = happySpecReduce_1  235# happyReduction_687
+happyReduction_687 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> 
+	happyIn249
+		 (threadsafe_name (nIS happy_var_1)
+	)}
+
+happyReduce_688 = happySpecReduce_1  235# happyReduction_688
+happyReduction_688 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Forall) -> 
+	happyIn249
+		 (forall_name	  (nIS happy_var_1)
+	)}
+
+happyReduce_689 = happySpecReduce_1  235# happyReduction_689
+happyReduction_689 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Family) -> 
+	happyIn249
+		 (family_name     (nIS happy_var_1)
+	)}
+
+happyReduce_690 = happySpecReduce_1  235# happyReduction_690
+happyReduction_690 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Role) -> 
+	happyIn249
+		 (role_name  (nIS happy_var_1)
+	)}
+
+happyReduce_691 = happySpecReduce_1  236# happyReduction_691
+happyReduction_691 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn250
+		 (let Loc l (IDupVarId i) = happy_var_1 in IPDup (nIS l) i
+	)}
+
+happyReduce_692 = happySpecReduce_1  236# happyReduction_692
+happyReduction_692 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn250
+		 (let Loc l (ILinVarId i) = happy_var_1 in IPLin (nIS l) i
+	)}
+
+happyReduce_693 = happySpecReduce_1  237# happyReduction_693
+happyReduction_693 happy_x_1
+	 =  case happyOut252 happy_x_1 of { happy_var_1 -> 
+	happyIn251
+		 (UnQual (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_694 = happySpecReduce_1  237# happyReduction_694
+happyReduction_694 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn251
+		 (let {Loc l (QConId q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))
+	)}
+
+happyReduce_695 = happySpecReduce_1  238# happyReduction_695
+happyReduction_695 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn252
+		 (let Loc l (ConId c) = happy_var_1 in Ident (nIS l) c
+	)}
+
+happyReduce_696 = happySpecReduce_1  239# happyReduction_696
+happyReduction_696 happy_x_1
+	 =  case happyOut254 happy_x_1 of { happy_var_1 -> 
+	happyIn253
+		 (UnQual (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_697 = happySpecReduce_1  239# happyReduction_697
+happyReduction_697 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn253
+		 (let {Loc l (QConSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))
+	)}
+
+happyReduce_698 = happySpecReduce_1  240# happyReduction_698
+happyReduction_698 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn254
+		 (let Loc l (ConSym c) = happy_var_1 in Symbol (nIS l) c
+	)}
+
+happyReduce_699 = happySpecReduce_1  241# happyReduction_699
+happyReduction_699 happy_x_1
+	 =  case happyOut257 happy_x_1 of { happy_var_1 -> 
+	happyIn255
+		 (UnQual (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_700 = happySpecReduce_1  241# happyReduction_700
+happyReduction_700 happy_x_1
+	 =  case happyOut259 happy_x_1 of { happy_var_1 -> 
+	happyIn255
+		 (happy_var_1
+	)}
+
+happyReduce_701 = happySpecReduce_1  242# happyReduction_701
+happyReduction_701 happy_x_1
+	 =  case happyOut258 happy_x_1 of { happy_var_1 -> 
+	happyIn256
+		 (UnQual (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_702 = happySpecReduce_1  242# happyReduction_702
+happyReduction_702 happy_x_1
+	 =  case happyOut259 happy_x_1 of { happy_var_1 -> 
+	happyIn256
+		 (happy_var_1
+	)}
+
+happyReduce_703 = happySpecReduce_1  243# happyReduction_703
+happyReduction_703 happy_x_1
+	 =  case happyOut258 happy_x_1 of { happy_var_1 -> 
+	happyIn257
+		 (happy_var_1
+	)}
+
+happyReduce_704 = happySpecReduce_1  243# happyReduction_704
+happyReduction_704 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> 
+	happyIn257
+		 (minus_name (nIS happy_var_1)
+	)}
+
+happyReduce_705 = happySpecReduce_1  244# happyReduction_705
+happyReduction_705 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn258
+		 (let Loc l (VarSym v) = happy_var_1 in Symbol (nIS l) v
+	)}
+
+happyReduce_706 = happySpecReduce_1  244# happyReduction_706
+happyReduction_706 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Exclamation) -> 
+	happyIn258
+		 (bang_name (nIS happy_var_1)
+	)}
+
+happyReduce_707 = happySpecReduce_1  244# happyReduction_707
+happyReduction_707 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Dot) -> 
+	happyIn258
+		 (dot_name  (nIS happy_var_1)
+	)}
+
+happyReduce_708 = happySpecReduce_1  244# happyReduction_708
+happyReduction_708 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Star) -> 
+	happyIn258
+		 (star_name (nIS happy_var_1)
+	)}
+
+happyReduce_709 = happySpecReduce_1  245# happyReduction_709
+happyReduction_709 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn259
+		 (let {Loc l (QVarSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))
+	)}
+
+happyReduce_710 = happySpecReduce_1  246# happyReduction_710
+happyReduction_710 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn260
+		 (let Loc l (IntTok        (i,raw)) = happy_var_1 in Int        (nIS l) i raw
+	)}
+
+happyReduce_711 = happySpecReduce_1  246# happyReduction_711
+happyReduction_711 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn260
+		 (let Loc l (Character     (c,raw)) = happy_var_1 in Char       (nIS l) c raw
+	)}
+
+happyReduce_712 = happySpecReduce_1  246# happyReduction_712
+happyReduction_712 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn260
+		 (let Loc l (FloatTok      (r,raw)) = happy_var_1 in Frac       (nIS l) r raw
+	)}
+
+happyReduce_713 = happySpecReduce_1  246# happyReduction_713
+happyReduction_713 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn260
+		 (let Loc l (StringTok     (s,raw)) = happy_var_1 in String     (nIS l) s raw
+	)}
+
+happyReduce_714 = happySpecReduce_1  246# happyReduction_714
+happyReduction_714 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn260
+		 (let Loc l (IntTokHash    (i,raw)) = happy_var_1 in PrimInt    (nIS l) i raw
+	)}
+
+happyReduce_715 = happySpecReduce_1  246# happyReduction_715
+happyReduction_715 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn260
+		 (let Loc l (WordTokHash   (w,raw)) = happy_var_1 in PrimWord   (nIS l) w raw
+	)}
+
+happyReduce_716 = happySpecReduce_1  246# happyReduction_716
+happyReduction_716 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn260
+		 (let Loc l (FloatTokHash  (f,raw)) = happy_var_1 in PrimFloat  (nIS l) f raw
+	)}
+
+happyReduce_717 = happySpecReduce_1  246# happyReduction_717
+happyReduction_717 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn260
+		 (let Loc l (DoubleTokHash (d,raw)) = happy_var_1 in PrimDouble (nIS l) d raw
+	)}
+
+happyReduce_718 = happySpecReduce_1  246# happyReduction_718
+happyReduction_718 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn260
+		 (let Loc l (CharacterHash (c,raw)) = happy_var_1 in PrimChar   (nIS l) c raw
+	)}
+
+happyReduce_719 = happySpecReduce_1  246# happyReduction_719
+happyReduction_719 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn260
+		 (let Loc l (StringHash    (s,raw)) = happy_var_1 in PrimString (nIS l) s raw
+	)}
+
+happyReduce_720 = happyMonadReduce 0# 247# happyReduction_720
+happyReduction_720 (happyRest) tk
+	 = happyThen (( pushCurrentContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x) (return x) -})
+	) (\r -> happyReturn (happyIn261 r))
+
+happyReduce_721 = happySpecReduce_1  248# happyReduction_721
+happyReduction_721 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 VRightCurly) -> 
+	happyIn262
+		 (happy_var_1 {- >>= \x -> trace (show x ++ show x ++ show x) (return x) -}
+	)}
+
+happyReduce_722 = happyMonadReduce 1# 248# happyReduction_722
+happyReduction_722 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (( popContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x ++ show x) (return x) -})
+	) (\r -> happyReturn (happyIn262 r))
+
+happyReduce_723 = happyMonadReduce 1# 249# happyReduction_723
+happyReduction_723 (happy_x_1 `HappyStk`
+	happyRest) tk
+	 = happyThen (case happyOut264 happy_x_1 of { happy_var_1 -> 
+	( checkEnabled PatternSynonyms >> return happy_var_1)}
+	) (\r -> happyReturn (happyIn263 r))
+
+happyReduce_724 = happyReduce 4# 250# happyReduction_724
+happyReduction_724 (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 happyOut265 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 Equals) -> 
+	case happyOut217 happy_x_4 of { happy_var_4 -> 
+	happyIn264
+		 (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_725 = happyReduce 4# 250# happyReduction_725
+happyReduction_725 (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 happyOut265 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftArrow) -> 
+	case happyOut217 happy_x_4 of { happy_var_4 -> 
+	happyIn264
+		 (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_726 = happyReduce 5# 250# happyReduction_726
+happyReduction_726 (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 happyOut265 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 LeftArrow) -> 
+	case happyOut217 happy_x_4 of { happy_var_4 -> 
+	case happyOut268 happy_x_5 of { happy_var_5 -> 
+	happyIn264
+		 (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_727 = happySpecReduce_2  251# happyReduction_727
+happyReduction_727 happy_x_2
+	happy_x_1
+	 =  case happyOut235 happy_x_1 of { happy_var_1 -> 
+	case happyOut266 happy_x_2 of { happy_var_2 -> 
+	happyIn265
+		 (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_728 = happySpecReduce_3  251# happyReduction_728
+happyReduction_728 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut249 happy_x_1 of { happy_var_1 -> 
+	case happyOut253 happy_x_2 of { happy_var_2 -> 
+	case happyOut249 happy_x_3 of { happy_var_3 -> 
+	happyIn265
+		 (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_729 = happyReduce 4# 251# happyReduction_729
+happyReduction_729 (happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut235 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 LeftCurly) -> 
+	case happyOut267 happy_x_3 of { happy_var_3 -> 
+	case happyOutTok happy_x_4 of { (Loc happy_var_4 RightCurly) -> 
+	happyIn265
+		 (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_730 = happySpecReduce_0  252# happyReduction_730
+happyReduction_730  =  happyIn266
+		 ([]
+	)
+
+happyReduce_731 = happySpecReduce_2  252# happyReduction_731
+happyReduction_731 happy_x_2
+	happy_x_1
+	 =  case happyOut249 happy_x_1 of { happy_var_1 -> 
+	case happyOut266 happy_x_2 of { happy_var_2 -> 
+	happyIn266
+		 (PVar (ann happy_var_1) happy_var_1 : happy_var_2
+	)}}
+
+happyReduce_732 = happySpecReduce_1  253# happyReduction_732
+happyReduction_732 happy_x_1
+	 =  case happyOut249 happy_x_1 of { happy_var_1 -> 
+	happyIn267
+		 (([], [happy_var_1] )
+	)}
+
+happyReduce_733 = happySpecReduce_3  253# happyReduction_733
+happyReduction_733 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut249 happy_x_1 of { happy_var_1 -> 
+	case happyOutTok happy_x_2 of { (Loc happy_var_2 Comma) -> 
+	case happyOut267 happy_x_3 of { happy_var_3 -> 
+	happyIn267
+		 (let (ss, ns) = happy_var_3 in (happy_var_2 : ss, happy_var_1 : ns)
+	)}}}
+
+happyReduce_734 = happyMonadReduce 4# 254# happyReduction_734
+happyReduction_734 (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 (happyIn268 r))
+
+happyReduce_735 = happyMonadReduce 4# 254# happyReduction_735
+happyReduction_735 (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 happyOut261 happy_x_2 of { happy_var_2 -> 
+	case happyOut75 happy_x_3 of { happy_var_3 -> 
+	case happyOut262 happy_x_4 of { happy_var_4 -> 
+	(  checkExplicitPatSyn happy_var_1 happy_var_2 happy_var_3 happy_var_4)}}}}
+	) (\r -> happyReturn (happyIn268 r))
+
+happyReduce_736 = happyMonadReduce 4# 255# happyReduction_736
+happyReduction_736 (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 happyOut235 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 DoubleColon) -> 
+	case happyOut270 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, happy_var_3] ++ ps)  happy_var_2 qtvs prov req ty} ;
+                    return sig })}}}}
+	) (\r -> happyReturn (happyIn269 r))
+
+happyReduce_737 = happyReduce 4# 256# happyReduction_737
+happyReduction_737 (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 happyOut124 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 Dot) -> 
+	case happyOut270 happy_x_4 of { happy_var_4 -> 
+	happyIn270
+		 (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_738 = happyMonadReduce 3# 256# happyReduction_738
+happyReduction_738 (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 (happyIn270 r))
+
+happyReduce_739 = happyMonadReduce 2# 256# happyReduction_739
+happyReduction_739 (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 (happyIn270 r))
+
+happyReduce_740 = happyMonadReduce 1# 256# happyReduction_740
+happyReduction_740 (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 (happyIn270 r))
+
+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 (ConId  n) = happy_var_1 in ModuleName (nIS l) n
+	)}
+
+happyReduce_742 = happySpecReduce_1  257# happyReduction_742
+happyReduction_742 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn271
+		 (let Loc l (QConId n) = happy_var_1 in ModuleName (nIS l) (fst n ++ '.':snd n)
+	)}
+
+happyReduce_743 = happySpecReduce_1  258# happyReduction_743
+happyReduction_743 happy_x_1
+	 =  case happyOut235 happy_x_1 of { happy_var_1 -> 
+	happyIn272
+		 (happy_var_1
+	)}
+
+happyReduce_744 = happySpecReduce_1  259# happyReduction_744
+happyReduction_744 happy_x_1
+	 =  case happyOut236 happy_x_1 of { happy_var_1 -> 
+	happyIn273
+		 (happy_var_1
+	)}
+
+happyReduce_745 = happySpecReduce_1  260# happyReduction_745
+happyReduction_745 happy_x_1
+	 =  case happyOut275 happy_x_1 of { happy_var_1 -> 
+	happyIn274
+		 (happy_var_1
+	)}
+
+happyReduce_746 = happySpecReduce_1  261# happyReduction_746
+happyReduction_746 happy_x_1
+	 =  case happyOut248 happy_x_1 of { happy_var_1 -> 
+	happyIn275
+		 (happy_var_1
+	)}
+
+happyReduce_747 = happySpecReduce_1  261# happyReduction_747
+happyReduction_747 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Safe) -> 
+	happyIn275
+		 (safe_name       (nIS happy_var_1)
+	)}
+
+happyReduce_748 = happySpecReduce_1  261# happyReduction_748
+happyReduction_748 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Unsafe) -> 
+	happyIn275
+		 (unsafe_name     (nIS happy_var_1)
+	)}
+
+happyReduce_749 = happySpecReduce_1  261# happyReduction_749
+happyReduction_749 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 KW_Threadsafe) -> 
+	happyIn275
+		 (threadsafe_name (nIS happy_var_1)
+	)}
+
+happyReduce_750 = happySpecReduce_3  262# happyReduction_750
+happyReduction_750 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 BackQuote) -> 
+	case happyOut274 happy_x_2 of { happy_var_2 -> 
+	case happyOutTok happy_x_3 of { (Loc happy_var_3 BackQuote) -> 
+	happyIn276
+		 (UnQual (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)}}}
+
+happyReduce_751 = happySpecReduce_1  262# happyReduction_751
+happyReduction_751 happy_x_1
+	 =  case happyOut277 happy_x_1 of { happy_var_1 -> 
+	happyIn276
+		 (UnQual (ann happy_var_1) happy_var_1
+	)}
+
+happyReduce_752 = happySpecReduce_1  263# happyReduction_752
+happyReduction_752 happy_x_1
+	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
+	happyIn277
+		 (let Loc l (VarSym x) = happy_var_1 in Symbol (nIS l) x
+	)}
+
+happyReduce_753 = happySpecReduce_1  263# happyReduction_753
+happyReduction_753 happy_x_1
+	 =  case happyOutTok happy_x_1 of { (Loc happy_var_1 Minus) -> 
+	happyIn277
+		 (Symbol (nIS happy_var_1) "-"
+	)}
+
+happyReduce_754 = happyReduce 5# 264# happyReduction_754
+happyReduction_754 (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) -> 
+	happyIn278
+		 (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_755 = happyReduce 5# 264# happyReduction_755
+happyReduction_755 (happy_x_5 `HappyStk`
+	happy_x_4 `HappyStk`
+	happy_x_3 `HappyStk`
+	happy_x_2 `HappyStk`
+	happy_x_1 `HappyStk`
+	happyRest)
+	 = case happyOut261 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 happyOut262 happy_x_5 of { happy_var_5 -> 
+	happyIn278
+		 (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_756 = happySpecReduce_3  265# happyReduction_756
+happyReduction_756 happy_x_3
+	happy_x_2
+	happy_x_1
+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
+	case happyOut271 happy_x_3 of { happy_var_3 -> 
+	happyIn279
+		 ((happy_var_1, Just happy_var_3)
+	)}}
+
+happyReduce_757 = happySpecReduce_1  265# happyReduction_757
+happyReduction_757 happy_x_1
+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
+	happyIn279
+		 ((happy_var_1, Nothing)
+	)}
+
+happyReduce_758 = happySpecReduce_2  266# happyReduction_758
+happyReduction_758 happy_x_2
+	happy_x_1
+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
+	case happyOut23 happy_x_2 of { happy_var_2 -> 
+	happyIn280
+		 ((happy_var_1, happy_var_2)
+	)}}
+
+happyReduce_759 = happySpecReduce_3  267# happyReduction_759
+happyReduction_759 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 happyOut278 happy_x_3 of { happy_var_3 -> 
+	happyIn281
+		 ((happy_var_1, happy_var_2, Just happy_var_3)
+	)}}}
+
+happyReduce_760 = happySpecReduce_2  267# happyReduction_760
+happyReduction_760 happy_x_2
+	happy_x_1
+	 =  case happyOut18 happy_x_1 of { happy_var_1 -> 
+	case happyOut23 happy_x_2 of { happy_var_2 -> 
+	happyIn281
+		 ((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 150# 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 _ (INLINE _) -> cont 129#;
+	Loc happy_dollar_dollar INLINE_CONLIKE -> cont 130#;
+	Loc happy_dollar_dollar SPECIALISE -> cont 131#;
+	Loc _ (SPECIALISE_INLINE _) -> cont 132#;
+	Loc happy_dollar_dollar SOURCE -> cont 133#;
+	Loc happy_dollar_dollar RULES -> cont 134#;
+	Loc happy_dollar_dollar CORE -> cont 135#;
+	Loc happy_dollar_dollar SCC -> cont 136#;
+	Loc happy_dollar_dollar GENERATED -> cont 137#;
+	Loc happy_dollar_dollar DEPRECATED -> cont 138#;
+	Loc happy_dollar_dollar WARNING -> cont 139#;
+	Loc happy_dollar_dollar UNPACK -> cont 140#;
+	Loc happy_dollar_dollar NOUNPACK -> cont 141#;
+	Loc _ (OPTIONS _) -> cont 142#;
+	Loc happy_dollar_dollar LANGUAGE -> cont 143#;
+	Loc happy_dollar_dollar ANN -> cont 144#;
+	Loc happy_dollar_dollar MINIMAL -> cont 145#;
+	Loc happy_dollar_dollar NO_OVERLAP -> cont 146#;
+	Loc happy_dollar_dollar OVERLAP -> cont 147#;
+	Loc happy_dollar_dollar INCOHERENT -> cont 148#;
+	Loc happy_dollar_dollar PragmaEnd -> cont 149#;
+	_ -> happyError' tk
+	})
+
+happyError_ 150# tk = happyError' tk
+happyError_ _ tk = happyError' tk
+
+happyThen :: () => P a -> (a -> P b) -> P b
+happyThen = (>>=)
+happyReturn :: () => a -> P a
+happyReturn = (return)
+happyThen1 = happyThen
+happyReturn1 :: () => a -> P a
+happyReturn1 = happyReturn
+happyError' :: () => (Loc Token) -> P a
+happyError' tk = parseError tk
+
+mparseModule = happySomeParser where
+  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut16 x))
+
+mparseExp = happySomeParser where
+  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut170 x))
+
+mparsePat = happySomeParser where
+  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut217 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 (happyOut224 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 (happyOut281 x))
+
+ngparsePragmasAndModuleHead = happySomeParser where
+  happySomeParser = happyThen (happyParse 9#) (\x -> happyReturn (happyOut280 x))
+
+ngparsePragmasAndModuleName = happySomeParser where
+  happySomeParser = happyThen (happyParse 10#) (\x -> happyReturn (happyOut279 x))
 
 happySeq = happyDontSeq
 
diff --git a/haskell-src-exts.cabal b/haskell-src-exts.cabal
--- a/haskell-src-exts.cabal
+++ b/haskell-src-exts.cabal
@@ -1,5 +1,5 @@
 Name:                   haskell-src-exts
-Version:                1.17.1
+Version:                1.18.0
 License:                BSD3
 License-File:           LICENSE
 Build-Type:             Simple
@@ -8,32 +8,25 @@
 Category:               Language
 Synopsis:               Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer
 Description:            Haskell-Source with Extensions (HSE, haskell-src-exts)
-                        is an extension of the standard haskell-src package,
-                        and handles most registered syntactic extensions to Haskell, including:
-                        .
-                        * Multi-parameter type classes with functional dependencies
-                        .
-                        * Indexed type families (including associated types)
-                        .
-                        * Empty data declarations
-                        .
-                        * GADTs
-                        .
-                        * Implicit parameters
-                        .
-                        * Template Haskell
+                        is a standalone parser for Haskell. In addition to
+                        standard Haskell, all extensions implemented in GHC are supported.
                         .
-                        and a few more. All extensions implemented in GHC are supported.
                         Apart from these standard extensions,
                         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
 Stability:              Stable
 Cabal-Version:          >= 1.10
+Tested-With:              GHC == 7.4.2
+                        , GHC == 7.6.3
+                        , GHC == 7.8.2
+                        , GHC == 7.10.3
+                        , GHC == 8.0.1
 
 Extra-Source-Files:
                         README.md
                         CHANGELOG
+                        RELEASENOTES-1.17.0
                         tests/examples/*.hs
                         tests/examples/*.lhs
                         tests/examples/*.hs.parser.golden
@@ -57,23 +50,16 @@
 
   Exposed-modules:      Language.Haskell.Exts,
                         Language.Haskell.Exts.Lexer,
-                        Language.Haskell.Exts.Parser,
                         Language.Haskell.Exts.Pretty,
-                        Language.Haskell.Exts.Syntax,
                         Language.Haskell.Exts.Extension,
                         Language.Haskell.Exts.Build,
-                        Language.Haskell.Exts.Fixity,
-                        Language.Haskell.Exts.Comments,
                         Language.Haskell.Exts.SrcLoc,
 
-                        Language.Haskell.Exts.Annotated,
-                        Language.Haskell.Exts.Annotated.Syntax,
-                        Language.Haskell.Exts.Annotated.Fixity,
-                        Language.Haskell.Exts.Annotated.Build,
-                        Language.Haskell.Exts.Annotated.ExactPrint,
-                        Language.Haskell.Exts.Annotated.Simplify,
-                        Language.Haskell.Exts.Annotated.Parser,
-                        Language.Haskell.Exts.Annotated.Comments
+                        Language.Haskell.Exts.Syntax,
+                        Language.Haskell.Exts.Fixity,
+                        Language.Haskell.Exts.ExactPrint,
+                        Language.Haskell.Exts.Parser,
+                        Language.Haskell.Exts.Comments
 
   Other-modules:        Language.Haskell.Exts.ExtScheme,
                         Language.Haskell.Exts.ParseMonad,
@@ -92,7 +78,7 @@
   type:                exitcode-stdio-1.0
   hs-source-dirs:      tests
   main-is:             Runner.hs
-  GHC-Options:         -threaded -Wall
+  GHC-Options:         -threaded -Wall -O0
   Default-language:    Haskell2010
   Build-depends:       base < 5,
                        mtl,
@@ -101,8 +87,7 @@
                        smallcheck >= 1.0,
                        tasty >= 0.3,
                        tasty-smallcheck,
-                       tasty-golden >= 2.2.2 && < 2.3 ,
+                       tasty-golden >= 2.2.2,
                        filepath,
                        directory,
-                       syb,
                        pretty-show
diff --git a/src/Language/Haskell/Exts.hs b/src/Language/Haskell/Exts.hs
--- a/src/Language/Haskell/Exts.hs
+++ b/src/Language/Haskell/Exts.hs
@@ -18,11 +18,13 @@
       module Language.Haskell.Exts.Syntax
     , module Language.Haskell.Exts.Build
     , module Language.Haskell.Exts.Lexer
-    , module Language.Haskell.Exts.Parser
     , module Language.Haskell.Exts.Pretty
-    , module Language.Haskell.Exts.Extension
     , module Language.Haskell.Exts.Fixity
+    , module Language.Haskell.Exts.ExactPrint
+    , module Language.Haskell.Exts.SrcLoc
     , module Language.Haskell.Exts.Comments
+    , module Language.Haskell.Exts.Extension
+    , module Language.Haskell.Exts.Parser
     -- * Parsing of Haskell source files
     , parseFile
     , parseFileWithMode
@@ -33,19 +35,20 @@
     , parseFileContentsWithMode
     , parseFileContentsWithExts
     , parseFileContentsWithComments
-    , parseFileContentsWithCommentsAndPragmas
     -- * Read extensions declared in LANGUAGE pragmas
     , readExtensions
     ) where
 
 import Language.Haskell.Exts.Build
-import Language.Haskell.Exts.Syntax
+import Language.Haskell.Exts.Comments
 import Language.Haskell.Exts.Parser
-import Language.Haskell.Exts.Lexer
+import Language.Haskell.Exts.Syntax
+import Language.Haskell.Exts.Lexer ( lexTokenStream, lexTokenStreamWithMode, Token(..) )
 import Language.Haskell.Exts.Pretty
-import Language.Haskell.Exts.Extension
 import Language.Haskell.Exts.Fixity
-import Language.Haskell.Exts.Comments
+import Language.Haskell.Exts.ExactPrint
+import Language.Haskell.Exts.SrcLoc
+import Language.Haskell.Exts.Extension
 
 import Data.List
 import Data.Maybe (fromMaybe)
@@ -53,39 +56,52 @@
 import System.IO
 
 -- | Parse a source file on disk, using the default parse mode.
-parseFile :: FilePath -> IO (ParseResult Module)
+parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo))
 parseFile fp = parseFileWithMode (defaultParseMode { parseFilename = fp }) fp
 
 -- | Parse a source file on disk, with an extra set of extensions to know about
 --   on top of what the file itself declares.
-parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult Module)
-parseFileWithExts exts fp = parseFileWithMode (defaultParseMode { extensions = exts, parseFilename = fp }) fp
+parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo))
+parseFileWithExts exts fp =
+    parseFileWithMode (defaultParseMode {
+                         extensions = exts,
+                         parseFilename = fp }) fp
 
 -- | Parse a source file on disk, supplying a custom parse mode.
-parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult Module)
+parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo))
 parseFileWithMode p fp = readUTF8File fp >>= return . parseFileContentsWithMode p
 
--- | Parse a source file on disk, supplying a custom parse mode, and retaining comments.
-parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module, [Comment]))
+parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment]))
 parseFileWithComments p fp = readUTF8File fp >>= return . parseFileContentsWithComments p
 
 -- | Parse a source file on disk, supplying a custom parse mode, and retaining comments
 --  as well as unknown pragmas.
-parseFileWithCommentsAndPragmas :: ParseMode -> FilePath -> IO (ParseResult (Module, [Comment], [UnknownPragma]))
+parseFileWithCommentsAndPragmas
+  :: ParseMode -> FilePath
+  -> IO (ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma]))
 parseFileWithCommentsAndPragmas p fp =
     readUTF8File fp >>= return . parseFileContentsWithCommentsAndPragmas p
 
+-- | Parse a source file from a string using a custom parse mode retaining comments
+--   as well as unknown pragmas.
+parseFileContentsWithCommentsAndPragmas
+  :: ParseMode -> String
+  -> ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma])
+parseFileContentsWithCommentsAndPragmas pmode str = separatePragmas parseResult
+    where parseResult = parseFileContentsWithComments pmode str
+
 -- | Parse a source file from a string using the default parse mode.
-parseFileContents :: String -> ParseResult Module
+parseFileContents :: String -> ParseResult (Module SrcSpanInfo)
 parseFileContents = parseFileContentsWithMode defaultParseMode
 
 -- | Parse a source file from a string, with an extra set of extensions to know about
 --   on top of what the file itself declares.
-parseFileContentsWithExts :: [Extension] -> String -> ParseResult Module
-parseFileContentsWithExts exts = parseFileContentsWithMode (defaultParseMode { extensions = exts })
+parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)
+parseFileContentsWithExts exts =
+    parseFileContentsWithMode (defaultParseMode { extensions = exts })
 
 -- | Parse a source file from a string using a custom parse mode.
-parseFileContentsWithMode :: ParseMode -> String -> ParseResult Module
+parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)
 parseFileContentsWithMode p@(ParseMode fn oldLang exts ign _ _ _) rawStr =
         let md = delit fn $ ppContents rawStr
             (bLang, extraExts) =
@@ -93,10 +109,10 @@
                   (False, Just (mLang, es)) ->
                        (fromMaybe oldLang mLang, es)
                   _ -> (oldLang, [])
-         in parseWithMode (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md
+         in -- trace (fn ++ ": " ++ show extraExts) $
+              parseModuleWithMode (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md
 
--- | Parse a source file from a string using a custom parse mode and retaining comments.
-parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module, [Comment])
+parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])
 parseFileContentsWithComments p@(ParseMode fn oldLang exts ign _ _ _) rawStr =
         let md = delit fn $ ppContents rawStr
             (bLang, extraExts) =
@@ -104,26 +120,7 @@
                   (False, Just (mLang, es)) ->
                        (fromMaybe oldLang mLang, es)
                   _ -> (oldLang, [])
-         in parseWithComments (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md
-
--- | Parse a source file from a string using a custom parse mode retaining comments
---   as well as unknown pragmas.
-parseFileContentsWithCommentsAndPragmas :: ParseMode -> String -> ParseResult (Module, [Comment], [UnknownPragma])
-parseFileContentsWithCommentsAndPragmas pmode str = separatePragmas parseResult
-    where parseResult = parseFileContentsWithComments pmode str
-
-{-- | Gather the extensions declared in LANGUAGE pragmas
---   at the top of the file. Returns 'Nothing' if the
---   parse of the pragmas fails.
-readExtensions :: String -> Maybe [Extension]
-readExtensions str = case getTopPragmas str of
-        ParseOk pgms -> Just (concatMap getExts pgms)
-        _            -> Nothing
-  where getExts :: ModulePragma -> [Extension]
-        getExts (LanguagePragma _ ns) = map readExt ns
-        getExts _ = []
-
-        readExt (Ident e) = classifyExtension e -}
+         in parseModuleWithComments (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md
 
 -- | Gather the extensions declared in LANGUAGE pragmas
 --   at the top of the file. Returns 'Nothing' if the
@@ -132,11 +129,11 @@
 readExtensions str = case getTopPragmas str of
         ParseOk pgms -> extractLang $ concatMap getExts pgms
         _            -> Nothing
-  where getExts :: ModulePragma -> [Either Language Extension]
+  where getExts :: ModulePragma l -> [Either Language Extension]
         getExts (LanguagePragma _ ns) = map readExt ns
         getExts _ = []
 
-        readExt (Ident e) =
+        readExt (Ident _ e) =
             case classifyLanguage e of
               UnknownLanguage _ -> Right $ classifyExtension e
               lang -> Left lang
@@ -159,9 +156,16 @@
 delit :: String -> String -> String
 delit fn = if ".lhs" `isSuffixOf` fn then unlit fn else id
 
+readUTF8File :: FilePath -> IO String
+readUTF8File fp = do
+  h <- openFile fp ReadMode
+  hSetEncoding h utf8
+  hGetContents h
+
 -- | Converts a parse result with comments to a parse result with comments and
 --   unknown pragmas.
-separatePragmas :: ParseResult (Module, [Comment]) -> ParseResult (Module, [Comment], [UnknownPragma])
+separatePragmas :: ParseResult (Module SrcSpanInfo, [Comment])
+                -> ParseResult (Module SrcSpanInfo, [Comment], [UnknownPragma])
 separatePragmas r =
     case r of
         ParseOk (m, comments) ->
@@ -172,9 +176,3 @@
                       pragLike (Comment b _ s) = b && pcond s
                       pcond s = length s > 1 && take 1 s == "#" && last s == '#'
         ParseFailed l s ->  ParseFailed l s
-
-readUTF8File :: FilePath -> IO String
-readUTF8File fp = do
-  h <- openFile fp ReadMode
-  hSetEncoding h utf8
-  hGetContents h
diff --git a/src/Language/Haskell/Exts/Annotated.hs b/src/Language/Haskell/Exts/Annotated.hs
deleted file mode 100644
--- a/src/Language/Haskell/Exts/Annotated.hs
+++ /dev/null
@@ -1,150 +0,0 @@
------------------------------------------------------------------------------
--- |
--- Module      :  Language.Haskell.Exts
--- Copyright   :  (c) Niklas Broberg 2004-2009
--- License     :  BSD-style (see the file LICENSE.txt)
---
--- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
--- Stability   :  stable
--- Portability :  portable
---
--- An umbrella module for the various functionality
--- of the package. Also provides some convenient
--- functionality for dealing directly with source files.
---
------------------------------------------------------------------------------
-module Language.Haskell.Exts.Annotated (
-    -- * Re-exported modules
-      module Language.Haskell.Exts.Annotated.Syntax
-    , module Language.Haskell.Exts.Annotated.Build
-    , module Language.Haskell.Exts.Parser
-    , module Language.Haskell.Exts.Lexer
-    , module Language.Haskell.Exts.Pretty
-    , module Language.Haskell.Exts.Annotated.Fixity
-    , module Language.Haskell.Exts.Annotated.ExactPrint
-    , module Language.Haskell.Exts.SrcLoc
-    , module Language.Haskell.Exts.Comments
-    , module Language.Haskell.Exts.Extension
-    , module Language.Haskell.Exts.Annotated.Parser
-    , module Language.Haskell.Exts.Annotated.Comments
-    -- * Parsing of Haskell source files
-    , parseFile
-    , parseFileWithMode
-    , parseFileWithExts
-    , parseFileWithComments
-    , parseFileContents
-    , parseFileContentsWithMode
-    , parseFileContentsWithExts
-    , parseFileContentsWithComments
-    -- * Read extensions declared in LANGUAGE pragmas
-    , readExtensions
-    ) where
-
-import Language.Haskell.Exts.Annotated.Build
-import Language.Haskell.Exts.Annotated.Comments
-import Language.Haskell.Exts.Annotated.Parser
-import Language.Haskell.Exts.Annotated.Syntax
-import Language.Haskell.Exts.Parser ( Parseable(..), ParseResult(..), fromParseResult, ParseMode(..), defaultParseMode )
-import Language.Haskell.Exts.Lexer ( lexTokenStream, lexTokenStreamWithMode, Token(..) )
-import Language.Haskell.Exts.Pretty
-import Language.Haskell.Exts.Annotated.Fixity
-import Language.Haskell.Exts.Annotated.ExactPrint
-import Language.Haskell.Exts.SrcLoc
-import Language.Haskell.Exts.Extension
-import Language.Haskell.Exts.Comments
-
-import Data.List
-import Data.Maybe (fromMaybe)
-import Language.Preprocessor.Unlit
-import System.IO
-
--- | Parse a source file on disk, using the default parse mode.
-parseFile :: FilePath -> IO (ParseResult (Module SrcSpanInfo))
-parseFile fp = parseFileWithMode (defaultParseMode { parseFilename = fp }) fp
-
--- | Parse a source file on disk, with an extra set of extensions to know about
---   on top of what the file itself declares.
-parseFileWithExts :: [Extension] -> FilePath -> IO (ParseResult (Module SrcSpanInfo))
-parseFileWithExts exts fp =
-    parseFileWithMode (defaultParseMode {
-                         extensions = exts,
-                         parseFilename = fp }) fp
-
--- | Parse a source file on disk, supplying a custom parse mode.
-parseFileWithMode :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo))
-parseFileWithMode p fp = readUTF8File fp >>= return . parseFileContentsWithMode p
-
-parseFileWithComments :: ParseMode -> FilePath -> IO (ParseResult (Module SrcSpanInfo, [Comment]))
-parseFileWithComments p fp = readUTF8File fp >>= return . parseFileContentsWithComments p
-
--- | Parse a source file from a string using the default parse mode.
-parseFileContents :: String -> ParseResult (Module SrcSpanInfo)
-parseFileContents = parseFileContentsWithMode defaultParseMode
-
--- | Parse a source file from a string, with an extra set of extensions to know about
---   on top of what the file itself declares.
-parseFileContentsWithExts :: [Extension] -> String -> ParseResult (Module SrcSpanInfo)
-parseFileContentsWithExts exts =
-    parseFileContentsWithMode (defaultParseMode { extensions = exts })
-
--- | Parse a source file from a string using a custom parse mode.
-parseFileContentsWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)
-parseFileContentsWithMode p@(ParseMode fn oldLang exts ign _ _ _) rawStr =
-        let md = delit fn $ ppContents rawStr
-            (bLang, extraExts) =
-                case (ign, readExtensions md) of
-                  (False, Just (mLang, es)) ->
-                       (fromMaybe oldLang mLang, es)
-                  _ -> (oldLang, [])
-         in -- trace (fn ++ ": " ++ show extraExts) $
-              parseModuleWithMode (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md
-
-parseFileContentsWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])
-parseFileContentsWithComments p@(ParseMode fn oldLang exts ign _ _ _) rawStr =
-        let md = delit fn $ ppContents rawStr
-            (bLang, extraExts) =
-                case (ign, readExtensions md) of
-                  (False, Just (mLang, es)) ->
-                       (fromMaybe oldLang mLang, es)
-                  _ -> (oldLang, [])
-         in parseModuleWithComments (p { baseLanguage = bLang, extensions = exts ++ extraExts }) md
-
--- | Gather the extensions declared in LANGUAGE pragmas
---   at the top of the file. Returns 'Nothing' if the
---   parse of the pragmas fails.
-readExtensions :: String -> Maybe (Maybe Language, [Extension])
-readExtensions str = case getTopPragmas str of
-        ParseOk pgms -> extractLang $ concatMap getExts pgms
-        _            -> Nothing
-  where getExts :: ModulePragma l -> [Either Language Extension]
-        getExts (LanguagePragma _ ns) = map readExt ns
-        getExts _ = []
-
-        readExt (Ident _ e) =
-            case classifyLanguage e of
-              UnknownLanguage _ -> Right $ classifyExtension e
-              lang -> Left lang
-        readExt Symbol {} = error "readExt: Symbol"
-
-        extractLang = extractLang' Nothing []
-
-        extractLang' lacc eacc [] = Just (lacc, eacc)
-        extractLang' Nothing eacc (Left l : rest) = extractLang' (Just l) eacc rest
-        extractLang' (Just l1) eacc (Left l2:rest)
-            | l1 == l2  = extractLang' (Just l1) eacc rest
-            | otherwise = Nothing
-        extractLang' lacc eacc (Right ext : rest) = extractLang' lacc (ext:eacc) rest
-
-ppContents :: String -> String
-ppContents = unlines . f . lines
-  where f (('#':_):rest) = rest
-        f x = x
-
-delit :: String -> String -> String
-delit fn = if ".lhs" `isSuffixOf` fn then unlit fn else id
-
-readUTF8File :: FilePath -> IO String
-readUTF8File fp = do
-  h <- openFile fp ReadMode
-  hSetEncoding h utf8
-  hGetContents h
diff --git a/src/Language/Haskell/Exts/Annotated/Build.hs b/src/Language/Haskell/Exts/Annotated/Build.hs
deleted file mode 100644
--- a/src/Language/Haskell/Exts/Annotated/Build.hs
+++ /dev/null
@@ -1,291 +0,0 @@
------------------------------------------------------------------------------
--- |
--- Module      :  Language.Haskell.Exts.Annotated.Build
--- Copyright   :  (c) The GHC Team, 1997-2000,
---                (c) Niklas Broberg 2004
--- License     :  BSD-style (see the file LICENSE.txt)
---
--- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
--- Stability   :  experimental
--- Portability :  portable
---
--- This module contains combinators to use when building
--- Haskell source trees programmatically, as opposed to
--- parsing them from a string. The contents here are quite
--- experimental and will likely receive a lot of attention
--- when the rest has stabilised.
---
------------------------------------------------------------------------------
-
-module Language.Haskell.Exts.Annotated.Build (
-
-    -- * Syntax building functions
-    name,       -- :: String -> Name
-    sym,        -- :: String -> Name
-    var,        -- :: Name -> Exp
-    op,         -- :: Name -> QOp
-    qvar,       -- :: Module -> Name -> Exp
-    pvar,       -- :: Name -> Pat
-    app,        -- :: Exp -> Exp -> Exp
-    infixApp,   -- :: Exp -> QOp -> Exp -> Exp
-    appFun,     -- :: Exp -> [Exp] -> Exp
-    pApp,       -- :: Name -> [Pat] -> Pat
-    tuple,      -- :: [Exp] -> Exp
-    pTuple,     -- :: [Pat] -> Pat
-    varTuple,   -- :: [Name] -> Exp
-    pvarTuple,  -- :: [Name] -> Pat
-    function,   -- :: String -> Exp
-    strE,       -- :: String -> Exp
-    charE,      -- :: Char -> Exp
-    intE,       -- :: Integer -> Exp
-    strP,       -- :: String -> Pat
-    charP,      -- :: Char -> Pat
-    intP,       -- :: Integer -> Pat
-    doE,        -- :: [Stmt] -> Exp
-    lamE,       -- :: SrcLoc -> [Pat] -> Exp -> Exp
-    letE,       -- :: [Decl] -> Exp -> Exp
-    caseE,      -- :: Exp -> [Alt] -> Exp
-    alt,        -- :: SrcLoc -> Pat -> Exp -> Alt
-    altGW,      -- :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt
-    listE,      -- :: [Exp] -> Exp
-    eList,      -- :: Exp
-    peList,     -- :: Pat
-    paren,      -- :: Exp -> Exp
-    pParen,     -- :: Pat -> Pat
-    qualStmt,   -- :: Exp -> Stmt
-    genStmt,    -- :: SrcLoc -> Pat -> Exp -> Stmt
-    letStmt,    -- :: [Decl] -> Stmt
-    binds,      -- :: [Decl] -> Binds
-    noBinds,    -- :: Binds
-    wildcard,   -- :: Pat
-    genNames,   -- :: String -> Int -> [Name]
-
-    -- * More advanced building
-    sfun,           -- :: SrcLoc -> Name -> [Name] -> Rhs -> Binds -> Decl
-    simpleFun,      -- :: SrcLoc -> Name -> Name -> Exp -> Decl
-    patBind,        -- :: SrcLoc -> Pat -> Exp -> Decl
-    patBindWhere,   -- :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl
-    nameBind,       -- :: SrcLoc -> Name -> Exp -> Decl
-    metaFunction,   -- :: String -> [Exp] -> Exp
-    metaConPat      -- :: String -> [Pat] -> Pat
-  ) where
-
-import Language.Haskell.Exts.Annotated.Syntax
-
------------------------------------------------------------------------------
--- Help functions for Abstract syntax
-
--- | An identifier with the given string as its name.
---   The string should be a valid Haskell identifier.
-name :: l -> String -> Name l
-name = Ident
-
--- | A symbol identifier. The string should be a valid
---   Haskell symbol identifier.
-sym :: l -> String -> Name l
-sym = Symbol
-
--- | A local variable as expression.
-var :: l -> Name l -> Exp l
-var l = Var l . UnQual l
-
--- | Use the given identifier as an operator.
-op :: l -> Name l -> QOp l
-op l = QVarOp l . UnQual l
-
--- | A qualified variable as expression.
-qvar :: l -> ModuleName l -> Name l -> Exp l
-qvar l m = Var l . Qual l m
-
--- | A pattern variable.
-pvar :: l -> Name l -> Pat l
-pvar = PVar
-
--- | Application of expressions by juxtaposition.
-app :: l -> Exp l -> Exp l -> Exp l
-app = App
-
--- | Apply an operator infix.
-infixApp :: l -> Exp l -> QOp l -> Exp l -> Exp l
-infixApp = InfixApp
-
--- | Apply a function to a list of arguments.
-appFun :: [l] -> Exp l -> [Exp l] -> Exp l
-appFun _ f [] = f
-appFun (l:ls) f (a:as) = appFun ls (app l f a) as
-appFun [] _ (_:_) = error "haskell-src-exts: Build: appFun: too few annotations supplied"
-
--- | A constructor pattern, with argument patterns.
-pApp :: l -> Name l -> [Pat l] -> Pat l
-pApp l n = PApp l (UnQual l n)
-
--- | A tuple expression.
-tuple :: l -> [Exp l] -> Exp l
-tuple l = Tuple l Boxed
-
--- | A tuple pattern.
-pTuple :: l -> [Pat l] -> Pat l
-pTuple l = PTuple l Boxed
-
--- | A tuple expression consisting of variables only.
-varTuple :: l -> [Name l] -> Exp l
-varTuple l ns = tuple l $ map (var l) ns
-
--- | A tuple pattern consisting of variables only.
-pvarTuple :: l -> [Name l] -> Pat l
-pvarTuple l ns = pTuple l $ map (pvar l) ns
-
--- | A function with a given name.
-function :: l -> String -> Exp l
-function l = var l . Ident l
-
--- | A literal string expression.
-strE :: l -> String -> Exp l
-strE l s = Lit l $ String l s s
-
--- | A literal character expression.
-charE :: l -> Char -> Exp l
-charE l c = Lit l $ Char l c [c]
-
--- | A literal integer expression.
-intE :: l -> Integer -> Exp l
-intE l i = Lit l $ Int l i (show i)
-
--- | A literal string pattern.
-strP :: l -> String -> Pat l
-strP l s = PLit l (Signless l) $ String l s s
-
--- | A literal character pattern.
-charP :: l -> Char -> Pat l
-charP l c = PLit l (Signless l) $ Char l c [c]
-
--- | A literal integer pattern.
-intP :: l -> Integer -> Pat l
-intP l i = PLit l (if i >= 0 then Signless l else Negative l) . Int l i . show . abs $ i
-
--- | A do block formed by the given statements.
---   The last statement in the list should be
---   a 'Qualifier' expression.
-doE :: l -> [Stmt l] -> Exp l
-doE = Do
-
--- | Lambda abstraction, given a list of argument
---   patterns and an expression body.
-lamE :: l -> [Pat l] -> Exp l -> Exp l
-lamE = Lambda
-
--- | A @let@ ... @in@ block.
-letE :: l -> [Decl l] -> Exp l -> Exp l
-letE l ds e = Let l (binds l ds) e
-
--- | A @case@ expression.
-caseE :: l -> Exp l -> [Alt l] -> Exp l
-caseE = Case
-
--- | An unguarded alternative in a @case@ expression.
-alt :: l -> Pat l -> Exp l -> Alt l
-alt l p e = Alt l p (unGAlt l e) Nothing
-
--- | An alternative with a single guard in a @case@ expression.
-altGW :: l -> Pat l -> [Stmt l] -> Exp l -> Binds l -> Alt l
-altGW l p gs e w = Alt l p (gAlt l gs e) (Just w)
-
--- | An unguarded righthand side of a @case@ alternative.
-unGAlt :: l -> Exp l -> Rhs l
-unGAlt = UnGuardedRhs
-
--- | An list of guarded righthand sides for a @case@ alternative.
-gAlts :: l -> [([Stmt l], Exp l)] -> Rhs l
-gAlts l as = GuardedRhss l $ map (\(gs,e) -> GuardedRhs l gs e) as
-
--- | A single guarded righthand side for a @case@ alternative.
-gAlt :: l -> [Stmt l] -> Exp l -> Rhs l
-gAlt l gs e = gAlts l [(gs,e)]
-
--- | A list expression.
-listE :: l -> [Exp l] -> Exp l
-listE = List
-
--- | The empty list expression.
-eList :: l -> Exp l
-eList l = List l []
-
--- | The empty list pattern.
-peList :: l -> Pat l
-peList l = PList l []
-
--- | Put parentheses around an expression.
-paren :: l -> Exp l -> Exp l
-paren = Paren
-
--- | Put parentheses around a pattern.
-pParen :: l -> Pat l -> Pat l
-pParen = PParen
-
--- | A qualifier expression statement.
-qualStmt :: l -> Exp l -> Stmt l
-qualStmt = Qualifier
-
--- | A generator statement: /pat/ @<-@ /exp/
-genStmt :: l -> Pat l -> Exp l -> Stmt l
-genStmt = Generator
-
--- | A @let@ binding group as a statement.
-letStmt :: l -> [Decl l] -> Stmt l
-letStmt l ds = LetStmt l $ binds l ds
-
--- | Hoist a set of declarations to a binding group.
-binds :: l -> [Decl l] -> Binds l
-binds = BDecls
-
--- | An empty binding group.
-noBinds :: l -> Binds l
-noBinds l = binds l []
-
--- | The wildcard pattern: @_@
-wildcard :: l -> Pat l
-wildcard = PWildCard
-
--- | Generate k names by appending numbers 1 through k to a given string.
-genNames :: l -> String -> Int -> [Name l]
-genNames l s k = [ Ident l $ s ++ show i | i <- [1..k] ]
-
--------------------------------------------------------------------------------
--- Some more specialised help functions
-
--- | A function with a single clause
-sfun :: l -> Name l -> [Name l] -> Rhs l -> Maybe (Binds l) -> Decl l
-sfun l f pvs rhs mbs = FunBind l [Match l f (map (pvar l) pvs) rhs mbs]
-
--- | A function with a single clause, a single argument, no guards
--- and no where declarations
-simpleFun :: l -> Name l -> Name l -> Exp l -> Decl l
-simpleFun l f a e = let rhs = UnGuardedRhs l e
-             in sfun l f [a] rhs Nothing
-
--- | A pattern bind where the pattern is a variable, and where
--- there are no guards and no 'where' clause.
-patBind :: l -> Pat l -> Exp l -> Decl l
-patBind l p e = let rhs = UnGuardedRhs l e
-         in PatBind l p rhs Nothing
-
--- | A pattern bind where the pattern is a variable, and where
--- there are no guards, but with a 'where' clause.
-patBindWhere :: l -> Pat l -> Exp l -> [Decl l] -> Decl l
-patBindWhere l p e ds = let rhs = UnGuardedRhs l e
-             in PatBind l p rhs (Just $ binds l ds)
-
--- | Bind an identifier to an expression.
-nameBind :: l -> Name l -> Exp l -> Decl l
-nameBind l n e = patBind l (pvar l n) e
-
--- | Apply function of a given name to a list of arguments.
-metaFunction :: l -> String -> [Exp l] -> Exp l
-metaFunction l' s' es' = mf l' s' (reverse es')
-  where mf l s []     = var l $ name l s
-        mf l s (e:es) = app l (mf l s es) e
-
--- | Apply a constructor of a given name to a list of pattern
---   arguments, forming a constructor pattern.
-metaConPat :: l -> String -> [Pat l] -> Pat l
-metaConPat l s ps = pApp l (name l s) ps
diff --git a/src/Language/Haskell/Exts/Annotated/Comments.hs b/src/Language/Haskell/Exts/Annotated/Comments.hs
deleted file mode 100644
--- a/src/Language/Haskell/Exts/Annotated/Comments.hs
+++ /dev/null
@@ -1,176 +0,0 @@
------------------------------------------------------------------------------
--- |
--- Module      :  Language.Haskell.Exts.Annotated.Comments
--- Copyright   :  (c) JP Moresmau 2015
--- License     :  BSD-style (see the file LICENSE.txt)
---
--- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
--- Stability   :  experimental
--- Portability :  portable
---
--- This module processes comments along with an annotated AST,
--- to be able to associate Haddock comments with the actual item
--- they refer to.
---
--- Example:
---
--- @
--- let
---  parse1Result :: ParseResult (Module SrcSpanInfo,[Comment])
---  parse1Result =
---    parseFileContentsWithComments
---     (defaultParseMode { parseFilename = file })
---      contents
---  withC :: ParseResult (Module (SrcSpanInfo,[Comment]))
---  withC = case parse1Result of
---            ParseOk res         -> ParseOk $ associateHaddock res
---            ParseFailed sloc msg -> ParseFailed sloc msg
--- @
---
--- In this code sample, parse1Result is what you get when you parse a file:
--- a 'Module' annotated wth 'SrcSpanInfo', and a list of comments
--- After passing the result to 'associateHaddock', you get a 'Module'
--- annotated with both a 'SrcSpanInfo' and the list of 'Comment' related to the
--- specific AST node.
---
------------------------------------------------------------------------------
-module Language.Haskell.Exts.Annotated.Comments
-    ( associateHaddock
-    ) where
-
-import Language.Haskell.Exts.Annotated.Syntax
-import Language.Haskell.Exts.Comments
-import Language.Haskell.Exts.SrcLoc
-
-import Data.Char (isSpace)
-import Data.Traversable
-
--- | Associates an AST with Source Span Information
--- with relevant Haddock comments
-associateHaddock
-  ::(Annotated ast,Traversable ast)
-  => (ast SrcSpanInfo,[Comment])
-  -> ast (SrcSpanInfo,[Comment])
-associateHaddock (ast,[]) = fmap (\src->(src,[])) ast
-associateHaddock (ast,comments) =
-  let
-    (ca,assocs1) = mapAccumL associate1 (newAccumulator comments) ast
-  in snd $ mapAccumL merge (lastPost ca) assocs1
-
-
--- | Merge existing association with post comment associations
-merge
-  :: [(SrcSpanInfo,[Comment])]
-  -> (SrcSpanInfo,[Comment])
-  -> ([(SrcSpanInfo,[Comment])], (SrcSpanInfo,[Comment]))
-merge [] ret = ([],ret)
-merge (x:xs) (src,cmts) =
-  if fst x == src
-    then (xs,(src,cmts ++ snd x))
-    else (x:xs,(src,cmts))
-
-
--- | Ensure that if file ends with comment we process it
-lastPost :: CommentAccumulator -> [(SrcSpanInfo, [Comment])]
-lastPost (CommentAccumulator (Post cmt : rest) past assocs) =
-  let (toMerge, _) = span isNone rest
-      psrc = matchPreviousSrc past
-  in (assocs ++ [(psrc, cmt : map hcComment toMerge)])
-lastPost (CommentAccumulator _ _ assocs) = assocs
-
-
--- | Accumulate comments mappings, either directly with the source
--- or in another association list for later processing
-associate1
-  :: CommentAccumulator
-  -> SrcSpanInfo
-  -> (CommentAccumulator,(SrcSpanInfo,[Comment]))
-associate1 ca@(CommentAccumulator [] _ _) src = (ca,(src,[]))
-associate1 (CommentAccumulator (hc@(Pre cmt):rest) _ assocs) src =
-  if isBefore hc src
-    then
-      let (toMerge,next) = getToMerge src rest
-          newAssoc = (src,cmt : map hcComment toMerge)
-      in (CommentAccumulator next [] assocs,newAssoc)
-    else (CommentAccumulator (hc:rest) [] assocs,(src,[]))
-associate1 (CommentAccumulator (hc@(Post cmt):rest) past assocs) src =
-  if isBefore hc src
-    then
-      let (toMerge,next) = getToMerge src rest
-          newAssocs =
-            if null past
-              then assocs
-              else assocs++[(matchPreviousSrc past,cmt : map hcComment toMerge)]
-      in associate1 (CommentAccumulator next [] newAssocs) src
-    else (CommentAccumulator (hc:rest) (src:past) assocs,(src,[]))
-associate1 (CommentAccumulator (_:rest) past assocs) src =
-  (CommentAccumulator rest (src:past) assocs,(src,[]))
-
-
--- | The comment accumulator
-data CommentAccumulator = CommentAccumulator
-  [HaddockComment]          -- The Haddock comments to process
-  [SrcSpanInfo]             -- The past src infos to resolve post comments
-  [(SrcSpanInfo,[Comment])] -- The additional associations between src and comments
-
-
--- | Create a new accumulator
-newAccumulator :: [Comment] -> CommentAccumulator
-newAccumulator comments = CommentAccumulator (commentsToHaddock comments) [] []
-
--- | Get comments to merge
-getToMerge
-  :: SrcSpanInfo                         -- ^ Stop before src
-  -> [HaddockComment]                    -- ^ All remaining comments
-  -> ([HaddockComment],[HaddockComment]) -- ^ Comments to merge, left overs
-getToMerge src = span (\hc-> isNone hc && isBefore hc src)
-
-
--- | Get the biggest src that ends where the first one does
-matchPreviousSrc :: [SrcSpanInfo] -> SrcSpanInfo
-matchPreviousSrc [] =
-  error "Language.Haskell.Exts.Annotated.Comments.matchPreviousSrc: empty list"
-matchPreviousSrc srcs =
-  let end = srcSpanEnd $ srcInfoSpan $ head srcs
-  in last $ filter ((end ==) . srcSpanEnd . srcInfoSpan) srcs
-
--- | Is a Haddock comment before a given location
-isBefore :: HaddockComment -> SrcSpanInfo -> Bool
-isBefore hc src=
-  let
-    (Comment _ csrc _) = hcComment hc
-  in csrc < srcInfoSpan src
-
--- | Represents a Haddock Comment
-data HaddockComment =
-  -- | Comment before declaration
-  Pre
-   {
-     hcComment::Comment
-   }
-  -- | Comment after declaration
-  | Post  {
-     hcComment::Comment
-    }
-  -- | Non Haddock comment
-  | None  {
-     hcComment::Comment
-    }
-
--- | Is a comment not haddock?
-isNone :: HaddockComment -> Bool
-isNone (None _) = True
-isNone _ = False
-
-
--- | Comments to Haddock Comments
-commentsToHaddock :: [Comment] -> [HaddockComment]
-commentsToHaddock = map commentToHaddock
-
--- | Comment to Haddock Comment
-commentToHaddock :: Comment -> HaddockComment
-commentToHaddock c@(Comment _ _ txt) =
-  case dropWhile isSpace txt of
-    ('|':_) -> Pre c
-    ('^':_) -> Post c
-    _       -> None c
diff --git a/src/Language/Haskell/Exts/Annotated/ExactPrint.hs b/src/Language/Haskell/Exts/Annotated/ExactPrint.hs
deleted file mode 100644
--- a/src/Language/Haskell/Exts/Annotated/ExactPrint.hs
+++ /dev/null
@@ -1,2138 +0,0 @@
-{-# LANGUAGE DeriveFunctor #-}
------------------------------------------------------------------------------
--- |
--- Module      :  Language.Haskell.Exts.Annotated.ExactPrint
--- Copyright   :  (c) Niklas Broberg 2009
--- License     :  BSD-style (see the file LICENSE.txt)
---
--- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
--- Stability   :  stable
--- Portability :  portable
---
--- Exact-printer for Haskell abstract syntax. The input is a (semi-concrete)
--- abstract syntax tree, annotated with exact source information to enable
--- printing the tree exactly as it was parsed.
---
------------------------------------------------------------------------------
-module Language.Haskell.Exts.Annotated.ExactPrint
-        ( exactPrint
-        , ExactP
-        ) where
-
-import Language.Haskell.Exts.Annotated.Syntax
-import Language.Haskell.Exts.SrcLoc
-import Language.Haskell.Exts.Comments
-
-import Control.Monad (when, liftM, ap, unless)
-import Control.Applicative (Applicative(..))
-import Control.Arrow ((***), (&&&))
-import Prelude hiding (exp)
-import Data.List (intersperse)
-
--- import Debug.Trace (trace)
-
-------------------------------------------------------
--- The EP monad and basic combinators
-
-type Pos = (Int,Int)
-
-pos :: (SrcInfo loc) => loc -> Pos
-pos ss = (startLine ss, startColumn ss)
-
-newtype EP x = EP (Pos -> [Comment] -> (x, Pos, [Comment], ShowS))
-
-instance Functor EP where
-  fmap = liftM
-
-instance Applicative EP where
-  pure = return
-  (<*>) = 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
-        EP f = k a
-        (b, l2, c2, s2) = f l1 c1
-    in (b, l2, c2, s1 . s2)
-
-runEP :: EP () -> [Comment] -> String
-runEP (EP f) cs = let (_,_,_,s) = f (1,1) cs in s ""
-
-getPos :: EP Pos
-getPos = EP (\l cs -> (l,l,cs,id))
-
-setPos :: Pos -> EP ()
-setPos l = EP (\_ cs -> ((),l,cs,id))
-
-printString :: String -> EP ()
-printString str =
-  EP (\(l,c) cs -> let (l', c') = foldl go (l, c) str
-                       go (cl, _) '\n' = (cl + 1, 1)
-                       go (cl, cc) _    = (cl, cc + 1)
-                   in ((), (l', c'), cs, showString str))
-
-
-getComment :: EP (Maybe Comment)
-getComment = EP $ \l cs ->
-    let x = case cs of
-             c:_ -> Just c
-             _   -> Nothing
-     in (x, l, cs, id)
-
-dropComment :: EP ()
-dropComment = EP $ \l cs ->
-    let cs' = case cs of
-               (_:cs1) -> cs1
-               _       -> cs
-     in ((), l, cs', id)
-
-newLine :: EP ()
-newLine = do
-    (l,_) <- getPos
-    printString "\n"
-    setPos (l+1,1)
-
-padUntil :: Pos -> EP ()
-padUntil (l,c) = do
-    (l1,c1) <- getPos
-    case  {- trace (show ((l,c), (l1,c1))) -} () of
-     _ {-()-} | l1 >= l && c1 <= c -> printString $ replicate (c - c1) ' '
-              | l1 < l             -> newLine >> padUntil (l,c)
-              | otherwise          -> return ()
-
-
-mPrintComments :: Pos -> EP ()
-mPrintComments p = do
-    mc <- getComment
-    case mc of
-     Nothing -> return ()
-     Just (Comment multi s str) ->
-        when (pos s < p) $ do
-            dropComment
-            padUntil (pos s)
-            printComment multi str
-            setPos (srcSpanEndLine s, srcSpanEndColumn s)
-            mPrintComments p
-
-printComment :: Bool -> String -> EP ()
-printComment b str
-    | b         = printString $ "{-" ++ str ++ "-}"
-    | otherwise = printString $ "--" ++ str
-
-printWhitespace :: Pos -> EP ()
-printWhitespace p = mPrintComments p >> padUntil p
-
-printStringAt :: Pos -> String -> EP ()
-printStringAt p str = printWhitespace p >> printString str
-
-errorEP :: String -> EP a
-errorEP = fail
-
-------------------------------------------------------------------------------
--- Printing of source elements
-
--- | Print an AST exactly as specified by the annotations on the nodes in the tree.
-exactPrint :: (ExactP ast) => ast SrcSpanInfo -> [Comment] -> String
-exactPrint ast = runEP (exactPC ast)
-
-exactPC :: (ExactP ast) => ast SrcSpanInfo -> EP ()
-exactPC ast = let p = pos (ann ast) in mPrintComments p >> padUntil p >> exactP ast
-
-printSeq :: [(Pos, EP ())] -> EP ()
-printSeq [] = return ()
-printSeq ((p,pr):xs) = printWhitespace p >> pr >> printSeq xs
-
-printStrs :: SrcInfo loc => [(loc, String)] -> EP ()
-printStrs = printSeq . map (pos *** printString)
-
-printPoints :: SrcSpanInfo -> [String] -> EP ()
-printPoints l = printStrs . zip (srcInfoPoints l)
-
-printInterleaved, printInterleaved' :: (Annotated ast, ExactP ast, SrcInfo loc) => [(loc, String)] -> [ast SrcSpanInfo] -> EP ()
-printInterleaved sistrs asts = printSeq $
-    interleave (map (pos *** printString ) sistrs)
-               (map (pos . ann &&& exactP) asts)
-
-printInterleaved' sistrs (a:asts) = exactPC a >> printInterleaved sistrs asts
-printInterleaved' _ _ = internalError "printInterleaved'"
-
-printStreams :: [(Pos, EP ())] -> [(Pos, EP ())] -> EP ()
-printStreams [] ys = printSeq ys
-printStreams xs [] = printSeq xs
-printStreams (x@(p1,ep1):xs) (y@(p2,ep2):ys)
-    | p1 <= p2 = printWhitespace p1 >> ep1 >> printStreams xs (y:ys)
-    | otherwise = printWhitespace p2 >> ep2 >> printStreams (x:xs) ys
-
-
-interleave :: [a] -> [a] -> [a]
-interleave [] ys = ys
-interleave xs [] = xs
-interleave (x:xs) (y:ys) = x:y: interleave xs ys
-
-maybeEP :: (a -> EP ()) -> Maybe a -> EP ()
-maybeEP = maybe (return ())
-
-bracketList :: (Annotated ast, ExactP ast) => (String, String, String) -> [SrcSpan] -> [ast SrcSpanInfo] -> EP ()
-bracketList (a,b,c) poss asts = printInterleaved (pList poss (a,b,c)) asts
-
-pList :: [a] -> (b, b, b) -> [(a, b)]
-pList (p:ps) (a,b,c) = (p,a) : pList' ps (b,c)
-pList _ _ = internalError "pList"
-pList' :: [a] -> (b, b) -> [(a, b)]
-pList' [] _ = []
-pList' [p] (_,c) = [(p,c)]
-pList' (p:ps) (b,c) = (p, b) : pList' ps (b,c)
-
-parenList, squareList, squareColonList, curlyList, parenHashList :: (Annotated ast, ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()
-parenList = bracketList ("(",",",")")
-squareList = bracketList ("[",",","]")
-squareColonList = bracketList ("[:",",",":]")
-curlyList = bracketList ("{",",","}")
-parenHashList = bracketList ("(#",",","#)")
-
-layoutList :: (Functor ast, Show (ast ()), Annotated ast, ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()
-layoutList poss asts = printStreams
-        (map (pos *** printString) $ lList poss)
-        (map (pos . ann &&& exactP) asts)
-
-lList :: [SrcSpan] -> [(SrcSpan, String)]
-lList (p:ps) = (if isNullSpan p then (p,"") else (p,"{")) : lList' ps
-lList _ = internalError "lList"
-lList' :: [SrcSpan] -> [(SrcSpan, String)]
-lList' [] = []
-lList' [p] = [if isNullSpan p then (p,"") else (p,"}")]
-lList' (p:ps) = (if isNullSpan p then (p,"") else (p,";")) : lList' ps
-
-printSemi :: SrcSpan -> EP ()
-printSemi p = do
-  printWhitespace (pos p)
-  unless (isNullSpan p) $ printString ";"
-
-
---------------------------------------------------
--- Exact printing
-
-class Annotated ast => ExactP ast where
-  exactP :: ast SrcSpanInfo -> EP ()
-
-instance ExactP Literal where
-  exactP lit = case lit of
-    Char       _ _ rw -> printString ('\'':rw ++ "\'")
-    String     _ _ rw -> printString ('\"':rw ++ "\"")
-    Int        _ _ rw -> printString rw
-    Frac       _ _ rw -> printString rw
-    PrimInt    _ _ rw -> printString (rw ++ "#" )
-    PrimWord   _ _ rw -> printString (rw ++ "##")
-    PrimFloat  _ _ rw -> printString (rw ++ "#" )
-    PrimDouble _ _ rw -> printString (rw ++ "##")
-    PrimChar   _ _ rw -> printString ('\'':rw ++ "\'#" )
-    PrimString _ _ rw -> printString ('\"':rw ++ "\"#" )
-
-instance ExactP Sign where
-  exactP sg = case sg of
-    Signless _ -> return ()
-    Negative l -> printStringAt (pos l) "-"
-
-instance ExactP ModuleName where
-  exactP (ModuleName _ str) = printString str
-
-instance ExactP SpecialCon where
-  exactP sc = case sc of
-    UnitCon l   -> printPoints l ["(",")"]
-    ListCon l   -> printPoints l ["[","]"]
-    FunCon  l   -> case srcInfoPoints l of
-                    [_,b,_] -> printStringAt (pos b) "->"
-                    _ -> errorEP "ExactP: SpecialCon is given wrong number of srcInfoPoints"
-    TupleCon l b n -> printPoints l $
-        case b of
-         Unboxed -> "(#": replicate (n-1) "," ++ ["#)"]
-         _       -> "(" : replicate (n-1) "," ++ [")"]
-    Cons _      -> printString ":"
-    UnboxedSingleCon l -> printPoints l ["(#","#)"]
-
-isSymbol :: Name l -> Bool
-isSymbol (Symbol _ _) = True
-isSymbol _ = False
-
-getName :: QName l -> Name l
-getName (UnQual _ s) = s
-getName (Qual _ _ s) = s
-getName (Special l (Cons _)) = Symbol l ":"
-getName (Special l (FunCon _)) = Symbol l "->"
-getName (Special l s) = Ident l (specialName s)
-
-specialName :: SpecialCon l -> String
-specialName (UnitCon _) = "()"
-specialName (ListCon _) = "[]"
-specialName (FunCon  _) = "->"
-specialName (TupleCon _ b n) = "(" ++ hash ++ replicate (n-1) ',' ++ hash ++ ")"
-    where hash = case b of
-                   Unboxed -> "#"
-                   _       -> ""
-specialName (Cons _) = ":"
-specialName (UnboxedSingleCon _) = "(# #)"
-
-instance ExactP QName where
-  exactP qn
-    | isSymbol (getName qn) =
-        case srcInfoPoints (ann qn) of
-         [_,b,c] -> do
-            printString "("
-            printWhitespace (pos b)
-            epQName qn
-            printStringAt (pos c) ")"
-         _ -> errorEP "ExactP: QName is given wrong number of srcInfoPoints"
-    | otherwise = epQName qn
-
-epQName :: QName SrcSpanInfo -> EP ()
-epQName qn = case qn of
-    Qual    _ mn n  -> exactP mn >> printString "." >> epName n
-    UnQual  _    n  -> epName n
-    Special _ sc    -> exactP sc
-
-epInfixQName :: QName SrcSpanInfo -> EP ()
-epInfixQName qn
-    | isSymbol (getName qn) = printWhitespace (pos (ann qn)) >> epQName qn
-    | otherwise =
-        case srcInfoPoints (ann qn) of
-         [a,b,c] -> do
-            printStringAt (pos a) "`"
-            printWhitespace (pos b)
-            epQName qn
-            printStringAt (pos c) "`"
-         _ -> errorEP "ExactP: QName (epInfixName) is given wrong number of srcInfoPoints"
-
-instance ExactP Name where
-  exactP n = case n of
-    Ident  _ str    -> printString str
-    Symbol l str    ->
-        case srcInfoPoints l of
-         [_,b,c] -> do
-            printString "("
-            printWhitespace (pos b)
-            printString str
-            printStringAt (pos c) ")"
-         [] -> printString str
-         _ -> errorEP "ExactP: Name is given wrong number of srcInfoPoints"
-
-epName :: Name SrcSpanInfo -> EP ()
-epName (Ident  _ str) = printString str
-epName (Symbol _ str) = printString str
-
-epInfixName :: Name SrcSpanInfo -> EP ()
-epInfixName n
-    | isSymbol n = printWhitespace (pos (ann n)) >> epName n
-    | otherwise =
-        case srcInfoPoints (ann n) of
-         [a,b,c] -> do
-            printStringAt (pos a) "`"
-            printWhitespace (pos b)
-            epName n
-            printStringAt (pos c) "`"
-         _ -> errorEP "ExactP: Name (epInfixName) is given wrong number of srcInfoPoints"
-
-instance ExactP IPName where
-  exactP ipn = case ipn of
-    IPDup _ str -> printString $ '?':str
-    IPLin _ str -> printString $ '%':str
-
-instance ExactP QOp where
-  exactP qop = case qop of
-    QVarOp _ qn -> epInfixQName qn
-    QConOp _ qn -> epInfixQName qn
-
-instance ExactP Op where
-  exactP op = case op of
-    VarOp _ n -> epInfixName n
-    ConOp _ n -> epInfixName n
-
-
-
-instance ExactP CName where
-  exactP cn = case cn of
-    VarName _ n -> exactP n
-    ConName _ n -> exactP n
-
-instance ExactP Namespace where
-  exactP ns = case ns of
-     NoNamespace _   -> return ()
-     TypeNamespace l -> printStringAt (pos l) "type"
-     PatternNamespace l -> printStringAt (pos l) "pattern"
-
-instance ExactP ExportSpec where
-  exactP espec = case espec of
-     EVar _ qn    -> exactPC qn
-     EAbs _ ns qn -> exactP ns >> exactPC qn
-     EThingAll l qn -> exactP qn >> printPoints l ["(","..",")"]
-     EThingWith l qn cns    ->
-        let k = length (srcInfoPoints l)
-         in exactP qn >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns
-     EModuleContents _ mn -> printString "module" >> exactPC mn
-
-instance ExactP ExportSpecList where
-  exactP (ExportSpecList l ess) =
-    let k = length (srcInfoPoints l)
-     in printInterleaved (zip (srcInfoPoints l) $ "(": replicate (k-2) "," ++ [")"]) ess
-
-instance ExactP ImportSpecList where
-  exactP (ImportSpecList l hid ispecs) = do
-    let pts = srcInfoPoints l
-    pts1 <- if hid then do
-             let (x:pts') = pts
-             printStringAt (pos x) "hiding"
-             return pts'
-            else return pts
-    let k = length pts1
-    printInterleaved (zip pts1 $ "(": replicate (k-2) "," ++ [")"]) ispecs
-
-instance ExactP ImportSpec where
-  exactP ispec = case ispec of
-    IVar _ qn       -> exactPC qn
-    IAbs _ ns n     -> exactP ns >> exactPC n
-    IThingAll l n   -> exactP n >> printPoints l ["(","..",")"]
-    IThingWith l n cns    ->
-        let k = length (srcInfoPoints l)
-         in exactP n >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns
-
-instance ExactP ImportDecl where
-  exactP (ImportDecl l mn qf src safe mpkg mas mispecs) = do
-    printString "import"
-    case srcInfoPoints l of
-     (_:pts) -> do
-        pts1 <- if src then
-                 case pts of
-                  x:y:pts' -> do
-                     printStringAt (pos x) "{-# SOURCE"
-                     printStringAt (pos y) "#-}"
-                     return pts'
-                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"
-                else return pts
-        pts2 <- if safe then
-                 case pts1 of
-                  x:pts' -> do
-                     printStringAt (pos x) "safe"
-                     return pts'
-                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"
-                else return pts1
-        pts3 <- if qf then
-                 case pts2 of
-                  x:pts' -> do
-                     printStringAt (pos x) "qualified"
-                     return pts'
-                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"
-                else return pts2
-        pts4 <- case mpkg of
-                Just pkg ->
-                  case pts3 of
-                   x:pts' -> do
-                      printStringAt (pos x) $ show pkg
-                      return pts'
-                   _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"
-                _ -> return pts3
-        exactPC mn
-        _ <- case mas of
-                Just as ->
-                 case pts4 of
-                  x:pts' -> do
-                     printStringAt (pos x) "as"
-                     exactPC as
-                     return pts'
-                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"
-                _ -> return pts4
-        case mispecs of
-         Nothing -> return ()
-         Just ispecs -> exactPC ispecs
-     _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"
-
-instance ExactP Module where
-  exactP mdl = case mdl of
-    Module l mmh oss ids decls -> do
-        let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)
-        layoutList oPts oss
-        maybeEP exactPC mmh
-        printStreams (map (pos *** printString) $ lList pts)
-                     (map (pos . ann &&& exactPC) ids ++ map (pos . ann &&& exactPC) (sepFunBinds decls))
-    XmlPage l _mn oss xn attrs mat es  -> do
-        let (oPts, pPts) = splitAt (max (length oss + 1) 2) $ srcInfoPoints l
-        case pPts of
-         [a,b,c,d,e] -> do
-            layoutList oPts oss
-            printStringAt (pos a) "<"
-            exactPC xn
-            mapM_ exactPC attrs
-            maybeEP exactPC mat
-            printStringAt (pos b) ">"
-            mapM_ exactPC es
-            printStringAt (pos c) "</"
-            printWhitespace (pos d)
-            exactP xn
-            printStringAt (pos e) ">"
-         _ -> errorEP "ExactP: Module: XmlPage is given wrong number of srcInfoPoints"
-    XmlHybrid l mmh oss ids decls xn attrs mat es -> do
-        let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)
-        layoutList oPts oss
-        maybeEP exactPC mmh
-        let (dPts, pPts) = splitAt (length pts - 5) pts
-        case pPts of
-         [a,b,c,d,e] -> do
-            printStreams (map (\(p,s) -> (pos p, printString s)) $ lList dPts)
-                         (map (\i -> (pos $ ann i, exactPC i)) ids ++ map (\d' -> (pos $ ann d', exactPC d')) (sepFunBinds decls))
-
-            printStringAt (pos a) "<"
-            exactPC xn
-            mapM_ exactPC attrs
-            maybeEP exactPC mat
-            printStringAt (pos b) ">"
-            mapM_ exactPC es
-            printStringAt (pos c) "</"
-            printWhitespace (pos d)
-            exactP xn
-            printStringAt (pos e) ">"
-         _ -> errorEP "ExactP: Module: XmlHybrid is given wrong number of srcInfoPoints"
-
-instance ExactP ModuleHead where
-  exactP (ModuleHead l mn mwt mess) =
-    case srcInfoPoints l of
-     [a,b] -> do
-        printStringAt (pos a) "module"
-        exactPC mn
-        maybeEP exactPC mwt
-        maybeEP exactPC mess
-        printStringAt (pos b) "where"
-     _ -> errorEP "ExactP: ModuleHead is given wrong number of srcInfoPoints"
-
-instance ExactP ModulePragma where
-  exactP op = case op of
-    LanguagePragma   l ns       ->
-        let pts = srcInfoPoints l
-            k = length ns - 1 -- number of commas
-            m = length pts - k - 2 -- number of virtual semis, likely 0
-         in printInterleaved (zip pts ("{-# LANGUAGE":replicate k "," ++ replicate m "" ++ ["#-}"])) ns
-    OptionsPragma    l mt str   ->
-        let k = length (srcInfoPoints l)
-            -- We strip out a leading space in the lexer unless the pragma
-            -- starts with a newline.
-            addSpace xs@('\n':_) = xs
-            addSpace xs = ' ':xs
-            opstr = "{-# OPTIONS" ++ case mt of { Just t -> "_" ++ show t ; _ -> "" } ++ addSpace str
-         in printPoints l $ opstr : replicate (k-2) "" ++ ["#-}"]
-    AnnModulePragma  l ann'      ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "{-# ANN"
-            exactPC ann'
-            printStringAt (pos b) "#-}"
-         _ -> errorEP "ExactP: ModulePragma: AnnPragma is given wrong number of srcInfoPoints"
-
-instance ExactP WarningText where
-    exactP (DeprText l str) = printPoints l ["{-# DEPRECATED", str, "#-}"]
-    exactP (WarnText l str) = printPoints l ["{-# WARNING",    str, "#-}"]
-
-instance ExactP Assoc where
-  exactP a = case a of
-    AssocNone  _ -> printString "infix"
-    AssocLeft  _ -> printString "infixl"
-    AssocRight _ -> printString "infixr"
-
-instance ExactP DataOrNew where
-  exactP (DataType _) = printString "data"
-  exactP (NewType  _) = printString "newtype"
-
-instance ExactP TypeEqn where
-  exactP (TypeEqn l t1 t2) =
-    case srcInfoPoints l of
-      [a] -> do
-         exactPC t1
-         printStringAt (pos a) "="
-         exactPC t2
-      _ -> errorEP "ExactP: TypeEqn is given wrong number of srcInfoPoints"
-
-instance ExactP Decl where
-  exactP decl = case decl of
-    TypeDecl     l dh t      ->
-        case srcInfoPoints l of
-         [a,b] -> do
-            printStringAt (pos a) "type"
-            exactPC dh
-            printStringAt (pos b) "="
-            exactPC t
-         _ -> errorEP "ExactP: Decl: TypeDecl is given wrong number of srcInfoPoints"
-    TypeFamDecl  l dh mk     ->
-        case srcInfoPoints l of
-         a:b:ps -> do
-            printStringAt (pos a) "type"
-            printStringAt (pos b) "family"
-            exactPC dh
-            maybeEP (\k -> printStringAt (pos (head ps)) "::" >> exactPC k) mk
-         _ -> errorEP "ExactP: Decl: TypeFamDecl is given wrong number of srcInfoPoints"
-    ClosedTypeFamDecl  l dh mk eqns ->
-        case srcInfoPoints l of
-         a:b:c:ps -> do
-            printStringAt (pos a) "type"
-            printStringAt (pos b) "family"
-            exactPC dh
-            maybeEP (\k -> printStringAt (pos (head ps)) "::" >> exactPC k) mk
-            printStringAt (pos c) "where"
-            mapM_ exactP eqns
-         _ -> errorEP "ExactP: Decl: ClosedTypeFamDecl is given wrong number of srcInfoPoints"
-    DataDecl     l dn mctxt dh constrs mder -> do
-        exactP dn
-        maybeEP exactPC mctxt
-        exactPC dh
-        -- the next line works for empty data types since the srcInfoPoints will be empty then
-        printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs
-        maybeEP exactPC mder
-    GDataDecl    l dn mctxt dh mk gds mder -> do
-        let pts = srcInfoPoints l
-        exactP dn
-        maybeEP exactPC mctxt
-        exactPC dh
-        pts1 <- case mk of
-                Nothing -> return pts
-                Just kd -> case pts of
-                            p:pts' -> do
-                               printStringAt (pos p) "::"
-                               exactPC kd
-                               return pts'
-                            _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"
-        case pts1 of
-         x:pts' -> do
-            printStringAt (pos x) "where"
-            layoutList pts' gds
-            maybeEP exactPC mder
-         _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"
-    DataFamDecl  l mctxt dh mk -> do
-        printString "data"
-        maybeEP exactPC mctxt
-        exactPC dh
-        maybeEP (\kd -> printStringAt (pos (head (srcInfoPoints l))) "::" >> exactPC kd) mk
-    TypeInsDecl  l t1 t2 ->
-        case srcInfoPoints l of
-         [_,b,c] -> do
-            printString "type"
-            printStringAt (pos b) "instance"
-            exactPC t1
-            printStringAt (pos c) "="
-            exactPC t2
-         _ -> errorEP "ExactP: Decl: TypeInsDecl is given wrong number of srcInfoPoints"
-    DataInsDecl  l dn t constrs mder    ->
-        case srcInfoPoints l of
-         p:pts -> do
-            exactP dn
-            printStringAt (pos p) "instance"
-            exactPC t
-            printInterleaved (zip pts ("=": repeat "|")) constrs
-            maybeEP exactPC mder
-         _ -> errorEP "ExactP: Decl: DataInsDecl is given too few srcInfoPoints"
-    GDataInsDecl l dn t mk gds mder     ->
-        case srcInfoPoints l of
-         p:pts -> do
-            exactP dn
-            printStringAt (pos p) "instance"
-            exactPC t
-            pts1 <- case mk of
-                    Nothing -> return pts
-                    Just kd -> case pts of
-                                p':pts' -> do
-                                    printStringAt (pos p') "::"
-                                    exactPC kd
-                                    return pts'
-                                _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"
-            case pts1 of
-             x:pts' -> do
-                printStringAt (pos x) "where"
-                layoutList pts' gds
-                maybeEP exactPC mder
-             _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"
-         _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"
-    ClassDecl    l mctxt dh fds mcds    ->
-        case srcInfoPoints l of
-         _:pts -> do
-            printString "class"
-            maybeEP exactPC mctxt
-            exactPC dh
-            _ <- case fds of
-                    [] -> return pts
-                    _  -> do
-                      let (pts1, pts2) = splitAt (length fds) pts
-                      printInterleaved (zip pts1 ("|":repeat ",")) fds
-                      return pts2
-            maybeEP (\cds ->
-                case pts of
-                 p:pts' -> do
-                    printStringAt (pos p) "where"
-                    layoutList pts' $ sepClassFunBinds cds
-                 _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"
-                ) mcds
-         _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"
-    InstDecl     l movlp ih mids        ->
-        case srcInfoPoints l of
-         _:pts -> do
-            printString "instance"
-            maybeEP exactPC movlp
-            exactPC ih
-            maybeEP (\ids -> do
-                let (p:pts') = pts
-                printStringAt (pos p) "where"
-                layoutList pts' $ sepInstFunBinds ids
-                ) mids
-         _ -> errorEP "ExactP: Decl: InstDecl is given too few srcInfoPoints"
-    DerivDecl    l movlp ih             ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "deriving"
-            printStringAt (pos b) "instance"
-            maybeEP exactPC movlp
-            exactPC ih
-         _ -> errorEP "ExactP: Decl: DerivDecl is given wrong number of srcInfoPoints"
-    InfixDecl    l assoc mprec ops      -> do
-        let pts = srcInfoPoints l
-        exactP assoc
-        pts1 <- case mprec of
-                Nothing -> return pts
-                Just prec ->
-                    case pts of
-                     p:pts' -> do
-                        printStringAt (pos p) (show prec)
-                        return pts'
-                     _ -> errorEP "ExactP: Decl: InfixDecl is given too few srcInfoPoints"
-        printInterleaved' (zip pts1 (repeat ",")) ops
-    DefaultDecl  l ts   ->
-        case srcInfoPoints l of
-         _:pts -> do
-            printString "default"
-            printInterleaved (zip (init pts) ("(":repeat ",")) ts
-            printStringAt (pos (last pts)) ")"
-         _ -> errorEP "ExactP: Decl: DefaultDecl is given too few srcInfoPoints"
-    SpliceDecl   _ spl  -> exactP spl
-    TypeSig      l ns t -> do
-        let pts = srcInfoPoints l
-        printInterleaved' (zip pts (replicate (length pts - 1) "," ++ ["::"])) ns
-        exactPC t
-    PatSynSig l n dh c1 c2 t -> do
-      case srcInfoPoints l of
-        (pat:dc:pts1) -> do
-          printStringAt (pos pat) "pattern"
-          exactPC n
-          printStringAt (pos dc) "::"
-          case dh of
-            Nothing -> return ()
-            Just tvs ->
-              case pts1 of
-                (a:b:_) -> do
-                      printStringAt (pos a) "forall"
-                      mapM_ exactPC tvs
-                      printStringAt (pos b) "."
-                _ -> errorEP "ExactP: Decl: PatSynSig: Forall: is given too few srcInfoPoints"
-          maybeEP exactPC c1
-          maybeEP exactPC c2
-          exactPC t
-        _ -> errorEP "ExactP: Decl: PatSynSig: is given too few srcInfoPoints"
-    FunBind      _ ms   -> mapM_ exactPC ms
-    PatBind      l p rhs mbs -> do
-        let pts = srcInfoPoints l
-        exactP p
-        exactPC rhs
-        maybeEP (\bs -> printStringAt (pos (head pts)) "where" >> exactPC bs) mbs
-    PatSyn l lhs rhs dir ->
-      case srcInfoPoints l of
-        [pat,sepPos] -> do
-          let sep = case dir of
-                      ImplicitBidirectional     -> "="
-                      ExplicitBidirectional _ _ -> "<-"
-                      Unidirectional            -> "<-"
-          printStringAt (pos pat) "pattern"
-          exactPC lhs
-          printStringAt (pos sepPos) sep
-          exactPC rhs
-          case dir of
-            ExplicitBidirectional bl ds -> do
-              case srcInfoPoints bl of
-                (w:pts) -> do
-                  printStringAt (pos w) "where"
-                  layoutList pts ds
-                _ -> errorEP "ExactP: Decl: PaySyn: ExplicitBidirectional is given too few srcInfoPoints"
-            _ -> return ()
-        _ -> errorEP "ExactP: Decl: PatSyn is given too few srcInfoPoints"
-    ForImp       l cc msf mstr n t   ->
-        case srcInfoPoints l of
-         _:b:pts -> do
-            printString "foreign"
-            printStringAt (pos b) "import"
-            exactPC cc
-            maybeEP exactPC msf
-            pts1 <- case mstr of
-                      Nothing -> return pts
-                      Just str -> case pts of
-                                   x:pts' -> do
-                                      printStringAt (pos x) (show str)
-                                      return pts'
-                                   _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"
-            case pts1 of
-             y:_ -> do
-                exactPC n
-                printStringAt (pos y) "::"
-                exactPC t
-             _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"
-         _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"
-    ForExp       l cc mstr n t      ->
-        case srcInfoPoints l of
-         _:b:pts -> do
-            printString "foreign"
-            printStringAt (pos b) "export"
-            exactPC cc
-            pts1 <- case mstr of
-                      Nothing -> return pts
-                      Just str -> case pts of
-                                   x:pts' -> do
-                                      printStringAt (pos x) (show str)
-                                      return pts'
-                                   _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"
-            case pts1 of
-             y:_ -> do
-                exactPC n
-                printStringAt (pos y) "::"
-                exactPC t
-             _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"
-         _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"
-    RulePragmaDecl   l rs   ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "{-# RULES"
-            mapM_ exactPC rs
-            printStringAt (pos b) "#-}"
-         _ -> errorEP "ExactP: Decl: RulePragmaDecl is given too few srcInfoPoints"
-    DeprPragmaDecl   l nstrs ->
-        case srcInfoPoints l of
-         _:pts -> do
-            printString "{-# DEPRECATED"
-            printWarndeprs (map pos (init pts)) nstrs
-            printStringAt (pos (last pts)) "#-}"
-         _ -> errorEP "ExactP: Decl: DeprPragmaDecl is given too few srcInfoPoints"
-    WarnPragmaDecl   l nstrs ->
-        case srcInfoPoints l of
-         _:pts -> do
-            printString "{-# WARNING"
-            printWarndeprs (map pos (init pts)) nstrs
-            printStringAt (pos (last pts)) "#-}"
-         _ -> errorEP "ExactP: Decl: WarnPragmaDecl is given too few srcInfoPoints"
-    InlineSig        l inl mact qn    ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString $ if inl then "{-# INLINE" else "{-# NOINLINE"
-            maybeEP exactPC mact
-            exactPC qn
-            printStringAt (pos b) "#-}"
-         _ -> errorEP "ExactP: Decl: InlineSig is given wrong number of srcInfoPoints"
-    InlineConlikeSig l mact qn    ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "{-# INLINE CONLIKE"
-            maybeEP exactPC mact
-            exactPC qn
-            printStringAt (pos b) "#-}"
-         _ -> errorEP "ExactP: Decl: InlineConlikeSig is given wrong number of srcInfoPoints"
-    SpecSig          l mact qn ts ->
-        case srcInfoPoints l of
-         _:pts -> do
-            printString "{-# SPECIALISE"
-            maybeEP exactPC mact
-            exactPC qn
-            printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts
-         _ -> errorEP "ExactP: Decl: SpecSig is given too few srcInfoPoints"
-    SpecInlineSig    l b mact qn ts ->
-        case srcInfoPoints l of
-         _:pts -> do
-            printString $ "{-# SPECIALISE " ++ if b then "INLINE" else "NOINLINE"
-            maybeEP exactPC mact
-            exactPC qn
-            printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts
-         _ -> errorEP "ExactP: Decl: SpecInlineSig is given too few srcInfoPoints"
-    InstSig          l ih     ->
-        case srcInfoPoints l of
-         [_,b,c] -> do
-            printString "{-# SPECIALISE"
-            printStringAt (pos b) "instance"
-            exactPC ih
-            printStringAt (pos c) "#-}"
-         _ -> errorEP "ExactP: Decl: InstSig is given wrong number of srcInfoPoints"
-    AnnPragma       l ann'       ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "{-# ANN"
-            exactPC ann'
-            printStringAt (pos b) "#-}"
-         _ -> errorEP "ExactP: Decl: AnnPragma is given wrong number of srcInfoPoints"
-    MinimalPragma       l b      ->
-        case srcInfoPoints l of
-         [_,b'] -> do
-            printString "{-# MINIMAL"
-            maybeEP exactPC b
-            printStringAt (pos b') "#-}"
-         _ -> errorEP "ExactP: Decl: MinimalPragma is given wrong number of srcInfoPoints"
-    RoleAnnotDecl l ty roles ->
-      case srcInfoPoints l of
-         (t:r:_) -> do
-            printStringAt (pos t)  "type"
-            printStringAt (pos r)  "role"
-            exactPC ty
-            mapM_ exactPC roles
-         _ -> errorEP "ExactP: Decl: RoleAnnotDecl is given wrong number of srcInfoPoints"
-
-instance ExactP Role where
-  exactP r =
-    case r of
-      RoleWildcard l     -> printStringAt (pos l) "_"
-      Representational l -> printStringAt (pos l) "representational"
-      Phantom l          -> printStringAt (pos l) "phantom"
-      Nominal l          -> printStringAt (pos l) "nominal"
-
-
-instance ExactP Annotation where
-    exactP ann' = case ann' of
-        Ann     _ n e   -> do
-            exactP n
-            exactPC e
-        TypeAnn _ n e   -> do
-            printString "type"
-            exactPC n
-            exactPC e
-        ModuleAnn _ e   -> do
-            printString "module"
-            exactPC e
-
-instance ExactP BooleanFormula where
-    exactP b' = case b' of
-        VarFormula _ n -> exactPC n
-        AndFormula l bs ->
-         let pts = srcInfoPoints l
-         in printStreams (zip (map pos pts) (repeat $ printString ",")) (map (pos . ann &&& exactPC) bs)
-        OrFormula l bs   ->
-         let pts = srcInfoPoints l
-         in printStreams (zip (map pos pts) (repeat $ printString "|")) (map (pos . ann &&& exactPC) bs)
-        ParenFormula l b   ->
-            case srcInfoPoints l of
-                [a'',b''] -> printStringAt (pos a'') "(" >> exactPC b >> printStringAt (pos b'') ")"
-                _ -> errorEP "ExactP: BooleanFormula: ParenFormula is given wrong number of srcInfoPoints"
-
-printWarndeprs :: [Pos] -> [([Name SrcSpanInfo], String)] -> EP ()
-printWarndeprs _ [] = return ()
-printWarndeprs ps' ((ns',str'):nsts') = printWd ps' ns' str' nsts'
-  where printWd :: [Pos] -> [Name SrcSpanInfo] -> String -> [([Name SrcSpanInfo], String)] -> EP ()
-        printWd (p:ps) []  str nsts = printStringAt p (show str) >> printWarndeprs ps nsts
-        printWd ps     [n] str nsts = exactPC n >> printWd ps [] str nsts
-        printWd (p:ps) (n:ns) str nsts = exactPC n >> printStringAt p "," >> printWd ps ns str nsts
-        printWd _ _ _ _ = internalError "printWd"
-
-
-sepFunBinds :: [Decl SrcSpanInfo] -> [Decl SrcSpanInfo]
-sepFunBinds [] = []
-sepFunBinds (FunBind _ ms:ds) = map (\m -> FunBind (ann m) [m]) ms ++ sepFunBinds ds
-sepFunBinds (d:ds) = d : sepFunBinds ds
-
-sepClassFunBinds :: [ClassDecl SrcSpanInfo] -> [ClassDecl SrcSpanInfo]
-sepClassFunBinds [] = []
-sepClassFunBinds (ClsDecl _ (FunBind _ ms):ds) = map (\m -> ClsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepClassFunBinds ds
-sepClassFunBinds (d:ds) = d : sepClassFunBinds ds
-
-sepInstFunBinds :: [InstDecl SrcSpanInfo] -> [InstDecl SrcSpanInfo]
-sepInstFunBinds [] = []
-sepInstFunBinds (InsDecl _ (FunBind _ ms):ds) = map (\m -> InsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepInstFunBinds ds
-sepInstFunBinds (d:ds) = d : sepInstFunBinds ds
-
-instance ExactP DeclHead where
-  exactP dh' = case dh' of
-    DHead _ n           -> exactP n
-    DHInfix _ tva n     -> exactP tva >> epInfixName n
-    DHParen l dh        ->
-        case srcInfoPoints l of
-         [_,b] -> printString "(" >> exactPC dh >> printStringAt (pos b) ")"
-         _ -> errorEP "ExactP: DeclHead: DeclParen is given wrong number of srcInfoPoints"
-    DHApp   _ dh t      -> exactP dh >> exactPC t
-
-instance ExactP InstRule where
-  exactP ih' = case ih' of
-    IRule l mtvs mctxt qn    -> do
-        let pts = srcInfoPoints l
-        _ <- case mtvs of
-                Nothing -> return pts
-                Just tvs ->
-                    case pts of
-                     [a,b] -> do
-                        printStringAt (pos a) "forall"
-                        mapM_ exactPC tvs
-                        printStringAt (pos b) "."
-                        return pts
-                     _ -> errorEP "ExactP: InstRule: IRule is given too few srcInfoPoints"
-        maybeEP exactPC mctxt
-        exactPC qn
-    IParen l ih        ->
-        case srcInfoPoints l of
-         [a,b] -> printStringAt (pos a) "(" >> exactPC ih >> printStringAt (pos b) ")"
-         _ -> errorEP "ExactP: InstRule: IParen is given wrong number of srcInfoPoints"
-
-instance ExactP InstHead where
-   exactP doih' = case doih' of
-    IHCon _ qn      -> exactPC qn
-    IHInfix _ ta qn -> exactPC ta >> epInfixQName qn
-    IHParen l doih  ->
-        case srcInfoPoints l of
-         [a,b] -> printStringAt (pos a) "(" >> exactPC doih >> printStringAt (pos b) ")"
-         _ -> errorEP "ExactP: OrInstHead: IHParen is given wrong number of srcInfoPoints"
-    IHApp _ doih t  -> exactPC doih >> exactPC t
-
-instance ExactP TyVarBind where
-  exactP (KindedVar   l n k) =
-        case srcInfoPoints l of
-         [_,b,c] -> do
-            printString "("
-            exactPC n
-            printStringAt (pos b) "::"
-            exactPC k
-            printStringAt (pos c) ")"
-         _ -> errorEP "ExactP: TyVarBind: KindedVar is given wrong number of srcInfoPoints"
-  exactP (UnkindedVar l n) =
-        case srcInfoPoints l of
-                 [a,_,c] -> do
-                    printStringAt (pos a) "("
-                    exactPC n
-                    printStringAt (pos c) ")"
-                 [] -> 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
-        let pts = srcInfoPoints l
-        _ <- case mtvs of
-                Nothing -> return pts
-                Just tvs ->
-                    case pts of
-                     _:b:pts' -> do
-                        printString "forall"
-                        mapM_ exactPC tvs
-                        printStringAt (pos b) "."
-                        return pts'
-                     _ -> errorEP "ExactP: Type: TyForall is given too few srcInfoPoints"
-        maybeEP exactPC mctxt
-        exactPC t
-    TyFun   l t1 t2 ->
-        case srcInfoPoints l of
-         [a] -> do
-            exactP t1
-            printStringAt (pos a) "->"
-            exactPC t2
-         _ -> errorEP "ExactP: Type: TyFun is given wrong number of srcInfoPoints"
-    TyTuple l bx ts ->
-        case bx of
-          Boxed   -> parenList (srcInfoPoints l) ts
-          Unboxed -> parenHashList (srcInfoPoints l) ts
-    TyList  l t     ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "["
-            exactPC t
-            printStringAt (pos b) "]"
-         _ -> errorEP "ExactP: Type: TyList is given wrong number of srcInfoPoints"
-    TyParArray l t     ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "[:"
-            exactPC t
-            printStringAt (pos b) ":]"
-         _ -> errorEP "ExactP: Type: TyParArray is given wrong number of srcInfoPoints"
-    TyApp   _ t1 t2 -> exactP t1 >> exactPC t2
-    TyVar   _ n     -> exactP n
-    TyCon   _ qn    -> exactP qn
-    TyParen l t     ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "("
-            exactPC t
-            printStringAt (pos b) ")"
-         _ -> errorEP "ExactP: Type: TyParen is given wrong number of srcInfoPoints"
-    TyInfix _ t1 qn t2 -> exactP t1 >> epInfixQName qn >> exactPC t2
-    TyKind  l t kd ->
-        case srcInfoPoints l of
-         [_,b,c] -> do
-            printString "("
-            exactPC t
-            printStringAt (pos b) "::"
-            exactPC kd
-            printStringAt (pos c) ")"
-         _ -> errorEP "ExactP: Type: TyKind is given wrong number of srcInfoPoints"
-    TyPromoted _ p -> exactPC p
-    TyEquals l t0 t1 -> case srcInfoPoints l of
-                          a:_ -> exactPC t0 >> printStringAt (pos a) "~" >> exactPC t1
-                          _   -> errorEP "ExactP: Type: TyEquals is given wrong number of srcInfoPoints"
-
-    TySplice _ sp  -> exactP sp
-    TyBang _ b t -> exactPC b >> exactPC t
-    TyWildCard _ mn      -> printString "_" >> maybeEP exactPC mn
-
-instance ExactP Promoted where
-  exactP (PromotedInteger _ _ rw) = printString rw
-  exactP (PromotedString _ _ rw)  = printString ('\"':rw ++ "\"")
-  exactP (PromotedCon l True qn)  = case srcInfoPoints l of
-    [a] -> printStringAt (pos a) "'" >> epQName qn
-    _ -> errorEP "ExactP: Promoted: PromotedCon is given wrong number of srcInfoPoints"
-  exactP (PromotedCon _ False qn) = epQName qn
-  exactP (PromotedList l b pl) =
-    let o | b = "'[" | otherwise = "["
-        e = "]"
-        pts = srcInfoPoints l
-    in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl
-  exactP (PromotedTuple l pl) =
-    let o = "'("
-        e = ")"
-        pts = srcInfoPoints l
-    in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl
-  exactP (PromotedUnit l) = case srcInfoPoints l of
-    [_,b] -> do
-        printString "("
-        printStringAt (pos b) ")"
-    _ -> errorEP "ExactP: Promoted: PromotedUnit is given wrong number of srcInfoPoints"
-
-
-instance ExactP Context where
-  exactP ctxt = do
-    printContext ctxt
-    printStringAt (pos . last . srcInfoPoints . ann $ ctxt) "=>"
-
-printContext :: Context SrcSpanInfo -> EP ()
-printContext ctxt = do
-    let l = ann ctxt
-        pts = init $ srcInfoPoints l
-    case ctxt of
-     CxSingle _ asst -> exactP asst
-     CxEmpty _ ->
-        case pts of
-         [a,b] -> do
-            printStringAt (pos a) "("
-            printStringAt (pos b) ")"
-         _ -> errorEP "ExactP: Context: CxEmpty is given wrong number of srcInfoPoints"
-     CxTuple _ assts -> parenList pts assts
-
-
-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
-    IParam l ipn t    ->
-        case srcInfoPoints l of
-         [a] -> do
-            exactP ipn
-            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
-            printStringAt (pos a) "("
-            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 ihs) =
-    case srcInfoPoints l of
-     _:pts -> do
-        printString "deriving"
-        case pts of
-         [] -> exactPC $ head ihs
-         _  -> parenList pts ihs
-     _ -> errorEP "ExactP: Deriving is given too few srcInfoPoints"
-
-instance ExactP ClassDecl where
-  exactP cdecl = case cdecl of
-    ClsDecl    _ d -> exactP d
-    ClsDataFam l mctxt dh mk ->
-        case srcInfoPoints l of
-         _:pts -> do
-            printString "data"
-            maybeEP exactPC mctxt
-            exactPC dh
-            maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk
-         _ -> errorEP "ExactP: ClassDecl: ClsDataFam is given too few srcInfoPoints"
-    ClsTyFam   l dh mk  ->
-        case srcInfoPoints l of
-         _:pts -> do
-            printString "type"
-            exactPC dh
-            maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk
-         _ -> errorEP "ExactP: ClassDecl: ClsTyFam is given too few srcInfoPoints"
-    ClsTyDef   l t1 t2  ->
-        case srcInfoPoints l of
-         _:b:c:_ -> do -- 3 sourceInfoPoints implies parsed as "type instance"
-            printString "type"
-            printStringAt (pos b) "instance"
-            exactPC t1
-            printStringAt (pos c) "="
-            exactPC t2
-         _:b:_ -> do
-            printString "type"
-            exactPC t1
-            printStringAt (pos b) "="
-            exactPC t2
-         _ -> errorEP "ExactP: ClassDecl: ClsTyDef is given too few srcInfoPoints"
-    ClsDefSig  l n t    ->
-        case srcInfoPoints l of
-         _:b:_ -> do
-            printString "default"
-            exactPC n
-            printStringAt (pos b) "::"
-            exactPC t
-         _ -> errorEP "ExactP: ClassDecl: ClsDefSig is given too few srcInfoPoints"
-
-
-instance ExactP InstDecl where
-  exactP idecl = case idecl of
-    InsDecl   _ d -> exactP d
-    InsType   l t1 t2 ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "type"
-            exactPC t1
-            printStringAt (pos b) "="
-            exactPC t2
-         _ -> internalError "InstDecl -> InsType"
-    InsData   l dn t constrs mder -> do
-        exactP dn
-        exactPC t
-        printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs
-        maybeEP exactPC mder
-    InsGData  l dn t mk gds mder  -> do
-        let pts = srcInfoPoints l
-        exactP dn
-        exactPC t
-        pts1 <- case mk of
-                Nothing -> return pts
-                Just kd -> case pts of
-                            p:pts' -> do
-                                printStringAt (pos p) "::"
-                                exactPC kd
-                                return pts'
-                            _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"
-        case pts1 of
-         x:_ -> do
-            printStringAt (pos x) "where"
-            mapM_ exactPC gds
-            maybeEP exactPC mder
-         _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"
---  InsInline l inl mact qn   -> do
---        case srcInfoPoints l of
---         [a,b] -> do
---            printString $ if inl then "{-# INLINE" else "{-# NOINLINE"
---            maybeEP exactPC mact
---            exactPC qn
---            printStringAt (pos b) "#-}"
---         _ -> errorEP "ExactP: InstDecl: InsInline is given wrong number of srcInfoPoints"
-
-instance ExactP FunDep where
-  exactP (FunDep l nxs nys) =
-    case srcInfoPoints l of
-     [a] -> do
-        mapM_ exactPC nxs
-        printStringAt (pos a) "->"
-        mapM_ exactPC nys
-     _ -> errorEP "ExactP: FunDep is given wrong number of srcInfoPoints"
-
-instance ExactP QualConDecl where
-  exactP (QualConDecl l mtvs mctxt cd) = do
-        let pts = srcInfoPoints l
-        _ <- case mtvs of
-                Nothing -> return pts
-                Just tvs ->
-                    case pts of
-                     _:b:pts' -> do
-                        printString "forall"
-                        mapM_ exactPC tvs
-                        printStringAt (pos b) "."
-                        return pts'
-                     _ -> errorEP "ExactP: QualConDecl is given wrong number of srcInfoPoints"
-        maybeEP exactPC mctxt
-        exactPC cd
-
-instance ExactP ConDecl where
-  exactP cd = case cd of
-    ConDecl _ n bts -> exactP n >> mapM_ exactPC bts
-    InfixConDecl _ bta n btb -> exactP bta >> epInfixName n >> exactP btb
-    RecDecl l n fds -> exactP n >> curlyList (srcInfoPoints l) fds
-
-instance ExactP GadtDecl where
-  exactP (GadtDecl l n ns' t) =
-    case ns' of
-        Nothing ->
-            case srcInfoPoints l of
-                [a] -> do
-                    exactP n
-                    printStringAt (pos a) "::"
-                    exactPC t
-                _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"
-        Just ts ->
-            case srcInfoPoints l of
-                (a:b:c:d:rest) -> do
-                    exactPC n
-                    printStringAt (pos a) "::"
-                    printStringAt (pos b) "{"
-                    printInterleaved' (zip rest (repeat ",")) ts
-                    printStringAt (pos c) "}"
-                    printStringAt (pos d) "->"
-                    exactPC t
-                _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"
-
-instance ExactP BangType where
-  exactP bt = case bt of
-    BangedTy   l  ->
-        case srcInfoPoints l of
-            [a] -> printStringAt (pos a) "!"
-            _   -> errorEP "ExactP: BangType: BangedTy is given wrong number of srcInfoPoints"
-    UnpackedTy l  ->
-      case srcInfoPoints l of
-       [a,b,c] -> do
-          printStringAt (pos a) "{-# UNPACK"
-          printStringAt (pos b) "#-}"
-          printStringAt (pos c) "!"
-       _ -> errorEP "ExactP: BangType: UnpackedTy is given wrong number of srcInfoPoints"
-
-instance ExactP Splice where
-  exactP (IdSplice _ str) = printString $ '$':str
-  exactP (ParenSplice l e) =
-    case srcInfoPoints l of
-     [_,b] -> do
-        printString "$("
-        exactPC e
-        printStringAt (pos b) ")"
-     _ -> errorEP "ExactP: Splice: ParenSplice is given wrong number of srcInfoPoints"
-
-instance ExactP Exp where
-  exactP exp = case exp of
-    Var _ qn        -> exactP qn
-    IPVar _ ipn     -> exactP ipn
-    Con _ qn        -> exactP qn
-    Lit _ lit       -> exactP lit
-    InfixApp _ e1 op e2 -> exactP e1 >> exactPC op >> exactPC e2
-    App _ e1 e2     -> exactP e1 >> exactPC e2
-    NegApp _ e      -> printString "-" >> exactPC e
-    Lambda l ps e   ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "\\"
-            mapM_ exactPC ps
-            printStringAt (pos b) "->"
-            exactPC e
-         _ -> errorEP "ExactP: Exp: Lambda is given wrong number of srcInfoPoints"
-    Let l bs e      ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "let"
-            exactPC bs
-            printStringAt (pos b) "in"
-            exactPC e
-         _ -> errorEP "ExactP: Exp: Let is given wrong number of srcInfoPoints"
-    If l ec et ee   -> -- traceShow (srcInfoPoints l) $ do
-        -- First we need to sort out if there are any optional
-        -- semicolons hiding among the srcInfoPoints.
-        case srcInfoPoints l of
-         (_:b:c:rest) -> do
-            let (mpSemi1,pThen,rest2) =
-                           if snd (spanSize b) == 4 -- this is "then", not a semi
-                            then (Nothing, b, c:rest)
-                            else (Just b, c, rest)
-            case rest2 of
-              (c':rest3) -> do
-                let (mpSemi2,rest4) = if snd (spanSize c') == 4 -- this is "else", not a semi
-                                       then (Nothing, rest2)
-                                       else (Just c', rest3)
-                case rest4 of
-                  [pElse] -> do
-                    -- real work starts here:
-                    printString "if"
-                    exactPC ec
-                    maybeEP printSemi  mpSemi1
-                    printStringAt (pos pThen) "then"
-                    exactPC et
-                    maybeEP printSemi mpSemi2
-                    printStringAt (pos pElse) "else"
-                    exactPC ee
-                  [] -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"
-                  _  -> errorEP "ExactP: Exp: If is given too many srcInfoPoints"
-              _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"
-
-         _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"
-    MultiIf l alts ->
-        case srcInfoPoints l of
-          _:pts -> do
-            printString "if"
-            layoutList pts (map GuardedAlt alts)
-          _ -> internalError "Exp -> MultiIf"
-    Case l e alts   ->
-        case srcInfoPoints l of
-         _:b:pts -> do
-            printString "case"
-            exactPC e
-            printStringAt (pos b) "of"
-            layoutList pts alts
-         _ -> errorEP "ExactP: Exp: Case is given too few srcInfoPoints"
-    Do l stmts      ->
-        case srcInfoPoints l of
-         _:pts -> do
-            printString "do"
-            layoutList pts stmts
-         _ -> errorEP "ExactP: Exp: Do is given too few srcInfoPoints"
-    MDo l stmts     ->
-        case srcInfoPoints l of
-         _:pts -> do
-            printString "mdo"
-            layoutList pts stmts
-         _ -> errorEP "ExactP: Exp: Mdo is given wrong number of srcInfoPoints"
-    Tuple l bx es   ->
-        case bx of
-          Boxed   -> parenList (srcInfoPoints l) es
-          Unboxed -> parenHashList (srcInfoPoints l) es
-    TupleSection l bx mexps -> do
-        let pts = srcInfoPoints l
-            (o, e) = case bx of Boxed -> ("(", ")"); Unboxed -> ("(#", "#)")
-        printSeq $ interleave (zip (map pos $ init pts) (map printString (o: repeat ",")) ++ [(pos $ last pts, printString e)])
-                              (map (maybe (0,0) (pos . ann) &&& maybeEP exactPC) mexps)
-    List l es               -> squareList (srcInfoPoints l) es
-    ParArray l es           -> squareColonList (srcInfoPoints l) es
-    Paren l p               -> parenList (srcInfoPoints l) [p]
-    LeftSection l e qop     ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "("
-            exactPC e
-            exactPC qop
-            printStringAt (pos b) ")"
-         _ -> errorEP "ExactP: Exp: LeftSection is given wrong number of srcInfoPoints"
-    RightSection l qop e    ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "("
-            exactPC qop
-            exactPC e
-            printStringAt (pos b) ")"
-         _ -> errorEP "ExactP: Exp: RightSection is given wrong number of srcInfoPoints"
-    RecConstr l qn fups     -> do
-        let pts = srcInfoPoints l
-        exactP qn
-        curlyList pts fups
-    RecUpdate l e fups      -> do
-        let pts = srcInfoPoints l
-        exactP e
-        curlyList pts fups
-    EnumFrom l e            ->
-        case srcInfoPoints l of
-         [_,b,c] -> do
-            printString "["
-            exactPC e
-            printStringAt (pos b) ".."
-            printStringAt (pos c) "]"
-         _ -> errorEP "ExactP: Exp: EnumFrom is given wrong number of srcInfoPoints"
-    EnumFromTo l e1 e2      ->
-        case srcInfoPoints l of
-         [_,b,c] -> do
-            printString "["
-            exactPC e1
-            printStringAt (pos b) ".."
-            exactPC e2
-            printStringAt (pos c) "]"
-         _ -> errorEP "ExactP: Exp: EnumFromTo is given wrong number of srcInfoPoints"
-    EnumFromThen l e1 e2    ->
-        case srcInfoPoints l of
-         [_,b,c,d] -> do
-            printString "["
-            exactPC e1
-            printStringAt (pos b) ","
-            exactPC e2
-            printStringAt (pos c) ".."
-            printStringAt (pos d) "]"
-         _ -> errorEP "ExactP: Exp: EnumFromThen is given wrong number of srcInfoPoints"
-    EnumFromThenTo l e1 e2 e3   ->
-        case srcInfoPoints l of
-         [_,b,c,d] -> do
-            printString "["
-            exactPC e1
-            printStringAt (pos b) ","
-            exactPC e2
-            printStringAt (pos c) ".."
-            exactPC e3
-            printStringAt (pos d) "]"
-         _ -> errorEP "ExactP: Exp: EnumFromToThen is given wrong number of srcInfoPoints"
-    ParArrayFromTo l e1 e2      ->
-        case srcInfoPoints l of
-         [_,b,c] -> do
-            printString "[:"
-            exactPC e1
-            printStringAt (pos b) ".."
-            exactPC e2
-            printStringAt (pos c) ":]"
-         _ -> errorEP "ExactP: Exp: ParArrayFromTo is given wrong number of srcInfoPoints"
-    ParArrayFromThenTo l e1 e2 e3   ->
-        case srcInfoPoints l of
-         [_,b,c,d] -> do
-            printString "[:"
-            exactPC e1
-            printStringAt (pos b) ","
-            exactPC e2
-            printStringAt (pos c) ".."
-            exactPC e3
-            printStringAt (pos d) ":]"
-         _ -> errorEP "ExactP: Exp: ParArrayFromToThen is given wrong number of srcInfoPoints"
-    ListComp l e qss            ->
-        case srcInfoPoints l of
-         _:pts -> do
-            printString "["
-            exactPC e
-            bracketList ("|",",","]") pts qss
-         _ -> errorEP "ExactP: Exp: ListComp is given too few srcInfoPoints"
-    ParComp  l e qsss           ->
-        case srcInfoPoints l of
-         _:pts -> do
-            let (strs, qss) = unzip $ pairUp qsss
-            printString "["
-            exactPC e
-            printInterleaved (zip pts (strs ++ ["]"])) qss
-         _ -> errorEP "ExactP: Exp: ParComp is given wrong number of srcInfoPoints"
-      where pairUp [] = []
-            pairUp ((a:as):xs) = ("|", a) : zip (repeat ",") as ++ pairUp xs
-            pairUp _ = internalError "Exp -> ParComp -> pairUp"
-    ParArrayComp  l e qsss           ->
-        case srcInfoPoints l of
-         _:pts -> do
-            let (strs, qss) = unzip $ pairUp qsss
-            printString "[:"
-            exactPC e
-            printInterleaved (zip pts (strs ++ [":]"])) qss
-         _ -> errorEP "ExactP: Exp: ParArrayComp is given wrong number of srcInfoPoints"
-      where pairUp [] = []
-            pairUp ((a:as):xs) = ("|", a) : zip (repeat "|") as ++ pairUp xs
-            pairUp _ = internalError "Exp -> ParArrayComp -> pairUp"
-
-    ExpTypeSig l e t    ->
-        case srcInfoPoints l of
-         [a] -> do
-            exactP e
-            printStringAt (pos a) "::"
-            exactPC t
-         _ -> errorEP "ExactP: Exp: ExpTypeSig is given wrong number of srcInfoPoints"
-    VarQuote _ qn   -> do
-      printString "'"
-      exactPC qn
-    TypQuote _ qn -> do
-      printString "''"
-      exactPC qn
-    BracketExp _ br -> exactP br
-    SpliceExp _ sp  -> exactP sp
-    QuasiQuote _ name qt    -> do
-        let qtLines = lines qt
-        printString $ "[" ++ name ++ "|"
-        sequence_ (intersperse newLine $ map printString qtLines)
-        printString "|]"
-    XTag l xn attrs mat es  ->
-        case srcInfoPoints l of
-         [_,b,c,d,e] -> do
-            printString "<"
-            exactPC xn
-            mapM_ exactPC attrs
-            maybeEP exactPC mat
-            printStringAt (pos b) ">"
-            mapM_ exactPC es
-            printStringAt (pos c) "</"
-            printWhitespace (pos d)
-            exactP xn
-            printStringAt (pos e) ">"
-         -- TODO: Fugly hack/duplication, should be refactored
-         -- For the case when there's an optional semicolon
-         [_,b,semi,c,d,e] -> do
-            printString "<"
-            exactPC xn
-            mapM_ exactPC attrs
-            maybeEP exactPC mat
-            printStringAt (pos b) ">"
-            mapM_ exactPC es
-            printSemi semi
-            printStringAt (pos c) "</"
-            printWhitespace (pos d)
-            exactP xn
-            printStringAt (pos e) ">"
-         _ -> errorEP "ExactP: Exp: XTag is given wrong number of srcInfoPoints"
-    XETag l xn attrs mat    ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "<"
-            exactPC xn
-            mapM_ exactPC attrs
-            maybeEP exactPC mat
-            printStringAt (pos b) "/>"
-         _ -> errorEP "ExactP: Exp: XETag is given wrong number of srcInfoPoints"
-    XPcdata _ str   -> do
-        let strLines = lines str
-        sequence_ (intersperse newLine $ map printString strLines)
-    XExpTag l e     ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "<%"
-            exactPC e
-            printStringAt (pos b) "%>"
-         _ -> errorEP "ExactP: Exp: XExpTag is given wrong number of srcInfoPoints"
-    XChildTag l es  ->
-        case srcInfoPoints l of
-         [_,b,c] -> do
-            printString "<%>"
-            mapM_ exactPC es
-            printStringAt (pos b) "</"
-            printStringAt (pos c) "%>"
-         -- Ugly duplication for when there's an optional semi
-         [_,semi,b,c] -> do
-            printString "<%>"
-            mapM_ exactPC es
-            printSemi semi
-            printStringAt (pos b) "</"
-            printStringAt (pos c) "%>"
-         _ -> errorEP "ExactP: Exp: XChildTag is given wrong number of srcInfoPoints"
-    CorePragma l      str e         ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString $ "{-# CORE " ++ show str
-            printStringAt (pos b) "#-}"
-            exactPC e
-         _ -> errorEP "ExactP: Exp: CorePragma is given wrong number of srcInfoPoints"
-    SCCPragma  l      str e         ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString $ "{-# SCC " ++ show str
-            printStringAt (pos b) "#-}"
-            exactPC e
-         _ -> errorEP "ExactP: Exp: SCCPragma is given wrong number of srcInfoPoints"
-    GenPragma  l      str (i1,i2) (i3,i4) e -> do
-        printStrs $ zip (srcInfoPoints l) ["{-# GENERATED", show str, show i1, ":", show i2, "-", show i3, ":", show i4, "#-}"]
-        exactPC e
-    Proc            l p e   ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "proc"
-            exactPC p
-            printStringAt (pos b) "->"
-            exactPC e
-         _ -> errorEP "ExactP: Exp: Proc is given wrong number of srcInfoPoints"
-    LeftArrApp      l e1 e2 ->
-        case srcInfoPoints l of
-         [a] -> do
-            exactP e1
-            printStringAt (pos a) "-<"
-            exactPC e2
-         _ -> errorEP "ExactP: Exp: LeftArrApp is given wrong number of srcInfoPoints"
-    RightArrApp     l e1 e2 ->
-        case srcInfoPoints l of
-         [a] -> do
-            exactP e1
-            printStringAt (pos a) ">-"
-            exactPC e2
-         _ -> errorEP "ExactP: Exp: RightArrApp is given wrong number of srcInfoPoints"
-    LeftArrHighApp  l e1 e2 ->
-        case srcInfoPoints l of
-         [a] -> do
-            exactP e1
-            printStringAt (pos a) "-<<"
-            exactPC e2
-         _ -> errorEP "ExactP: Exp: LeftArrHighApp is given wrong number of srcInfoPoints"
-    RightArrHighApp l e1 e2 ->
-        case srcInfoPoints l of
-         [a] -> do
-            exactP e1
-            printStringAt (pos a) ">>-"
-            exactPC e2
-         _ -> errorEP "ExactP: Exp: RightArrHighApp is given wrong number of srcInfoPoints"
-
-    LCase l alts   ->
-        case srcInfoPoints l of
-         _:b:pts -> do
-            printString "\\"
-            printStringAt (pos b) "case"
-            layoutList pts alts
-         _ -> errorEP "ExactP: Exp: LCase is given wrong number of srcInfoPoints"
-    ExprHole _ -> printString "_"
-
-instance ExactP FieldUpdate where
-  exactP fup = case fup of
-    FieldUpdate l qn e  ->
-      case srcInfoPoints l of
-       [a] -> do
-          exactP qn
-          printStringAt (pos a) "="
-          exactPC e
-       _ -> errorEP "ExactP: FieldUpdate is given wrong number of srcInfoPoints"
-    FieldPun _ n    -> exactP n
-    FieldWildcard _ -> printString ".."
-
-instance ExactP Stmt where
-  exactP stmt = case stmt of
-    Generator l p e ->
-      case srcInfoPoints l of
-       [a] -> do
-          exactP p
-          printStringAt (pos a) "<-"
-          exactPC e
-       _ -> errorEP "ExactP: Stmt: Generator is given wrong number of srcInfoPoints"
-    Qualifier _ e -> exactP e
-    LetStmt _ bds   -> do
-      printString "let"
-      exactPC bds
-    RecStmt l ss    ->
-      case srcInfoPoints l of
-       _:pts -> do
-          printString "rec"
-          layoutList pts ss
-       _ -> errorEP "ExactP: Stmt: RecStmt is given too few srcInfoPoints"
-
-instance ExactP QualStmt where
-  exactP qstmt = case qstmt of
-    QualStmt     _ stmt -> exactP stmt
-    ThenTrans    _ e    -> printString "then" >> exactPC e
-    ThenBy      l e1 e2 ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "then"
-            exactPC e1
-            printStringAt (pos b) "by"
-            exactPC e2
-         _ -> errorEP "ExactP: QualStmt: ThenBy is given wrong number of srcInfoPoints"
-    GroupBy      l e        -> do
-        printStrs $ zip (srcInfoPoints l) ["then","group","by"]
-        exactPC e
-    GroupUsing   l e        -> do
-        printStrs $ zip (srcInfoPoints l) ["then","group","using"]
-        exactPC e
-    GroupByUsing l e1 e2    -> do
-        let pts = srcInfoPoints l
-        printStrs $ zip (init pts) ["then","group","by"]
-        exactPC e1
-        printStringAt (pos (last pts)) "using"
-        exactPC e2
-
-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"
-    DeclBracket l ds ->
-        case srcInfoPoints l of
-         pts@(_:_) -> do
-            printString "[d|"
-            layoutList (init pts) (sepFunBinds ds)
-            printStringAt (pos (last pts)) "|]"
-         _ -> errorEP "ExactP: Bracket: DeclBracket is given too few srcInfoPoints"
-
-instance ExactP XAttr where
-  exactP (XAttr l xn e) =
-    case srcInfoPoints l of
-     [a] -> do
-        exactP xn
-        printStringAt (pos a) "="
-        exactPC e
-     _ -> errorEP "ExactP: XAttr is given wrong number of srcInfoPoints"
-
-instance ExactP Alt where
-  exactP (Alt l p galts mbs) = do
-    exactP p
-    exactPC (GuardedAlts galts)
-    maybeEP (\bs -> printStringAt (pos (head (srcInfoPoints l))) "where" >> exactPC bs) mbs
-
-instance ExactP Match where
-  exactP (Match l n ps rhs mbinds) = do
-    let pts = srcInfoPoints l
-        len = length pts
-        pars = len `div` 2
-        (oPars,cParsWh) = splitAt pars pts
-        (cPars,_) = splitAt pars cParsWh    -- _§ is either singleton or empty
-    printStrs (zip oPars (repeat "("))
-    exactPC n
-    printStreams (zip (map pos cPars) (repeat $ printString ")")) (map (pos . ann &&& exactPC) ps)
-    exactPC rhs
-    maybeEP (\bds -> printStringAt (pos (head pts)) "where" >> exactPC bds) mbinds
-  exactP (InfixMatch l a n bs rhs mbinds) = do
-    let pts = srcInfoPoints l
-        len = length pts
-        pars = len `div` 2
-        (oPars,cParsWh) = splitAt pars pts
-        (cPars,whPt) = splitAt pars cParsWh    -- whPt is either singleton or empty
-    printStrs (zip oPars (repeat "("))
-    exactPC a
-    epInfixName n
-    printInterleaved' (zip cPars (repeat ")")) bs
-    exactPC rhs
-    maybeEP (\bds -> printStringAt (pos (head whPt)) "where" >> exactPC bds) mbinds
-
-instance ExactP Rhs where
-  exactP (UnGuardedRhs _ e) = printString "=" >> exactPC e
-  exactP (GuardedRhss  _ grhss) = mapM_ exactPC grhss
-
-instance ExactP GuardedRhs where
-  exactP (GuardedRhs l ss e) =
-    case srcInfoPoints l of
-     _:pts -> do
-        printString "|"
-        printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "=")]) ss
-        exactPC e
-     _ -> errorEP "ExactP: GuardedRhs is given wrong number of srcInfoPoints"
-
-newtype GuardedAlts l = GuardedAlts (Rhs l)
-    deriving (Functor, Show)
-instance Annotated GuardedAlts where
-    amap f (GuardedAlts v) = GuardedAlts (amap f v)
-    ann (GuardedAlts v) = ann v
-
-newtype GuardedAlt l = GuardedAlt (GuardedRhs l)
-    deriving (Functor, Show)
-instance Annotated GuardedAlt where
-    amap f (GuardedAlt v) = GuardedAlt (amap f v)
-    ann (GuardedAlt v) = ann v
-
-instance ExactP GuardedAlts where
-  exactP (GuardedAlts (UnGuardedRhs _ e)) = printString "->" >> exactPC e
-  exactP (GuardedAlts (GuardedRhss  _ grhss)) = mapM_ (exactPC . GuardedAlt) grhss
-
-instance ExactP GuardedAlt where
-  exactP (GuardedAlt (GuardedRhs l ss e)) =
-    case srcInfoPoints l of
-     _:pts -> do
-        printString "|"
-        printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "->")]) ss
-        exactPC e
-     _ -> errorEP "ExactP: GuardedAlt is given wrong number of srcInfoPoints"
-
-instance ExactP Pat where
-  exactP pat = case pat of
-    PVar l n    -> exactPC (fmap (const l) n)
-    PLit _ sg lit -> exactPC sg >> exactPC lit
-    PNPlusK l n k   ->
-        case srcInfoPoints l of
-         [a,b] -> do
-            exactP n
-            printStringAt (pos a) "+"
-            printStringAt (pos b) (show k)
-         _ -> errorEP "ExactP: Pat: PNPlusK is given wrong number of srcInfoPoints"
-    PInfixApp _ pa qn pb -> exactP pa >> epInfixQName qn >> exactPC pb
-    PApp _ qn ps    -> exactP qn >> mapM_ exactPC ps
-    PTuple l bx ps ->
-        case bx of
-          Boxed   -> parenList (srcInfoPoints l) ps
-          Unboxed -> parenHashList (srcInfoPoints l) ps
-    PList l ps  -> squareList (srcInfoPoints l) ps
-    PParen l p  -> parenList (srcInfoPoints l) [p]
-    PRec l qn pfs   -> exactP qn >> curlyList (srcInfoPoints l) pfs
-    PAsPat l n p    ->
-        case srcInfoPoints l of
-         [a] -> do
-            exactP n
-            printStringAt (pos a) "@"
-            exactPC p
-         _ -> errorEP "ExactP: Pat: PAsPat is given wrong number of srcInfoPoints"
-    PWildCard _ -> printString "_"
-    PIrrPat _ p -> printString "~" >> exactPC p
-    PatTypeSig l p t ->
-        case srcInfoPoints l of
-         [a] -> do
-            exactP p
-            printStringAt (pos a) "::"
-            exactPC t
-         _ -> errorEP "ExactP: Pat: PatTypeSig is given wrong number of srcInfoPoints"
-    PViewPat l e p ->
-        case srcInfoPoints l of
-         [a] -> do
-            exactP e
-            printStringAt (pos a) "->"
-            exactPC p
-         _ -> errorEP "ExactP: Pat: PViewPat is given wrong number of srcInfoPoints"
-    PRPat l rps -> squareList (srcInfoPoints l) rps
-    PXTag l xn attrs mat ps ->
-        case srcInfoPoints l of
-         [_,b,c,d,e] -> do
-            printString "<"
-            exactPC xn
-            mapM_ exactPC attrs
-            maybeEP exactPC mat
-            printStringAt (pos b) ">"
-            mapM_ exactPC ps
-            printStringAt (pos c) "</"
-            printWhitespace (pos d)
-            exactP xn
-            printStringAt (pos e) ">"
-         -- Optional semi
-         [_,b,semi,c,d,e] -> do
-            printString "<"
-            exactPC xn
-            mapM_ exactPC attrs
-            maybeEP exactPC mat
-            printStringAt (pos b) ">"
-            mapM_ exactPC ps
-            printSemi semi
-            printStringAt (pos c) "</"
-            printWhitespace (pos d)
-            exactP xn
-            printStringAt (pos e) ">"
-         _ -> errorEP "ExactP: Pat: PXTag is given wrong number of srcInfoPoints"
-    PXETag l xn attrs mat ->
-        case srcInfoPoints l of
-         [_,b] -> do
-            printString "<"
-            exactPC xn
-            mapM_ exactPC attrs
-            maybeEP exactPC mat
-            printStringAt (pos b) "/>"
-         _ -> errorEP "ExactP: Pat: PXETag is given wrong number of srcInfoPoints"
-    PXPcdata _ str -> printString str
-    PXPatTag l p   ->
-        case srcInfoPoints l of
-         [_,_] -> do
-            printString "<%"
-            exactPC p
-            printString "%>"
-         _ -> errorEP "ExactP: Pat: PXPatTag is given wrong number of srcInfoPoints"
-    PXRPats  l rps  -> bracketList ("<[",",","]>") (srcInfoPoints l) rps
-    PQuasiQuote _ name qt   -> printString $ "[$" ++ name ++ "|" ++ qt ++ "]"
-    PBangPat _ p    -> printString "!" >> exactPC p
-
-instance ExactP PatField where
-  exactP pf = case pf of
-    PFieldPat l qn p        ->
-        case srcInfoPoints l of
-         [a] -> do
-            exactP qn
-            printStringAt (pos a) "="
-            exactPC p
-         _ -> errorEP "ExactP: PatField: PFieldPat is given wrong number of srcInfoPoints"
-    PFieldPun _ n   -> exactP n
-    PFieldWildcard _ -> printString ".."
-
-instance ExactP RPat where
-  exactP rpat = case rpat of
-    RPOp _ rp op    -> exactP rp >> exactPC op
-    RPEither l r1 r2 ->
-      case srcInfoPoints l of
-       [a] -> do
-          exactP r1
-          printStringAt (pos a) "|"
-          exactPC r2
-       _ -> errorEP "ExactP: RPat: RPEither is given wrong number of srcInfoPoints"
-    RPSeq l rps -> bracketList ("(|",",","|)") (srcInfoPoints l) rps
-    RPGuard l p stmts   ->
-      case srcInfoPoints l of
-       _:pts -> do
-          printString "(|"
-          exactPC p
-          bracketList ("|",",","|)") pts stmts
-       _ -> errorEP "ExactP: RPat: RPGuard is given wrong number of srcInfoPoints"
-    RPCAs l n rp    ->
-      case srcInfoPoints l of
-       [a] -> do
-          exactP n
-          printStringAt (pos a) "@:"
-          exactPC rp
-       _ -> errorEP "ExactP: RPat: RPCAs is given wrong number of srcInfoPoints"
-    RPAs l n rp     ->
-      case srcInfoPoints l of
-       [a] -> do
-          exactP n
-          printStringAt (pos a) "@"
-          exactPC rp
-       _ -> errorEP "ExactP: RPat: RPAs is given wrong number of srcInfoPoints"
-    RPParen l rp    -> parenList (srcInfoPoints l) [rp]
-    RPPat _ p   -> exactP p
-
-instance ExactP RPatOp where
-  exactP rop = printString $ case rop of
-    RPStar  _  -> "*"
-    RPStarG _  -> "*!"
-    RPPlus  _  -> "+"
-    RPPlusG _  -> "+!"
-    RPOpt   _  -> "?"
-    RPOptG  _  -> "?!"
-
-instance ExactP PXAttr where
-  exactP (PXAttr l xn p) =
-    case srcInfoPoints l of
-     [a] -> do
-        exactP xn
-        printStringAt (pos a) "="
-        exactPC p
-     _ -> errorEP "ExactP: PXAttr is given wrong number of srcInfoPoints"
-
-instance ExactP XName where
-  exactP xn = case xn of
-    XName _ name -> printString name
-    XDomName l dom name ->
-        case srcInfoPoints l of
-         [_,b,c] -> do
-            printString dom
-            printStringAt (pos b) ":"
-            printStringAt (pos c) name
-         _ -> errorEP "ExactP: XName: XDomName is given wrong number of srcInfoPoints"
-
-instance ExactP Binds where
-  exactP (BDecls  l ds)  = layoutList (srcInfoPoints l) (sepFunBinds ds)
-  exactP (IPBinds l ips) = layoutList (srcInfoPoints l) ips
-
-instance ExactP CallConv where
-  exactP (StdCall    _) = printString "stdcall"
-  exactP (CCall      _) = printString "ccall"
-  exactP (CPlusPlus  _) = printString "cplusplus"
-  exactP (DotNet     _) = printString "dotnet"
-  exactP (Jvm        _) = printString "jvm"
-  exactP (Js         _) = printString "js"
-  exactP (JavaScript _) = printString "javascript"
-  exactP (CApi       _) = printString "capi"
-
-instance ExactP Safety where
-  exactP (PlayRisky _) = printString "unsafe"
-  exactP (PlaySafe _ b) = printString $ if b then "threadsafe" else "safe"
-  exactP (PlayInterruptible _) = printString "interruptible"
-
-instance ExactP Rule where
-  exactP (Rule l str mact mrvs e1 e2) =
-    case srcInfoPoints l of
-     _:pts -> do
-        printString (show str)
-        maybeEP exactP mact
-        pts1 <- case mrvs of
-                Nothing -> return pts
-                Just rvs ->
-                    case pts of
-                     a':b:pts' -> do
-                        printStringAt (pos a') "forall"
-                        mapM_ exactPC rvs
-                        printStringAt (pos b) "."
-                        return pts'
-                     _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"
-        case pts1 of
-         [x] -> do
-            exactPC e1
-            printStringAt (pos x) "="
-            exactPC e2
-         _ -> errorEP "ExactP: Rule is given wrong number of srcInfoPoints"
-     _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"
-
-instance ExactP RuleVar where
-  exactP (TypedRuleVar l n t) =
-        case srcInfoPoints l of
-         [_,b,c] -> do
-            printString "("
-            exactPC n
-            printStringAt (pos b) "::"
-            exactPC t
-            printStringAt (pos c) ")"
-         _ -> errorEP "ExactP: RuleVar: TypedRuleVar is given wrong number of srcInfoPoints"
-  exactP (RuleVar _ n) = exactP n
-
-instance ExactP Overlap where
-  exactP (NoOverlap _) =
-    printString "{-# NO_OVERLAP #-}"
-  exactP (Overlap _) =
-    printString "{-# OVERLAP #-}"
-  exactP (Incoherent _) =
-    printString "{-# INCOHERENT #-}"
-
-instance ExactP Activation where
-  exactP (ActiveFrom   l i) =
-    printPoints l ["[", show i, "]"]
-  exactP (ActiveUntil  l i) =
-    printPoints l ["[", "~", show i, "]"]
-
-instance ExactP FieldDecl where
-  exactP (FieldDecl l ns bt) = do
-    let pts = srcInfoPoints l
-    printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "::")]) ns
-    exactPC bt
-
-instance ExactP IPBind where
-  exactP (IPBind l ipn e) =
-    case srcInfoPoints l of
-     [a] -> do
-        exactP ipn
-        printStringAt (pos a) "="
-        exactPC e
-     _ -> errorEP "ExactP: IPBind is given wrong number of srcInfoPoints"
-
--- Hopefully, this will never fire.
--- If it does, hopefully by that time https://github.com/sol/rewrite-with-location
--- will be implemented.
--- If not, then removing all calls to internalError should give a better
--- idea where the error comes from.
--- So far, it's necessary to eliminate non-exhaustive patterns warnings.
--- We don't want to turn them off, as we want unhandled AST nodes to be
--- reported.
-internalError :: String -> a
-internalError loc' = error $ unlines
-    [ "haskell-src-exts: ExactPrint: internal error (non-exhaustive pattern)"
-    , "Location: " ++ loc'
-    , "This is either caused by supplying incorrect location information or by"
-    , "a bug in haskell-src-exts. If this happens on an unmodified AST obtained"
-    , "by the haskell-src-exts Parser it is a bug, please it report it at"
-    , "https://github.com/haskell-suite/haskell-src-exts"]
diff --git a/src/Language/Haskell/Exts/Annotated/Fixity.hs b/src/Language/Haskell/Exts/Annotated/Fixity.hs
deleted file mode 100644
--- a/src/Language/Haskell/Exts/Annotated/Fixity.hs
+++ /dev/null
@@ -1,353 +0,0 @@
------------------------------------------------------------------------------
--- |
--- Module      :  Language.Haskell.Exts.Annotated.Fixity
--- Copyright   :  (c) Niklas Broberg 2009
--- License     :  BSD-style (see the file LICENSE.txt)
---
--- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
--- Stability   :  stable
--- Portability :  portable
---
--- Fixity information to give the parser so that infix operators can
--- be parsed properly.
---
------------------------------------------------------------------------------
-module Language.Haskell.Exts.Annotated.Fixity
-    (
-    -- * Fixity representation
-      Fixity(..)
-    -- | The following three functions all create lists of
-    --   fixities from textual representations of operators.
-    --   The intended usage is e.g.
-    --
-    -- > fixs = infixr_ 0  ["$","$!","`seq`"]
-    --
-    --   Note that the operators are expected as you would
-    --   write them infix, i.e. with ` characters surrounding
-    --   /varid/ operators, and /varsym/ operators written as is.
-    , infix_, infixl_, infixr_
-    -- ** Collections of fixities
-    , preludeFixities, baseFixities
-
-    -- * Applying fixities to an AST
-    , AppFixity(..)
-    ) where
-
-import Language.Haskell.Exts.Annotated.Syntax
-import Language.Haskell.Exts.SrcLoc
-
-import Language.Haskell.Exts.Fixity ( Fixity(..), infix_, infixl_, infixr_, preludeFixities, baseFixities, prefixMinusFixity )
-import qualified Language.Haskell.Exts.Syntax as S ( Assoc(..), QOp(..), QName(..), Name(..), SpecialCon(..), ModuleName )
-import Language.Haskell.Exts.Annotated.Simplify ( sQOp, sAssoc, sQName, sModuleHead, sName )
-
-import Control.Monad (when, (<=<), liftM, liftM2, liftM3, liftM4)
-import Data.Traversable (mapM)
-import Data.Maybe (fromMaybe)
-import Prelude hiding (mapM)
-
--- | All AST elements that may include expressions which in turn may
---   need fixity tweaking will be instances of this class.
-class AppFixity ast where
-  -- | 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.
-
-
-instance AppFixity Exp where
-  applyFixities fixs' = infFix fixs' <=< leafFix fixs'
-    where -- This is the real meat case. We can assume a left-associative list to begin with.
-          infFix fixs (InfixApp l2 a op2 z) = do
-              e <- infFix fixs a
-              let fixup (a1,p1) (a2,p2) y pre = do
-                      when (p1 == p2 && (a1 /= a2 || a1 == S.AssocNone)) -- Ambiguous infix expression!
-                           $ fail "Ambiguous infix expression"
-                      if p1 > p2 || p1 == p2 && (a1 == S.AssocLeft || a2 == S.AssocNone) -- Already right order
-                       then return $ InfixApp l2 e op2 z
-                       else liftM pre (infFix fixs $ InfixApp (ann y <++> ann z) y op2 z)
-              case e of
-               InfixApp _ x op1 y -> fixup (askFixity fixs op1) (askFixity fixs op2) y (InfixApp l2 x op1)
-               NegApp   _       y -> fixup prefixMinusFixity    (askFixity fixs op2) y (NegApp l2)
-               _  -> return $ InfixApp l2 e op2 z
-
-          infFix _ e = return e
-
---ambOps l = ParseFailed (getPointLoc l) $ "Ambiguous infix expression"
-
-instance AppFixity Pat where
-  applyFixities fixs' = infFix fixs' <=< leafFixP fixs'
-    where -- This is the real meat case. We can assume a left-associative list to begin with.
-          infFix fixs (PInfixApp l2 a op2 z) = do
-              p <- infFix fixs a
-              let fixup (a1,p1) (a2,p2) y pre = do
-                      when (p1 == p2 && (a1 /= a2 || a1 == S.AssocNone )) -- Ambiguous infix expression!
-                           $ fail "Ambiguous infix expression"
-                      if p1 > p2 || p1 == p2 && (a1 == S.AssocLeft || a2 == S.AssocNone) -- Already right order
-                       then return $ PInfixApp l2 p op2 z
-                       else liftM pre (infFix fixs $ PInfixApp (ann y <++> ann z) y op2 z)
-              case p of
-               PInfixApp _ x op1 y -> fixup (askFixityP fixs op1) (askFixityP fixs op2) y (PInfixApp l2 x op1)
-               _  -> return $ PInfixApp l2 p op2 z
-
-          infFix _ p = return p
-
--- Internal: lookup associativity and precedence of an operator
-askFixity :: [Fixity] -> QOp l -> (S.Assoc, Int)
-askFixity xs k = askFix xs (f $ sQOp k) -- undefined -- \k -> askFixityP xs (f k) -- lookupWithDefault (AssocLeft, 9) (f k) mp
-    where
-        f (S.QVarOp x) = g x
-        f (S.QConOp x) = g x
-
-        g (S.Special S.Cons) = S.UnQual (S.Symbol ":")
-        g x                  = x
-
--- Same using patterns
-askFixityP :: [Fixity] -> QName l -> (S.Assoc, Int)
-askFixityP xs qn = askFix xs (g $ sQName qn)
-    where
-        g (S.Special S.Cons) = S.UnQual (S.Symbol ":")
-        g x                  = x
-
-askFix :: [Fixity] -> S.QName -> (S.Assoc, Int)
-askFix xs = \k -> lookupWithDefault (S.AssocLeft, 9) k mp
-    where
-        lookupWithDefault def k mp' = fromMaybe def $ lookup k mp'
-
-        mp = [(x,(a,p)) | Fixity a p x <- xs]
-
-
--------------------------------------------------------------------
--- Boilerplate - yuck!! Everything below here is internal stuff
-
-instance AppFixity Module where
-    applyFixities fixs (Module l mmh prs imp decls) =
-        liftM (Module l mmh prs imp) $ appFixDecls (Just mn) fixs decls
-      where (mn, _, _) = sModuleHead mmh
-    applyFixities fixs (XmlPage l mn os xn xas mexp cs) =
-        liftM3 (XmlPage l mn os xn) (fix xas) (fix mexp) (fix cs)
-      where fix xs = mapM (applyFixities fixs) xs
-    applyFixities fixs (XmlHybrid l mmh prs imp decls xn xas mexp cs) =
-        liftM4 (flip (XmlHybrid l mmh prs imp) xn) (appFixDecls (Just mn) fixs decls)
-                (fixe xas) (fixe mexp) (fixe cs)
-      where fixe xs = let extraFixs = getFixities (Just mn) decls
-                       in mapM (applyFixities (fixs++extraFixs)) xs
-            (mn, _, _) = sModuleHead mmh
-
-instance AppFixity Decl where
-    applyFixities fixs decl = case decl of
-        ClassDecl l ctxt dh deps cdecls   -> liftM (ClassDecl l ctxt dh deps) $ mapM (mapM fix) cdecls
-        InstDecl  l olp ih idecls         -> liftM (InstDecl  l olp ih)  $ mapM (mapM fix) idecls
-        SpliceDecl l spl        -> liftM (SpliceDecl l) $ fix spl
-        FunBind l matches       -> liftM (FunBind l) $ mapM fix matches
-        PatBind l p rhs bs      ->
-         let extraFix x = applyFixities (fixs ++ maybe [] getBindFixities bs) x
-          in liftM3 (PatBind l) (extraFix p) (extraFix rhs) (mapM extraFix bs)
-        AnnPragma l ann'         -> liftM (AnnPragma l) $ fix ann'
-        _                       -> return decl
-      where fix x = applyFixities fixs x
-
-appFixDecls :: Monad m => Maybe S.ModuleName -> [Fixity] -> [Decl SrcSpanInfo] -> m [Decl SrcSpanInfo]
-appFixDecls mmdl fixs decls =
-    let extraFixs = getFixities mmdl decls
-     in mapM (applyFixities (fixs++extraFixs)) decls
-
-getFixities :: Maybe S.ModuleName -> [Decl l] -> [Fixity]
-getFixities mmdl = concatMap (getFixity mmdl)
-
-getFixity :: Maybe S.ModuleName -> Decl l -> [Fixity]
-getFixity mmdl d =
-  case d of
-    InfixDecl _ a mp ops  -> let p = fromMaybe 9 mp
-                              in map (Fixity (sAssoc a) p) (concatMap g ops)
-    ClassDecl _ _ _ _ cds -> maybe [] (concatMap getClassFixity) cds
-    _ -> []
-  where g (VarOp _ x) = f $ sName x
-        g (ConOp _ x) = f $ sName x
-        f x = case mmdl of
-              Nothing -> [            S.UnQual x]
-              Just m  -> [S.Qual m x, S.UnQual x]
-        getClassFixity (ClsDecl _ cd) = getFixity mmdl cd
-        getClassFixity _              = []
-
-getBindFixities :: Binds l -> [Fixity]
-getBindFixities bs = case bs of
-                        BDecls _ ds -> getFixities Nothing ds
-                        _           -> []
-
-instance AppFixity Annotation where
-    applyFixities fixs ann' = case ann' of
-        Ann     l n e   -> liftM (Ann l n) $ fix e
-        TypeAnn l n e   -> liftM (TypeAnn l n) $ fix e
-        ModuleAnn l e   -> liftM (ModuleAnn l) $ fix e
-      where fix x = applyFixities fixs x
-
-instance AppFixity ClassDecl where
-    applyFixities fixs (ClsDecl l decl) = liftM (ClsDecl l) $ applyFixities fixs decl
-    applyFixities _ cdecl = return cdecl
-
-instance AppFixity InstDecl where
-    applyFixities fixs (InsDecl l decl) = liftM (InsDecl l) $ applyFixities fixs decl
-    applyFixities _ idecl = return idecl
-
-instance AppFixity Match where
-    applyFixities fixs match = case match of
-        Match l n ps rhs bs -> liftM3 (Match l n) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)
-        InfixMatch l a n ps rhs bs -> liftM4 (flip (InfixMatch l) n) (fix bs a) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)
-      where fix bs x = applyFixities fixs' x
-             where fixs' = fixs ++ maybe [] getBindFixities bs
-
-instance AppFixity Rhs where
-    applyFixities fixs rhs = case rhs of
-        UnGuardedRhs l e      -> liftM (UnGuardedRhs l) $ fix e
-        GuardedRhss l grhss   -> liftM (GuardedRhss l) $ mapM fix grhss
-      where fix x = applyFixities fixs x
-
-instance AppFixity GuardedRhs where
-    applyFixities fixs (GuardedRhs l stmts e) = liftM2 (GuardedRhs l) (mapM fix stmts) $ fix e
-      where fix x = applyFixities fixs x
-
-instance AppFixity PatField where
-    applyFixities fixs (PFieldPat l n p) = liftM (PFieldPat l n) $ applyFixities fixs p
-    applyFixities _ pf = return pf
-
-instance AppFixity RPat where
-    applyFixities fixs rp' = case rp' of
-        RPOp l rp op          -> liftM (flip (RPOp l) op) $ fix rp
-        RPEither l a b        -> liftM2 (RPEither l) (fix a) (fix b)
-        RPSeq l rps           -> liftM (RPSeq l) $ mapM fix rps
-        RPGuard l p stmts     -> liftM2 (RPGuard l) (fix p) $ mapM fix stmts
-        RPCAs l n rp          -> liftM (RPCAs l n) $ fix rp
-        RPAs l n rp           -> liftM (RPAs l n) $ fix rp
-        RPParen l rp          -> liftM (RPParen l) $ fix rp
-        RPPat l p             -> liftM (RPPat l) $ fix p
-      where fix x = applyFixities fixs x
-
-instance AppFixity PXAttr where
-    applyFixities fixs (PXAttr l n p) = liftM (PXAttr l n) $ applyFixities fixs p
-
-instance AppFixity Stmt where
-    applyFixities fixs stmt = case stmt of
-        Generator l p e       -> liftM2 (Generator l) (fix p) (fix e)
-        Qualifier l e         -> liftM (Qualifier l) $ fix e
-        LetStmt l bs          -> liftM (LetStmt l) $ fix bs    -- special behavior
-        RecStmt l stmts       -> liftM (RecStmt l) $ mapM fix stmts
-      where fix x = applyFixities fixs x
-
-instance AppFixity Binds where
-    applyFixities fixs bs = case bs of
-        BDecls l decls        -> liftM (BDecls l) $ appFixDecls Nothing fixs decls  -- special behavior
-        IPBinds l ips         -> liftM (IPBinds l) $ mapM fix ips
-      where fix x = applyFixities fixs x
-
-
-instance AppFixity IPBind where
-    applyFixities fixs (IPBind l n e) = liftM (IPBind l n) $ applyFixities fixs e
-
-instance AppFixity FieldUpdate where
-    applyFixities fixs (FieldUpdate l n e) = liftM (FieldUpdate l n) $ applyFixities fixs e
-    applyFixities _ fup = return fup
-
-instance AppFixity Alt where
-    applyFixities fixs (Alt l p galts bs) = liftM3 (Alt l) (fix p) (fix galts) (mapM fix bs)
-      where fix x = applyFixities fixs x
-
-instance AppFixity QualStmt where
-    applyFixities fixs qstmt = case qstmt of
-        QualStmt     l s      -> liftM (QualStmt l) $ fix s
-        ThenTrans    l e      -> liftM (ThenTrans l) $ fix e
-        ThenBy       l e1 e2  -> liftM2 (ThenBy l) (fix e1) (fix e2)
-        GroupBy      l e      -> liftM (GroupBy l) (fix e)
-        GroupUsing   l e      -> liftM (GroupUsing l) (fix e)
-        GroupByUsing l e1 e2  -> liftM2 (GroupByUsing l) (fix e1) (fix e2)
-      where fix x = applyFixities fixs x
-
-instance AppFixity Bracket where
-    applyFixities fixs br = case br of
-        ExpBracket l e    -> liftM (ExpBracket l) $ fix e
-        PatBracket l p    -> liftM (PatBracket l) $ fix p
-        DeclBracket l ds  -> liftM (DeclBracket l) $ mapM fix ds
-        _                 -> return br
-      where fix x = applyFixities fixs x
-
-instance AppFixity Splice where
-    applyFixities fixs (ParenSplice l e) = liftM (ParenSplice l) $ applyFixities fixs e
-    applyFixities _ s = return s
-
-instance AppFixity XAttr where
-    applyFixities fixs (XAttr l n e) = liftM (XAttr l n) $ applyFixities fixs e
-
-
--- the boring boilerplate stuff for expressions too
--- 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 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)
-    NegApp l e                -> liftM (NegApp l) $ fix e
-    Lambda l pats e           -> liftM2 (Lambda l) (mapM fix pats) $ fix e
-    Let l bs e                ->
-        let extraFix x = applyFixities (fixs ++ getBindFixities bs) x
-         in liftM2 (Let l) (extraFix bs) $ extraFix e
-    If l e a b                -> liftM3 (If l) (fix e) (fix a) (fix b)
-    MultiIf l alts            -> liftM (MultiIf l) (mapM fix alts)
-    Case l e alts             -> liftM2 (Case l) (fix e) $ mapM fix alts
-    Do l stmts                -> liftM (Do l) $ mapM fix stmts
-    MDo l stmts               -> liftM (MDo l) $ mapM fix stmts
-    Tuple l bx exps           -> liftM (Tuple l bx) $ mapM fix exps
-    List l exps               -> liftM (List l) $ mapM fix  exps
-    Paren l e                 -> liftM (Paren l) $ fix e
-    LeftSection l e op        -> liftM (flip (LeftSection l) op) (fix e)
-    RightSection l op e       -> liftM (RightSection l op) $ fix e
-    RecConstr l n fups        -> liftM (RecConstr l n) $ mapM fix fups
-    RecUpdate l e fups        -> liftM2 (RecUpdate l) (fix e) $ mapM fix fups
-    EnumFrom l e              -> liftM (EnumFrom l) $ fix e
-    EnumFromTo l e1 e2        -> liftM2 (EnumFromTo l) (fix e1) (fix e2)
-    EnumFromThen l e1 e2      -> liftM2 (EnumFromThen l) (fix e1) (fix e2)
-    EnumFromThenTo l e1 e2 e3 -> liftM3 (EnumFromThenTo l) (fix e1) (fix e2) (fix e3)
-    ListComp l e quals        -> liftM2 (ListComp l) (fix e) $ mapM fix quals
-    ParComp  l e qualss       -> liftM2 (ParComp l) (fix e) $ mapM (mapM fix) qualss
-    ExpTypeSig l e t          -> liftM (flip (ExpTypeSig l) t) (fix e)
-    BracketExp l b            -> liftM (BracketExp l) $ fix b
-    SpliceExp l s             -> liftM (SpliceExp l) $ fix s
-    XTag l n ats mexp cs      -> liftM3 (XTag l n) (mapM fix ats) (mapM fix mexp) (mapM fix cs)
-    XETag l n ats mexp        -> liftM2 (XETag l n) (mapM fix ats) (mapM fix mexp)
-    XExpTag l e               -> liftM (XExpTag l) $ fix e
-    XChildTag l cs            -> liftM (XChildTag l) $ mapM fix cs
-    Proc l p e                -> liftM2 (Proc l) (fix p) (fix e)
-    LeftArrApp l e1 e2        -> liftM2 (LeftArrApp l) (fix e1) (fix e2)
-    RightArrApp l e1 e2       -> liftM2 (RightArrApp l) (fix e1) (fix e2)
-    LeftArrHighApp l e1 e2    -> liftM2 (LeftArrHighApp l) (fix e1) (fix e2)
-    RightArrHighApp l e1 e2   -> liftM2 (RightArrHighApp l) (fix e1) (fix e2)
-    CorePragma l s e          -> liftM (CorePragma l s) (fix e)
-    SCCPragma l s e           -> liftM (SCCPragma l s) (fix e)
-    GenPragma l s ab cd e     -> liftM (GenPragma l s ab cd) (fix e)
-    LCase l alts              -> liftM (LCase l) $ mapM fix alts
-
-    _                         -> return e'
-  where
-    fix x = applyFixities fixs x
-
-leafFixP :: Monad 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
-        PTuple l bx ps          -> liftM (PTuple l bx) $ mapM fix ps
-        PList l ps              -> liftM (PList l) $ mapM fix ps
-        PParen l p              -> liftM (PParen l) $ fix p
-        PRec l n pfs            -> liftM (PRec l n) $ mapM fix pfs
-        PAsPat l n p            -> liftM (PAsPat l n) $ fix p
-        PIrrPat l p             -> liftM (PIrrPat l) $ fix p
-        PatTypeSig l p t        -> liftM (flip (PatTypeSig l) t) (fix p)
-        PViewPat l e p          -> liftM2 (PViewPat l) (fix e) (fix p)
-        PRPat l rps             -> liftM (PRPat l) $ mapM fix rps
-        PXTag l n ats mp ps     -> liftM3 (PXTag l n) (mapM fix ats) (mapM fix mp) (mapM fix ps)
-        PXETag l n ats mp       -> liftM2 (PXETag l n) (mapM fix ats) (mapM fix mp)
-        PXPatTag l p            -> liftM (PXPatTag l) $ fix p
-        PXRPats l rps           -> liftM (PXRPats l) $ mapM fix rps
-        PBangPat l p            -> liftM (PBangPat l) $ fix p
-        _                       -> return p'
-      where fix x = applyFixities fixs x
diff --git a/src/Language/Haskell/Exts/Annotated/Parser.hs b/src/Language/Haskell/Exts/Annotated/Parser.hs
deleted file mode 100644
--- a/src/Language/Haskell/Exts/Annotated/Parser.hs
+++ /dev/null
@@ -1,257 +0,0 @@
-{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, DeriveFunctor #-}
-{-# OPTIONS_GHC -fno-warn-orphans #-}
------------------------------------------------------------------------------
--- |
--- Module      :  Language.Haskell.Exts.Annotated.Parser
--- Copyright   :  (c) Niklas Broberg 2004-2009
---                (c) Michael Sloan 2013
--- License     :  BSD-style (see the file LICENSE.txt)
---
--- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
--- Stability   :  stable
--- Portability :  portable
---
--- Annotated parser for Haskell with extensions.
---
------------------------------------------------------------------------------
-module Language.Haskell.Exts.Annotated.Parser
-    (
-    -- * General parsing
-      Parseable(parse, parseWithMode, parseWithComments)
-    -- * Parsing of specific AST elements
-    -- ** Modules
-    , parseModule, parseModuleWithMode, parseModuleWithComments
-    -- ** Expressions
-    , parseExp, parseExpWithMode, parseExpWithComments
-    -- ** Statements
-    , parseStmt, parseStmtWithMode, parseStmtWithComments
-    -- ** Patterns
-    , parsePat, parsePatWithMode, parsePatWithComments
-    -- ** Declarations
-    , parseDecl, parseDeclWithMode, parseDeclWithComments
-    -- ** Types
-    , parseType, parseTypeWithMode, parseTypeWithComments
-    -- ** Imports
-    , parseImportDecl, parseImportDeclWithMode, parseImportDeclWithComments
-    -- * Non-greedy parsers
-    , NonGreedy(..)
-    , ListOf(..), unListOf
-    -- ** Module head parsers
-    , getTopPragmas
-    , PragmasAndModuleName(..)
-    , PragmasAndModuleHead(..)
-    , ModuleHeadAndImports(..)
-    ) where
-
-import Data.Data hiding (Fixity)
-import Language.Haskell.Exts.Annotated.Fixity
-import Language.Haskell.Exts.Annotated.Syntax
-import Language.Haskell.Exts.Comments
-import Language.Haskell.Exts.InternalParser
-import Language.Haskell.Exts.ParseMonad
-import Language.Haskell.Exts.SrcLoc
-
-instance Parseable (Decl   SrcSpanInfo) where parser = normalParser mparseDecl
-instance Parseable (Exp    SrcSpanInfo) where parser = normalParser mparseExp
-instance Parseable (Module SrcSpanInfo) where parser = normalParser mparseModule
-instance Parseable (Pat    SrcSpanInfo) where parser = normalParser mparsePat
-instance Parseable (Stmt   SrcSpanInfo) where parser = normalParser mparseStmt
-instance Parseable (Type   SrcSpanInfo) where parser = normalParserNoFixity mparseType
-instance Parseable (ImportDecl SrcSpanInfo) where parser = normalParserNoFixity mparseImportDecl
-
-normalParser :: AppFixity a => P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)
-normalParser p Nothing = p
-normalParser p (Just fixs) = p >>= \ast -> applyFixities fixs ast `atSrcLoc` noLoc
-
-normalParserNoFixity :: P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)
-normalParserNoFixity p _ = p
-
--- Type-specific functions
-
--- | Parse of a string, which should contain a complete Haskell module, using 'defaultParseMode'.
-parseModule :: String -> ParseResult (Module SrcSpanInfo)
-parseModule = parse
-
--- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode'.
-parseModuleWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)
-parseModuleWithMode = parseWithMode
-
--- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parseModuleWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])
-parseModuleWithComments = parseWithComments
-
--- | Parse of a string containing a Haskell expression, using 'defaultParseMode'.
-parseExp :: String -> ParseResult (Exp SrcSpanInfo)
-parseExp = parse
-
--- | Parse of a string containing a Haskell expression, using an explicit 'ParseMode'.
-parseExpWithMode :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo)
-parseExpWithMode = parseWithMode
-
--- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parseExpWithComments :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo, [Comment])
-parseExpWithComments = parseWithComments
-
--- | Parse of a string containing a Haskell pattern, using 'defaultParseMode'.
-parsePat :: String -> ParseResult (Pat SrcSpanInfo)
-parsePat = parse
-
--- | Parse of a string containing a Haskell pattern, using an explicit 'ParseMode'.
-parsePatWithMode :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo)
-parsePatWithMode = parseWithMode
-
--- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parsePatWithComments :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo, [Comment])
-parsePatWithComments = parseWithComments
-
--- | Parse of a string containing a Haskell top-level declaration, using 'defaultParseMode'.
-parseDecl :: String -> ParseResult (Decl SrcSpanInfo)
-parseDecl = parse
-
--- | Parse of a string containing a Haskell top-level declaration, using an explicit 'ParseMode'.
-parseDeclWithMode :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo)
-parseDeclWithMode = parseWithMode
-
--- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parseDeclWithComments :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo, [Comment])
-parseDeclWithComments = parseWithComments
-
--- | Parse of a string containing a Haskell type, using 'defaultParseMode'.
-parseType :: String -> ParseResult (Type SrcSpanInfo)
-parseType = parse
-
--- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.
-parseTypeWithMode :: ParseMode -> String -> ParseResult (Type SrcSpanInfo)
-parseTypeWithMode = parseWithMode
-
--- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parseTypeWithComments :: ParseMode -> String -> ParseResult (Type SrcSpanInfo, [Comment])
-parseTypeWithComments = parseWithComments
-
--- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.
-parseStmt :: String -> ParseResult (Stmt SrcSpanInfo)
-parseStmt = parse
-
--- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.
-parseStmtWithMode :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo)
-parseStmtWithMode = parseWithMode
-
--- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parseStmtWithComments :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo, [Comment])
-parseStmtWithComments = parseWithComments
-
--- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.
-parseImportDecl :: String -> ParseResult (ImportDecl SrcSpanInfo)
-parseImportDecl = parse
-
--- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.
-parseImportDeclWithMode :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo)
-parseImportDeclWithMode = parseWithMode
-
--- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parseImportDeclWithComments :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo, [Comment])
-parseImportDeclWithComments = parseWithComments
-
--- Non-greedy parsers (should use ng- prefixed parses exported by InternalParser)
-
--- | Non-greedy parse of a string starting with a series of top-level option pragmas.
-getTopPragmas :: String -> ParseResult [ModulePragma SrcSpanInfo]
-getTopPragmas = fmap (unListOf . unNonGreedy) . parse
-
-instance Parseable (NonGreedy (ListOf (ModulePragma SrcSpanInfo))) where
-  parser = nglistParserNoFixity ngparseModulePragmas
-
-nglistParserNoFixity :: P ([a SrcSpanInfo], [SrcSpan], SrcSpanInfo) -> Maybe [Fixity] -> P (NonGreedy (ListOf (a SrcSpanInfo)))
-nglistParserNoFixity f = fmap (NonGreedy . toListOf) . normalParserNoFixity f
-
--- | Type intended to be used with 'Parseable', with instances that implement a
---   non-greedy parse of the module name, including top-level pragmas.  This
---   means that a parse error that comes after the module header won't be
---   returned. If the 'Maybe' value is 'Nothing', then this means that there was
---   no module header.
-data PragmasAndModuleName l = PragmasAndModuleName l
-    [ModulePragma l]
-    (Maybe (ModuleName l))
-  deriving (Eq,Ord,Show,Typeable,Data)
-
-instance Parseable (NonGreedy (PragmasAndModuleName SrcSpanInfo)) where
-    parser _ = do
-        ((pragmas, pss, pl), mn) <- ngparsePragmasAndModuleName
-        let l = combSpanMaybe (pl <** pss) (fmap ann mn)
-        return $ NonGreedy $ PragmasAndModuleName l pragmas mn
-
---   Type intended to be used with 'Parseable', with instances that
---   implement a non-greedy parse of the module name, including
---   top-level pragmas.  This means that a parse error that comes
---   after the module header won't be returned. If the 'Maybe' value
---   is 'Nothing', this means that there was no module head.
---
---   Note that the 'ParseMode' matters for this due to the 'MagicHash'
---   changing the lexing of identifiers to include \"#\".
-data PragmasAndModuleHead l = PragmasAndModuleHead l
-    [ModulePragma l]
-    (Maybe (ModuleHead l))
-  deriving (Eq,Ord,Show,Typeable,Data)
-
-instance Parseable (NonGreedy (PragmasAndModuleHead SrcSpanInfo)) where
-    parser _ = do
-        ((pragmas, pss, pl), mh) <- ngparsePragmasAndModuleHead
-        let l = combSpanMaybe (pl <** pss) (fmap ann mh)
-        return $ NonGreedy $ PragmasAndModuleHead l pragmas mh
-
---   Type intended to be used with 'Parseable', with instances that
---   implement a non-greedy parse of the module head, including
---   top-level pragmas, module name, export list, and import
---   list. This means that if a parse error that comes after the
---   imports won't be returned.  If the 'Maybe' value is 'Nothing',
---   this means that there was no module head.
---
---   Note that the 'ParseMode' matters for this due to the 'MagicHash'
---   changing the lexing of identifiers to include \"#\".
-data ModuleHeadAndImports l = ModuleHeadAndImports l
-    [ModulePragma l]
-    (Maybe (ModuleHead l))
-    [ImportDecl l]
-  deriving (Eq,Ord,Show,Typeable,Data)
-
-instance Parseable (NonGreedy (ModuleHeadAndImports SrcSpanInfo)) where
-    parser _ = do
-        ((pragmas, pss, pl), mh, mimps) <- ngparseModuleHeadAndImports
-        let l = (pl <** pss) `combSpanMaybe`
-                (fmap ann mh) `combSpanMaybe`
-                (fmap (\(_, iss, il) -> il <** iss) mimps)
-            imps = maybe [] (\(x, _, _) -> x) mimps
-        return $ NonGreedy $ ModuleHeadAndImports l pragmas mh imps
-
--- | Instances of 'Parseable' for @NonGreedy a@ will only consume the input
---   until @a@ is fully parsed.  This means that parse errors that come later
---   in the input will be ignored.  It's also more efficient, as it's fully lazy
---   in the remainder of the input:
---
---   >>> parse (unlines ("module A where" : "main =" : repeat "blah")) :: ParseResult PragmasAndModuleHead
---   ParseOk (NonGreedy {unNonGreedy = PragmasAndModuleHead [] (ModuleName "A",Nothing,Nothing)})
---
---   (this example uses the simplified AST)
-newtype NonGreedy a = NonGreedy { unNonGreedy :: a }
-  deriving (Eq,Ord,Show,Typeable,Data)
-
-instance Functor NonGreedy where
-    fmap f (NonGreedy x) = NonGreedy (f x)
-
--- | @ListOf a@ stores lists of the AST type @a@, along with a 'SrcSpanInfo',
---   in order to provide 'Parseable' instances for lists.  These instances are
---   provided when the type is used as a list in the syntax, and the same
---   delimiters are used in all of its usages. Some exceptions are made:
-data ListOf a = ListOf SrcSpanInfo [a]
-  deriving (Eq,Ord,Show,Typeable,Data,Functor)
-
-unListOf :: ListOf a -> [a]
-unListOf (ListOf _ xs) = xs
-
--- It's safe to forget about the previous SrcSpanInfo 'srcInfoPoints',
--- as long as they are created with (presently) are all created with
--- 'noInfoSpan' ('nIS'), '(<^^>)', or '(<++>)', all of which have
--- empty 'srcInfoPoints'. Ideally, the parsers would return better
--- types, but this works.
-toListOf :: ([a], [SrcSpan], SrcSpanInfo) -> ListOf a
-toListOf (xs, ss, l) = ListOf (infoSpan (srcInfoSpan l) ss) xs
diff --git a/src/Language/Haskell/Exts/Annotated/Simplify.hs b/src/Language/Haskell/Exts/Annotated/Simplify.hs
deleted file mode 100644
--- a/src/Language/Haskell/Exts/Annotated/Simplify.hs
+++ /dev/null
@@ -1,614 +0,0 @@
------------------------------------------------------------------------------
--- |
--- Module      :  Language.Haskell.Exts.Annotated.Simplify
--- Copyright   :  (c) Niklas Broberg 2009
--- License     :  BSD-style (see the file LICENSE.txt)
---
--- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
--- Stability   :  experimental
--- Portability :  portable
---
--- This module contains code for translating from the annotated
--- complex AST in Language.Haskell.Exts.Annotated.Syntax
--- to the simpler, sparsely annotated AST in Language.Haskell.Exts.Syntax.
---
--- A function @sXYZ@ translates an annotated AST node of type @XYZ l@ into
--- a simple AST node of type @XYZ@. I would have prefered to use a MPTC
--- with an fd/type family to get a single exported function name, but
--- I wish to stay Haskell 2010 compliant. Let's hope for Haskell 2011.
---
------------------------------------------------------------------------------
-module Language.Haskell.Exts.Annotated.Simplify where
-
-import Language.Haskell.Exts.Annotated.Syntax
-import qualified Language.Haskell.Exts.Syntax as S
-
-import Language.Haskell.Exts.SrcLoc hiding (loc)
-
-import Data.Maybe (fromMaybe)
-
--- | Translate an annotated AST node representing a Haskell module, into
---   a simpler version that retains (almost) only abstract information.
---   In particular, XML and hybrid XML pages enabled by the XmlSyntax extension
---   are translated into standard Haskell modules with a @page@ function.
-sModule :: SrcInfo loc => Module loc -> S.Module
-sModule md = case md of
-    Module l mmh oss ids ds ->
-        let (mn, mwt, mes) = sModuleHead mmh
-         in S.Module (getPointLoc l) mn (map sModulePragma oss) mwt mes (map sImportDecl ids) (map sDecl ds)
-    XmlPage l mn oss xn attrs mat es   ->
-        let loc = getPointLoc l
-         in S.Module loc (sModuleName mn) (map sModulePragma oss)
-                      Nothing
-                      (Just [S.EVar $ S.UnQual $ S.Ident "page"])
-                        []
-                        [pageFun loc $ S.XTag loc (sXName xn) (map sXAttr attrs) (fmap sExp mat) (map sExp es)]
-    XmlHybrid l mmh oss ids ds xn attrs mat es  ->
-        let loc1 = getPointLoc l
-            loc2 = getPointLoc (ann xn)
-            (mn, mwt, mes) = sModuleHead mmh
-         in S.Module loc1 mn (map sModulePragma oss) mwt mes (map sImportDecl ids)
-                (map sDecl ds ++ [pageFun loc2 $ S.XTag loc2 (sXName xn) (map sXAttr attrs) (fmap sExp mat) (map sExp es)])
-  where pageFun :: SrcLoc -> S.Exp -> S.Decl
-        pageFun loc e = S.PatBind loc namePat rhs Nothing
-            where namePat = S.PVar $ S.Ident "page"
-                  rhs = S.UnGuardedRhs e
-
-
--- | Translate an annotated AST node representing a Haskell declaration
---   into a simpler version. Note that in the simpler version, all declaration
---   nodes are still annotated by 'SrcLoc's.
-sDecl :: SrcInfo loc => Decl loc -> S.Decl
-sDecl decl = case decl of
-     TypeDecl     l dh t        ->
-        let (n, tvs) = sDeclHead dh
-         in S.TypeDecl (getPointLoc l) n tvs (sType t)
-     TypeFamDecl  l dh mk       ->
-        let (n, tvs) = sDeclHead dh
-         in S.TypeFamDecl (getPointLoc l) n tvs (fmap sKind mk)
-     ClosedTypeFamDecl  l dh mk eqs ->
-        let (n, tvs) = sDeclHead dh
-         in S.ClosedTypeFamDecl (getPointLoc l) n tvs (fmap sKind mk) (map sTypeEqn eqs)
-     DataDecl     l dn mctxt dh constrs mder    ->
-        let (n, tvs) = sDeclHead dh
-         in S.DataDecl (getPointLoc l) (sDataOrNew dn) (maybe [] sContext mctxt) n tvs (map sQualConDecl constrs) (maybe [] sDeriving mder)
-     GDataDecl    l dn mctxt dh mk gds mder     ->
-        let (n, tvs) = sDeclHead dh
-         in S.GDataDecl (getPointLoc l) (sDataOrNew dn) (maybe [] sContext mctxt) n tvs (fmap sKind mk) (map sGadtDecl gds) (maybe [] sDeriving mder)
-     DataFamDecl  l mctxt dh mk ->
-        let (n, tvs) = sDeclHead dh
-         in S.DataFamDecl (getPointLoc l) (maybe [] sContext mctxt) n tvs (fmap sKind mk)
-     TypeInsDecl  l t1 t2       -> S.TypeInsDecl (getPointLoc l) (sType t1) (sType t2)
-     DataInsDecl  l dn t constrs mder           ->
-        S.DataInsDecl (getPointLoc l) (sDataOrNew dn) (sType t) (map sQualConDecl constrs) (maybe [] sDeriving mder)
-     GDataInsDecl l dn t mk gds mder            ->
-        S.GDataInsDecl (getPointLoc l) (sDataOrNew dn) (sType t) (fmap sKind mk) (map sGadtDecl gds) (maybe [] sDeriving mder)
-     ClassDecl    l mctxt dh fds mcds           ->
-        let (n, tvs) = sDeclHead dh
-         in S.ClassDecl (getPointLoc l) (maybe [] sContext mctxt) n tvs (map sFunDep fds) (maybe [] (map sClassDecl) mcds)
-     InstDecl     l olp ih mids               ->
-        let (tvs, cxt, (qn, ts)) = sInstRule ih
-         in S.InstDecl (getPointLoc l) (fmap sOverlap olp) tvs cxt qn ts (maybe [] (map sInstDecl) mids)
-     DerivDecl    l olp ih    ->
-        let (tvs, cxt, (qn, ts)) = sInstRule ih
-         in S.DerivDecl (getPointLoc l) (fmap sOverlap olp) tvs cxt qn ts
-     InfixDecl    l ass prec ops    -> S.InfixDecl (getPointLoc l) (sAssoc ass) (fromMaybe 9 prec) (map sOp ops)
-     DefaultDecl  l ts          -> S.DefaultDecl (getPointLoc l) (map sType ts)
-     SpliceDecl   l sp          -> S.SpliceDecl (getPointLoc l) (sExp sp)
-     TypeSig      l ns t        -> S.TypeSig (getPointLoc l) (map sName ns) (sType t)
-     PatSynSig    l n mtvs c1 c2 t ->
-        S.PatSynSig (getPointLoc l) (sName n) (fmap (map sTyVarBind) mtvs) (maybe [] sContext c1) (maybe [] sContext c2) (sType t)
-     FunBind      _ ms          -> S.FunBind (map sMatch ms)
-     PatBind      l p rhs mbs    ->
-        S.PatBind (getPointLoc l) (sPat p) (sRhs rhs) (sBinds `fmap` mbs)
-     ForImp       l cc msaf mstr n t    ->
-        S.ForImp (getPointLoc l) (sCallConv cc) (maybe (S.PlaySafe False) sSafety msaf) (fromMaybe "" mstr) (sName n) (sType t)
-     ForExp       l cc      mstr n t    ->
-        S.ForExp (getPointLoc l) (sCallConv cc) (fromMaybe "" mstr) (sName n) (sType t)
-     RulePragmaDecl   l rs      -> S.RulePragmaDecl (getPointLoc l) (map sRule rs)
-     DeprPragmaDecl   l nsstrs  -> S.DeprPragmaDecl (getPointLoc l) (map (\(ns, str) -> (map sName ns, str)) nsstrs)
-     WarnPragmaDecl   l nsstrs  -> S.WarnPragmaDecl (getPointLoc l) (map (\(ns, str) -> (map sName ns, str)) nsstrs)
-     InlineSig        l b mact qn   -> S.InlineSig (getPointLoc l) b (maybe S.AlwaysActive sActivation mact) (sQName qn)
-     InlineConlikeSig l   mact qn   -> S.InlineConlikeSig (getPointLoc l) (maybe S.AlwaysActive sActivation mact) (sQName qn)
-     SpecSig          l   mact qn ts   -> S.SpecSig (getPointLoc l) (maybe S.AlwaysActive sActivation mact) (sQName qn) (map sType ts)
-     SpecInlineSig    l b mact qn ts    ->
-        S.SpecInlineSig (getPointLoc l) b (maybe S.AlwaysActive sActivation mact) (sQName qn) (map sType ts)
-     InstSig          l ih    ->
-        let (tvs, cxt, (qn, ts)) = sInstRule ih
-         in S.InstSig (getPointLoc l) tvs cxt qn ts
-     AnnPragma        l ann'        ->
-        S.AnnPragma (getPointLoc l) (sAnnotation ann')
-     MinimalPragma    l b           ->
-        S.MinimalPragma (getPointLoc l) (fmap sBooleanFormula b)
-     RoleAnnotDecl    l qn rs        ->
-      S.RoleAnnotDecl (getPointLoc l) (sQName qn) (map sRole rs)
-     PatSyn l p r t -> S.PatSyn (getPointLoc l) (sPat p) (sPat r) (sPatSyn t)
-
-sPatSyn :: SrcInfo l => PatternSynDirection l -> S.PatternSynDirection
-sPatSyn p = case p of
-      Unidirectional             -> S.Unidirectional
-      ImplicitBidirectional      -> S.ImplicitBidirectional
-      ExplicitBidirectional _ ms -> S.ExplicitBidirectional (map sDecl ms)
-
-sTypeEqn :: SrcInfo l => TypeEqn l -> S.TypeEqn
-sTypeEqn (TypeEqn _ a b) = S.TypeEqn (sType a) (sType b)
-
-sAnnotation :: SrcInfo loc => Annotation loc -> S.Annotation
-sAnnotation ann' = case ann' of
-    Ann       _ n e   -> S.Ann     (sName n) (sExp e)
-    TypeAnn   _ n e   -> S.TypeAnn (sName n) (sExp e)
-    ModuleAnn _   e   -> S.ModuleAnn         (sExp e)
-
-sBooleanFormula :: SrcInfo loc => BooleanFormula loc -> S.BooleanFormula
-sBooleanFormula b' = case b' of
-    VarFormula _ n   -> S.VarFormula (sName n)
-    AndFormula _ ns  -> S.AndFormula $ map sBooleanFormula ns
-    OrFormula _  ns  -> S.OrFormula $ map sBooleanFormula ns
-    ParenFormula _ b -> S.ParenFormula (sBooleanFormula b)
-
-sRole :: Role l -> S.Role
-sRole r =
-  case r of
-    Nominal _          -> S.Nominal
-    Representational _ -> S.Representational
-    Phantom _          -> S.Phantom
-    RoleWildcard _     -> S.RoleWildcard
-
-sModuleName :: ModuleName l -> S.ModuleName
-sModuleName (ModuleName _ str)  = S.ModuleName str
-
-sSpecialCon :: SpecialCon l -> S.SpecialCon
-sSpecialCon sc = case sc of
-    UnitCon _           -> S.UnitCon
-    ListCon _           -> S.ListCon
-    FunCon  _           -> S.FunCon
-    TupleCon _ b k      -> S.TupleCon b k
-    Cons _              -> S.Cons
-    UnboxedSingleCon _  -> S.UnboxedSingleCon
-
-sQName :: QName l -> S.QName
-sQName qn = case qn of
-    Qual    _ mn n  -> S.Qual (sModuleName mn) (sName n)
-    UnQual  _    n  -> S.UnQual (sName n)
-    Special _ sc    -> S.Special (sSpecialCon sc)
-
-sName :: Name l -> S.Name
-sName (Ident _ str) = S.Ident str
-sName (Symbol _ str) = S.Symbol str
-
-sIPName :: IPName l -> S.IPName
-sIPName (IPDup _ str) = S.IPDup str
-sIPName (IPLin _ str) = S.IPLin str
-
-sQOp :: QOp l -> S.QOp
-sQOp (QVarOp _ qn) = S.QVarOp (sQName qn)
-sQOp (QConOp _ qn) = S.QConOp (sQName qn)
-
-sOp :: Op l -> S.Op
-sOp (VarOp _ n) = S.VarOp (sName n)
-sOp (ConOp _ n) = S.ConOp (sName n)
-
-sCName :: CName l -> S.CName
-sCName (VarName _ n) = S.VarName (sName n)
-sCName (ConName _ n) = S.ConName (sName n)
-
-sModuleHead :: Maybe (ModuleHead l) -> (S.ModuleName, Maybe S.WarningText, Maybe [S.ExportSpec])
-sModuleHead mmh = case mmh of
-    Nothing -> (S.main_mod, Nothing, Just [S.EVar (S.UnQual S.main_name)])
-    Just (ModuleHead _ mn mwt mel) -> (sModuleName mn, fmap sWarningText mwt, fmap sExportSpecList mel)
-
-sExportSpecList :: ExportSpecList l -> [S.ExportSpec]
-sExportSpecList (ExportSpecList _ ess) = map sExportSpec ess
-
-sExportSpec :: ExportSpec l -> S.ExportSpec
-sExportSpec es = case es of
-    EVar _ qn           -> S.EVar (sQName qn)
-    EAbs _ n qn         -> S.EAbs (sNamespace n)(sQName qn)
-    EThingAll _ qn      -> S.EThingAll (sQName qn)
-    EThingWith _ qn cns -> S.EThingWith (sQName qn) (map sCName cns)
-    EModuleContents _ mn    -> S.EModuleContents (sModuleName mn)
-
-sImportDecl :: SrcInfo loc => ImportDecl loc -> S.ImportDecl
-sImportDecl (ImportDecl l mn qu src safe mpkg as misl) =
-    S.ImportDecl (getPointLoc l) (sModuleName mn) qu src safe mpkg (fmap sModuleName as) (fmap sImportSpecList misl)
-
-sImportSpecList :: ImportSpecList l -> (Bool, [S.ImportSpec])
-sImportSpecList (ImportSpecList _ b iss) = (b, map sImportSpec iss)
-
-sNamespace :: Namespace l -> S.Namespace
-sNamespace n = case n of
-                NoNamespace _   -> S.NoNamespace
-                TypeNamespace _ -> S.TypeNamespace
-                PatternNamespace _ -> S.PatternNamespace
-
-sImportSpec :: ImportSpec l -> S.ImportSpec
-sImportSpec is = case is of
-    IVar _ n            -> S.IVar (sName n)
-    IAbs _ ns n         -> S.IAbs (sNamespace ns) (sName n)
-    IThingAll _ n       -> S.IThingAll (sName n)
-    IThingWith _ n cns  -> S.IThingWith (sName n) (map sCName cns)
-
-sAssoc :: Assoc l -> S.Assoc
-sAssoc a = case a of
-    AssocNone  _ -> S.AssocNone
-    AssocLeft  _ -> S.AssocLeft
-    AssocRight _ -> S.AssocRight
-
-sDeclHead :: DeclHead l -> (S.Name, [S.TyVarBind])
-sDeclHead = go []
-  where go ts dh' = case dh' of
-                        DHead _ n           -> (sName n, ts)
-                        DHInfix _ tva n     -> (sName n, sTyVarBind tva:ts)
-                        DHParen _ dh        -> (n, ts1 ++ ts)
-                          where (n, ts1) = sDeclHead dh
-                        DHApp _ dh t        -> go (sTyVarBind t:ts) dh
-
-sInstRule :: SrcInfo l => InstRule l -> ([S.TyVarBind], [S.Asst], (S.QName, [S.Type]))
-sInstRule ih' = case ih' of
-                    IRule _ mtvs mctxt qn   -> (tvs, cxt, sInstHead qn)
-                        where cxt = maybe [] sContext mctxt
-                              tvs = maybe [] (map sTyVarBind) mtvs
-                    IParen _ ir             -> sInstRule ir
-
-sInstHead :: SrcInfo l => InstHead l -> (S.QName, [S.Type])
-sInstHead = go []
-    where go ts' d' = case d' of
-                        IHCon _ qn         -> (sQName qn, ts')
-                        IHInfix _ ta qn    -> (sQName qn, sType ta:ts')
-                        IHParen _ ih       -> (n, ts1 ++ ts')
-                          where (n, ts1) = sInstHead ih
-                        IHApp _ ih t       -> go (sType t:ts') ih
-
-sDataOrNew :: DataOrNew l -> S.DataOrNew
-sDataOrNew (DataType _) = S.DataType
-sDataOrNew (NewType _) = S.NewType
-
-sDeriving :: SrcInfo l => Deriving l -> [(S.QName, [S.Type])]
-sDeriving (Deriving _ irs) = map (\ir -> let (_, _, ret) = sInstRule ir in ret) irs
-
-sBinds :: SrcInfo loc => Binds loc -> S.Binds
-sBinds bs = case bs of
-    BDecls  _ decls     -> S.BDecls (map sDecl decls)
-    IPBinds _ ipbds     -> S.IPBinds (map sIPBind ipbds)
-
-sIPBind :: SrcInfo loc => IPBind loc -> S.IPBind
-sIPBind (IPBind l ipn e) = S.IPBind (getPointLoc l) (sIPName ipn) (sExp e)
-
-sMatch :: SrcInfo loc => Match loc -> S.Match
-sMatch (Match l n ps rhs mwhere) =
-    S.Match (getPointLoc l) (sName n) (map sPat ps) Nothing (sRhs rhs) (sBinds `fmap` mwhere)
-sMatch (InfixMatch l pa n pbs rhs mwhere) =
-    S.Match (getPointLoc l) (sName n) (map sPat (pa:pbs)) Nothing (sRhs rhs) (sBinds `fmap` mwhere)
-
-sQualConDecl :: SrcInfo loc => QualConDecl loc -> S.QualConDecl
-sQualConDecl (QualConDecl l mtvs mctxt cd) =
-    S.QualConDecl (getPointLoc l) (maybe [] (map sTyVarBind) mtvs) (maybe [] sContext mctxt) (sConDecl cd)
-
-sConDecl :: SrcInfo l => ConDecl l -> S.ConDecl
-sConDecl cd = case cd of
-    ConDecl _ n bts     -> S.ConDecl (sName n) (map sType bts)
-    InfixConDecl _ bta n btb -> S.InfixConDecl (sType bta) (sName n) (sType btb)
-    RecDecl _ n fds -> S.RecDecl (sName n) (map sFieldDecl fds)
-
-sFieldDecl :: SrcInfo l => FieldDecl l -> ([S.Name], S.Type)
-sFieldDecl (FieldDecl _ ns bt) = (map sName ns, sType bt)
-
-sGadtDecl :: SrcInfo loc => GadtDecl loc -> S.GadtDecl
-sGadtDecl (GadtDecl l n mn t) = S.GadtDecl (getPointLoc l) (sName n) (maybe [] sRecFields mn) (sType t)
-
-sClassDecl :: SrcInfo loc => ClassDecl loc -> S.ClassDecl
-sClassDecl cd = case cd of
-    ClsDecl _ d  -> S.ClsDecl (sDecl d)
-    ClsDataFam l mctxt dh mk    ->
-        let (n, tvs) = sDeclHead dh
-         in S.ClsDataFam (getPointLoc l) (maybe [] sContext mctxt) n tvs (fmap sKind mk)
-    ClsTyFam l dh mk    ->
-        let (n, tvs) = sDeclHead dh
-         in S.ClsTyFam (getPointLoc l) n tvs (fmap sKind mk)
-    ClsTyDef l t1 t2    ->
-        S.ClsTyDef (getPointLoc l) (sType t1) (sType t2)
-    ClsDefSig l n t ->
-        S.ClsDefSig (getPointLoc l) (sName n) (sType t)
-
-sRecFields :: SrcInfo l => [FieldDecl l] -> [([S.Name], S.Type)]
-sRecFields = map sFieldDecl
-
-sInstDecl :: SrcInfo loc => InstDecl loc -> S.InstDecl
-sInstDecl id' = case id' of
-    InsDecl   _ d   -> S.InsDecl (sDecl d)
-    InsType   l t1 t2   -> S.InsType (getPointLoc l) (sType t1) (sType t2)
-    InsData   l dn t constrs mder   ->
-        S.InsData (getPointLoc l) (sDataOrNew dn) (sType t) (map sQualConDecl constrs) (maybe [] sDeriving mder)
-    InsGData  l dn t mk gds mder    ->
-        S.InsGData (getPointLoc l) (sDataOrNew dn) (sType t) (fmap sKind mk) (map sGadtDecl gds) (maybe [] sDeriving mder)
---    InsInline l b mact qn   -> S.InsInline (getPointLoc l) b (maybe S.AlwaysActive sActivation mact) (sQName qn)
-
-sBangType :: SrcInfo l => BangType l -> S.BangType
-sBangType bt = case bt of
-    BangedTy   _  -> S.BangedTy
-    UnpackedTy _  -> S.UnpackedTy
-
-sRhs :: SrcInfo loc => Rhs loc -> S.Rhs
-sRhs (UnGuardedRhs _ e) = S.UnGuardedRhs (sExp e)
-sRhs (GuardedRhss _ grhss) = S.GuardedRhss (map sGuardedRhs grhss)
-
-sGuardedRhs :: SrcInfo loc => GuardedRhs loc -> S.GuardedRhs
-sGuardedRhs (GuardedRhs l ss e) = S.GuardedRhs (getPointLoc l) (map sStmt ss) (sExp e)
-
-sType :: SrcInfo l => Type l -> S.Type
-sType t' = case t' of
-    TyForall _ mtvs mctxt t     -> S.TyForall (fmap (map sTyVarBind) mtvs) (maybe [] sContext mctxt) (sType t)
-    TyFun _ t1 t2               -> S.TyFun (sType t1) (sType t2)
-    TyTuple _ bx ts             -> S.TyTuple bx (map sType ts)
-    TyList _ t                  -> S.TyList (sType t)
-    TyParArray _ t              -> S.TyParArray (sType t)
-    TyApp _ t1 t2               -> S.TyApp (sType t1) (sType t2)
-    TyVar _ n                   -> S.TyVar (sName n)
-    TyCon _ qn                  -> S.TyCon (sQName qn)
-    TyParen _ t                 -> S.TyParen (sType t)
-    TyInfix _ ta qn tb          -> S.TyInfix (sType ta) (sQName qn) (sType tb)
-    TyKind _ t k                -> S.TyKind (sType t) (sKind k)
-    TyPromoted _ t              -> S.TyPromoted (sPromoted t)
-    TyEquals _ t1 t2            -> S.TyEquals (sType t1) (sType t2)
-    TySplice _ s                -> S.TySplice (sSplice s)
-    TyBang _ b t                -> S.TyBang (sBangType b) (sType t)
-    TyWildCard _ mn             -> S.TyWildCard (sName `fmap` mn)
-
-sPromoted :: SrcInfo l => Promoted l -> S.Promoted
-sPromoted p = case p of
-    PromotedInteger _ n _ -> S.PromotedInteger n
-    PromotedString _ s _ -> S.PromotedString s
-    PromotedCon _ b qn -> S.PromotedCon b (sQName qn)
-    PromotedList _ b ps -> S.PromotedList b (map sType ps)
-    PromotedTuple _ ps -> S.PromotedTuple (map sType ps)
-    PromotedUnit _ -> S.PromotedUnit
-
-
-sTyVarBind :: TyVarBind l -> S.TyVarBind
-sTyVarBind (KindedVar _ n k) = S.KindedVar (sName n) (sKind k)
-sTyVarBind (UnkindedVar _ n) = S.UnkindedVar (sName n)
-
-sKind :: Kind l -> S.Kind
-sKind k' = case k' of
-    KindStar  _     -> S.KindStar
-    KindFn _ k1 k2  -> S.KindFn (sKind k1) (sKind k2)
-    KindParen _ k   -> S.KindParen (sKind k)
-    KindVar _ n     -> S.KindVar (sQName n)
-    KindApp _ k1 k2 -> S.KindApp (sKind k1) (sKind k2)
-    KindTuple _ ks  -> S.KindTuple (map sKind ks)
-    KindList  _ ks  -> S.KindList  (sKind ks)
-
-sFunDep :: FunDep l -> S.FunDep
-sFunDep (FunDep _ as bs) = S.FunDep (map sName as) (map sName bs)
-
-sContext :: SrcInfo l => Context l -> S.Context
-sContext ctxt = case ctxt of
-    CxSingle _ asst     -> [sAsst asst]
-    CxTuple  _ assts    -> map sAsst assts
-    CxEmpty  _          -> []
-
-sAsst :: SrcInfo l => Asst l -> S.Asst
-sAsst asst = case asst of
-    ClassA _ qn ts      -> S.ClassA (sQName qn) (map sType ts)
-    AppA _ n ns         -> S.AppA (sName n) (map sType ns)
-    InfixA _ ta qn tb   -> S.InfixA (sType ta) (sQName qn) (sType tb)
-    IParam _ ipn t      -> S.IParam (sIPName ipn) (sType t)
-    EqualP _ t1 t2      -> S.EqualP (sType t1) (sType t2)
-    ParenA _ a          -> S.ParenA (sAsst a)
-    WildCardA _ mn      -> S.WildCardA (sName `fmap` mn)
-
-sLiteral :: Literal l -> S.Literal
-sLiteral lit = case lit of
-    Char       _ c _ -> S.Char c
-    String     _ s _ -> S.String s
-    Int        _ i _ -> S.Int i
-    Frac       _ r _ -> S.Frac r
-    PrimInt    _ i _ -> S.PrimInt i
-    PrimWord   _ i _ -> S.PrimWord i
-    PrimFloat  _ r _ -> S.PrimFloat r
-    PrimDouble _ r _ -> S.PrimDouble r
-    PrimChar   _ c _ -> S.PrimChar c
-    PrimString _ s _ -> S.PrimString s
-
-sSign :: Sign l -> S.Sign
-sSign sg = case sg of
-    Signless _ -> S.Signless
-    Negative _ -> S.Negative
-
-sExp :: SrcInfo loc => Exp loc -> S.Exp
-sExp e' = case e' of
-    Var _ qn            -> S.Var (sQName qn)
-    IPVar _ ipn         -> S.IPVar (sIPName ipn)
-    Con _ qn            -> S.Con (sQName qn)
-    Lit _ lit           -> S.Lit (sLiteral lit)
-    InfixApp _ e1 op e2 -> S.InfixApp (sExp e1) (sQOp op) (sExp e2)
-    App _ e1 e2         -> S.App (sExp e1) (sExp e2)
-    NegApp _ e          -> S.NegApp (sExp e)
-    Lambda l ps e       -> S.Lambda (getPointLoc l) (map sPat ps) (sExp e)
-    Let _ bs e          -> S.Let (sBinds bs) (sExp e)
-    If _ e1 e2 e3       -> S.If (sExp e1) (sExp e2) (sExp e3)
-    MultiIf _ alts      -> S.MultiIf (map sGuardedRhs alts)
-    Case _ e alts       -> S.Case (sExp e) (map sAlt alts)
-    Do _ ss             -> S.Do (map sStmt ss)
-    MDo _ ss            -> S.MDo (map sStmt ss)
-    Tuple _ bx es       -> S.Tuple bx (map sExp es)
-    TupleSection _ bx mes -> S.TupleSection bx (map (fmap sExp) mes)
-    List _ es           -> S.List (map sExp es)
-    ParArray _ es       -> S.ParArray (map sExp es)
-    Paren _ e           -> S.Paren (sExp e)
-    LeftSection _ e op  -> S.LeftSection (sExp e) (sQOp op)
-    RightSection _ op e -> S.RightSection (sQOp op) (sExp e)
-    RecConstr _ qn fups -> S.RecConstr (sQName qn) (map sFieldUpdate fups)
-    RecUpdate _ e fups  -> S.RecUpdate (sExp e) (map sFieldUpdate fups)
-    EnumFrom _ e        -> S.EnumFrom (sExp e)
-    EnumFromTo _ e1 e2  -> S.EnumFromTo (sExp e1) (sExp e2)
-    EnumFromThen _ e1 e2    -> S.EnumFromThen (sExp e1) (sExp e2)
-    EnumFromThenTo _ e1 e2 e3   -> S.EnumFromThenTo (sExp e1) (sExp e2) (sExp e3)
-    ParArrayFromTo _ e1 e2 -> S.ParArrayFromTo (sExp e1) (sExp e2)
-    ParArrayFromThenTo _ e1 e2 e3 -> S.ParArrayFromThenTo (sExp e1) (sExp e2) (sExp e3)
-    ListComp _ e qss    -> S.ListComp (sExp e) (map sQualStmt qss)
-    ParComp  _ e qsss   -> S.ParComp (sExp e) (map (map sQualStmt) qsss)
-    ParArrayComp  _ e qsss -> S.ParArrayComp (sExp e) (map (map sQualStmt) qsss)
-    ExpTypeSig l e t    -> S.ExpTypeSig (getPointLoc l) (sExp e) (sType t)
-    VarQuote _ qn       -> S.VarQuote (sQName qn)
-    TypQuote _ qn       -> S.TypQuote (sQName qn)
-    BracketExp _ br     -> S.BracketExp (sBracket br)
-    SpliceExp _ sp      -> S.SpliceExp (sSplice sp)
-    QuasiQuote _ nm qt  -> S.QuasiQuote nm qt
-    XTag l xn attrs mat es  -> S.XTag  (getPointLoc l) (sXName xn) (map sXAttr attrs) (fmap sExp mat) (map sExp es)
-    XETag l xn attrs mat    -> S.XETag (getPointLoc l) (sXName xn) (map sXAttr attrs) (fmap sExp mat)
-    XPcdata _ str       -> S.XPcdata str
-    XExpTag _ e         -> S.XExpTag (sExp e)
-    XChildTag l es      -> S.XChildTag (getPointLoc l) (map sExp es)
-    CorePragma _ str e  -> S.CorePragma str (sExp e)
-    SCCPragma  _ str e  -> S.SCCPragma  str (sExp e)
-    GenPragma  _ str i12 i34 e  -> S.GenPragma str i12 i34 (sExp e)
-    Proc            l p  e  -> S.Proc (getPointLoc l) (sPat p) (sExp e)
-    LeftArrApp      _ e1 e2 -> S.LeftArrApp (sExp e1) (sExp e2)
-    RightArrApp     _ e1 e2 -> S.RightArrApp (sExp e1) (sExp e2)
-    LeftArrHighApp  _ e1 e2 -> S.LeftArrHighApp (sExp e1) (sExp e2)
-    RightArrHighApp _ e1 e2 -> S.RightArrHighApp (sExp e1) (sExp e2)
-    LCase _ alts -> S.LCase (map sAlt alts)
-    ExprHole _              -> S.ExprHole
-
-
-sXName :: XName l -> S.XName
-sXName (XName _ str) = S.XName str
-sXName (XDomName _ dom str) = S.XDomName dom str
-
-sXAttr :: SrcInfo loc => XAttr loc -> S.XAttr
-sXAttr (XAttr _ xn e) = S.XAttr (sXName xn) (sExp e)
-
-sBracket:: SrcInfo loc => Bracket loc -> S.Bracket
-sBracket br = case br of
-    ExpBracket _ e  -> S.ExpBracket (sExp e)
-    PatBracket _ p  -> S.PatBracket (sPat p)
-    TypeBracket _ t -> S.TypeBracket (sType t)
-    DeclBracket _ ds -> S.DeclBracket (map sDecl ds)
-
-sSplice :: SrcInfo loc => Splice loc -> S.Splice
-sSplice (IdSplice _ str) = S.IdSplice str
-sSplice (ParenSplice _ e) = S.ParenSplice (sExp e)
-
-sSafety :: Safety l -> S.Safety
-sSafety (PlayRisky _) = S.PlayRisky
-sSafety (PlaySafe _ b) = S.PlaySafe b
-sSafety (PlayInterruptible _) = S.PlayInterruptible
-
-sCallConv :: CallConv l -> S.CallConv
-sCallConv (StdCall    _) = S.StdCall
-sCallConv (CCall      _) = S.CCall
-sCallConv (CPlusPlus  _) = S.CPlusPlus
-sCallConv (DotNet     _) = S.DotNet
-sCallConv (Jvm        _) = S.Jvm
-sCallConv (Js         _) = S.Js
-sCallConv (JavaScript _) = S.JavaScript
-sCallConv (CApi       _) = S.CApi
-
-sModulePragma :: SrcInfo loc => ModulePragma loc -> S.ModulePragma
-sModulePragma pr = case pr of
-    LanguagePragma   l ns   -> S.LanguagePragma (getPointLoc l) (map sName ns)
-    OptionsPragma    l mt str -> S.OptionsPragma (getPointLoc l) mt str
-    AnnModulePragma  l ann' -> S.AnnModulePragma (getPointLoc l) (sAnnotation ann')
-
-sOverlap :: SrcInfo loc => Overlap loc -> S.Overlap
-sOverlap o' = case o' of
-    NoOverlap _   -> S.NoOverlap
-    Overlap _     -> S.Overlap
-    Incoherent _  -> S.Incoherent
-
-sActivation :: Activation l -> S.Activation
-sActivation act = case act of
-    ActiveFrom   _ k    -> S.ActiveFrom k
-    ActiveUntil  _ k    -> S.ActiveUntil k
-
-sRule :: SrcInfo loc => Rule loc -> S.Rule
-sRule (Rule _ str mact mrvs e1 e2) =
-    S.Rule str (maybe S.AlwaysActive sActivation mact) (fmap (map sRuleVar) mrvs) (sExp e1) (sExp e2)
-
-sRuleVar :: SrcInfo l => RuleVar l -> S.RuleVar
-sRuleVar (RuleVar _ n) = S.RuleVar (sName n)
-sRuleVar (TypedRuleVar _ n t) = S.TypedRuleVar (sName n) (sType t)
-
-sWarningText :: WarningText l -> S.WarningText
-sWarningText (DeprText _ str) = S.DeprText str
-sWarningText (WarnText _ str) = S.WarnText str
-
-sPat :: SrcInfo loc => Pat loc -> S.Pat
-sPat pat = case pat of
-    PVar _ n            -> S.PVar (sName n)
-    PLit _ sg lit       -> S.PLit (sSign sg) (sLiteral lit)
-    PNPlusK _ n k       -> S.PNPlusK (sName n) k
-    PInfixApp _ pa qn pb -> S.PInfixApp (sPat pa) (sQName qn) (sPat pb)
-    PApp _ qn ps        -> S.PApp (sQName qn) (map sPat ps)
-    PTuple _ bx ps      -> S.PTuple bx (map sPat ps)
-    PList _ ps          -> S.PList (map sPat ps)
-    PParen _ p          -> S.PParen (sPat p)
-    PRec _ qn pfs       -> S.PRec (sQName qn) (map sPatField pfs)
-    PAsPat _ n p        -> S.PAsPat (sName n) (sPat p)
-    PWildCard _         -> S.PWildCard
-    PIrrPat _ p         -> S.PIrrPat (sPat p)
-    PatTypeSig l p t    -> S.PatTypeSig (getPointLoc l) (sPat p) (sType t)
-    PViewPat _ e p      -> S.PViewPat (sExp e) (sPat p)
-    PRPat _ rps         -> S.PRPat (map sRPat rps)
-    PXTag l xn attrs mat ps -> S.PXTag (getPointLoc l) (sXName xn) (map sPXAttr attrs) (fmap sPat mat) (map sPat ps)
-    PXETag l xn attrs mat   -> S.PXETag (getPointLoc l) (sXName xn) (map sPXAttr attrs) (fmap sPat mat)
-    PXPcdata _ str      -> S.PXPcdata str
-    PXPatTag _ p        -> S.PXPatTag (sPat p)
-    PXRPats  _ rps      -> S.PXRPats (map sRPat rps)
-    PQuasiQuote _ nm qt -> S.PQuasiQuote nm qt
-    PBangPat _ p        -> S.PBangPat (sPat p)
-
-sPXAttr :: SrcInfo loc => PXAttr loc -> S.PXAttr
-sPXAttr (PXAttr _ xn p) = S.PXAttr (sXName xn) (sPat p)
-
-sRPatOp :: RPatOp l -> S.RPatOp
-sRPatOp rpop = case rpop of
-    RPStar  _ -> S.RPStar
-    RPStarG _ -> S.RPStarG
-    RPPlus  _ -> S.RPPlus
-    RPPlusG _ -> S.RPPlusG
-    RPOpt   _ -> S.RPOpt
-    RPOptG  _ -> S.RPOptG
-
-sRPat :: SrcInfo loc => RPat loc -> S.RPat
-sRPat rp' = case rp' of
-    RPOp _ rp rop       -> S.RPOp (sRPat rp) (sRPatOp rop)
-    RPEither _ rp1 rp2  -> S.RPEither (sRPat rp1) (sRPat rp2)
-    RPSeq _ rps         -> S.RPSeq (map sRPat rps)
-    RPGuard _ p ss      -> S.RPGuard (sPat p) (map sStmt ss)
-    RPCAs _ n rp        -> S.RPCAs (sName n) (sRPat rp)
-    RPAs _ n rp         -> S.RPAs (sName n) (sRPat rp)
-    RPParen _ rp        -> S.RPParen (sRPat rp)
-    RPPat _ p           -> S.RPPat (sPat p)
-
-sPatField :: SrcInfo loc => PatField loc -> S.PatField
-sPatField pf = case pf of
-    PFieldPat _ qn p    -> S.PFieldPat (sQName qn) (sPat p)
-    PFieldPun _ qn      -> S.PFieldPun (sQName qn)
-    PFieldWildcard _    -> S.PFieldWildcard
-
-sStmt :: SrcInfo loc => Stmt loc -> S.Stmt
-sStmt stmt = case stmt of
-    Generator l p e     -> S.Generator (getPointLoc l) (sPat p) (sExp e)
-    Qualifier _ e       -> S.Qualifier (sExp e)
-    LetStmt _ bs        -> S.LetStmt (sBinds bs)
-    RecStmt _ ss        -> S.RecStmt (map sStmt ss)
-
-sQualStmt :: SrcInfo loc => QualStmt loc -> S.QualStmt
-sQualStmt qs = case qs of
-    QualStmt     _ stmt     -> S.QualStmt (sStmt stmt)
-    ThenTrans    _ e        -> S.ThenTrans (sExp e)
-    ThenBy       _ e1 e2    -> S.ThenBy (sExp e1) (sExp e2)
-    GroupBy      _ e        -> S.GroupBy (sExp e)
-    GroupUsing   _ e        -> S.GroupUsing (sExp e)
-    GroupByUsing _ e1 e2    -> S.GroupByUsing (sExp e1) (sExp e2)
-
-sFieldUpdate :: SrcInfo loc => FieldUpdate loc -> S.FieldUpdate
-sFieldUpdate fu = case fu of
-    FieldUpdate _ qn e      -> S.FieldUpdate (sQName qn) (sExp e)
-    FieldPun _ qn           -> S.FieldPun (sQName qn)
-    FieldWildcard _         -> S.FieldWildcard
-
-sAlt :: SrcInfo loc => Alt loc -> S.Alt
-sAlt (Alt l p galts mbs) = S.Alt (getPointLoc l) (sPat p) (sRhs galts) (sBinds `fmap` mbs)
diff --git a/src/Language/Haskell/Exts/Annotated/Syntax.hs b/src/Language/Haskell/Exts/Annotated/Syntax.hs
deleted file mode 100644
--- a/src/Language/Haskell/Exts/Annotated/Syntax.hs
+++ /dev/null
@@ -1,1835 +0,0 @@
-{-# LANGUAGE DeriveDataTypeable, DeriveFoldable, DeriveTraversable, DeriveFunctor, DeriveGeneric #-}
------------------------------------------------------------------------------
--- |
--- Module      :  Language.Haskell.Exts.Annotated.Syntax
--- Copyright   :  (c) Niklas Broberg 2004-2009,
---                (c) The GHC Team, 1997-2000
--- License     :  BSD-style (see the file LICENSE.txt)
---
--- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
--- Stability   :  stable
--- Portability :  portable
---
--- A suite of datatypes describing the (semi-concrete) abstract syntax of Haskell 98
--- <http://www.haskell.org/onlinereport/> plus registered extensions, including:
---
---   * multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)
---
---   * parameters of type class assertions are unrestricted (FlexibleContexts)
---
---   * 'forall' types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)
---
---   * pattern guards (PatternGuards)
---
---   * implicit parameters (ImplicitParameters)
---
---   * generalised algebraic data types (GADTs)
---
---   * template haskell (TemplateHaskell)
---
---   * empty data type declarations (EmptyDataDecls)
---
---   * unboxed tuples (UnboxedTuples)
---
---   * regular patterns (RegularPatterns)
---
---   * HSP-style XML expressions and patterns (XmlSyntax)
---
--- All nodes in the syntax tree are annotated with something of a user-definable data type.
--- When parsing, this annotation will contain information about the source location that the
--- particular node comes from.
---
------------------------------------------------------------------------------
-
-module Language.Haskell.Exts.Annotated.Syntax (
-    -- * Modules
-    Module(..), ModuleHead(..), WarningText(..), ExportSpecList(..), ExportSpec(..),
-    ImportDecl(..), ImportSpecList(..), ImportSpec(..), Assoc(..), Namespace(..),
-    -- * Declarations
-    Decl(..), DeclHead(..), InstRule(..), InstHead(..), Binds(..), IPBind(..), PatternSynDirection(..),
-    -- ** Type classes and instances
-    ClassDecl(..), InstDecl(..), Deriving(..),
-    -- ** Data type declarations
-    DataOrNew(..), ConDecl(..), FieldDecl(..), QualConDecl(..), GadtDecl(..), BangType(..),
-    -- ** Function bindings
-    Match(..), Rhs(..), GuardedRhs(..),
-    -- * Class Assertions and Contexts
-    Context(..), FunDep(..), Asst(..),
-    -- * Types
-    Type(..), Boxed(..), Kind(..), TyVarBind(..), Promoted(..),
-    TypeEqn (..),
-    -- * Expressions
-    Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),
-    Alt(..), XAttr(..),
-    -- * Patterns
-    Pat(..), PatField(..), PXAttr(..), RPat(..), RPatOp(..),
-    -- * Literals
-    Literal(..), Sign(..),
-    -- * Variables, Constructors and Operators
-    ModuleName(..), QName(..), Name(..), QOp(..), Op(..),
-    SpecialCon(..), CName(..), IPName(..), XName(..), Role(..),
-
-    -- * Template Haskell
-    Bracket(..), Splice(..),
-
-    -- * FFI
-    Safety(..), CallConv(..),
-
-    -- * Pragmas
-    ModulePragma(..), Tool(..), Overlap(..),
-    Rule(..), RuleVar(..), Activation(..),
-    Annotation(..), BooleanFormula(..),
-
-    -- * Builtin names
-
-    -- ** Modules
-    prelude_mod, main_mod,
-    -- ** Main function of a program
-    main_name,
-    -- ** Constructors
-    unit_con_name, tuple_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,
-    -- ** 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,
-
-    -- * Source coordinates
-    -- SrcLoc(..),
-
-    -- * Annotated trees
-    Annotated(..), (=~=),
-  ) where
-
-import Prelude hiding (id)
-
-import Data.Data
-import GHC.Generics (Generic)
-import Data.Foldable (Foldable)
-import Data.Traversable (Traversable)
-
--- | The name of a Haskell module.
-data ModuleName l = ModuleName l String
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Constructors with special syntax.
--- These names are never qualified, and always refer to builtin type or
--- data constructors.
-data SpecialCon l
-    = UnitCon l             -- ^ unit type and data constructor @()@
-    | ListCon l             -- ^ list type constructor @[]@
-    | FunCon  l             -- ^ function type constructor @->@
-    | TupleCon l Boxed Int  -- ^ /n/-ary tuple type and data
-                            --   constructors @(,)@ etc, possibly boxed @(\#,\#)@
-    | Cons l                -- ^ list data constructor @(:)@
-    | UnboxedSingleCon l    -- ^ unboxed singleton tuple constructor @(\# \#)@
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | This type is used to represent qualified variables, and also
--- qualified constructors.
-data QName l
-    = Qual    l (ModuleName l) (Name l) -- ^ name qualified with a module name
-    | UnQual  l                (Name l) -- ^ unqualified local name
-    | Special l (SpecialCon l)          -- ^ built-in constructor with special syntax
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | This type is used to represent variables, and also constructors.
-data Name l
-    = Ident  l String   -- ^ /varid/ or /conid/.
-    | Symbol l String   -- ^ /varsym/ or /consym/
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An implicit parameter name.
-data IPName l
-    = IPDup l String -- ^ ?/ident/, non-linear implicit parameter
-    | IPLin l String -- ^ %/ident/, linear implicit parameter
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Possibly qualified infix operators (/qop/), appearing in expressions.
-data QOp l
-    = QVarOp l (QName l) -- ^ variable operator (/qvarop/)
-    | QConOp l (QName l) -- ^ constructor operator (/qconop/)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Operators appearing in @infix@ declarations are never qualified.
-data Op l
-    = VarOp l (Name l)    -- ^ variable operator (/varop/)
-    | ConOp l (Name l)    -- ^ constructor operator (/conop/)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A name (/cname/) of a component of a class or data type in an @import@
--- or export specification.
-data CName l
-    = VarName l (Name l) -- ^ name of a method or field
-    | ConName l (Name l) -- ^ name of a data constructor
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A complete Haskell source module.
-data Module l
-    = Module l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]
-    -- ^ an ordinary Haskell module
-    | XmlPage l (ModuleName l) [ModulePragma l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]
-    -- ^ a module consisting of a single XML document. The ModuleName never appears in the source
-    --   but is needed for semantic purposes, it will be the same as the file name.
-    | XmlHybrid l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]
-                (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]
-    -- ^ a hybrid module combining an XML document with an ordinary module
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | The head of a module, including the name and export specification.
-data ModuleHead l = ModuleHead l (ModuleName l) (Maybe (WarningText l)) (Maybe (ExportSpecList l))
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An explicit export specification.
-data ExportSpecList l
-    = ExportSpecList l [ExportSpec l]
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An item in a module's export specification.
-data ExportSpec l
-     = EVar l (QName l)                 -- ^ variable.
-     | EAbs l (Namespace l) (QName l)   -- ^ @T@:
-                                        --   a class or datatype exported abstractly,
-                                        --   or a type synonym.
-     | EThingAll l (QName l)            -- ^ @T(..)@:
-                                        --   a class exported with all of its methods, or
-                                        --   a datatype exported with all of its constructors.
-     | EThingWith l (QName l) [CName l] -- ^ @T(C_1,...,C_n)@:
-                                        --   a class exported with some of its methods, or
-                                        --   a datatype exported with some of its constructors.
-     | EModuleContents l (ModuleName l) -- ^ @module M@:
-                                        --   re-export a module.
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Namespaces for imports/exports.
-data Namespace l = NoNamespace l | TypeNamespace l | PatternNamespace l
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An import declaration.
-data ImportDecl l = ImportDecl
-    { importAnn :: l                   -- ^ annotation, used by parser for position of the @import@ keyword.
-    , importModule :: ModuleName l     -- ^ name of the module imported.
-    , importQualified :: Bool          -- ^ imported @qualified@?
-    , importSrc :: Bool                -- ^ imported with @{-\# SOURCE \#-}@?
-    , importSafe :: Bool               -- ^ Import @safe@?
-    , importPkg :: Maybe String        -- ^ imported with explicit package name
-    , importAs :: Maybe (ModuleName l) -- ^ optional alias name in an @as@ clause.
-    , importSpecs :: Maybe (ImportSpecList l)
-            -- ^ optional list of import specifications.
-    }
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An explicit import specification list.
-data ImportSpecList l
-    = ImportSpecList l Bool [ImportSpec l]
-            -- 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)
-
--- | An import specification, representing a single explicit item imported
---   (or hidden) from a module.
-data ImportSpec l
-     = IVar l (Name l)                  -- ^ variable
-     | IAbs l (Namespace l) (Name l)    -- ^ @T@:
-                                        --   the name of a class, datatype or type synonym.
-     | IThingAll l (Name l)             -- ^ @T(..)@:
-                                        --   a class imported with all of its methods, or
-                                        --   a datatype imported with all of its constructors.
-     | IThingWith l (Name l) [CName l]  -- ^ @T(C_1,...,C_n)@:
-                                        --   a class imported with some of its methods, or
-                                        --   a datatype imported with some of its constructors.
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Associativity of an operator.
-data Assoc l
-     = AssocNone  l -- ^ non-associative operator (declared with @infix@)
-     | AssocLeft  l -- ^ left-associative operator (declared with @infixl@).
-     | AssocRight l -- ^ right-associative operator (declared with @infixr@)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A top-level declaration.
-data Decl l
-     = TypeDecl     l (DeclHead l) (Type l)
-     -- ^ A type declaration
-     | TypeFamDecl  l (DeclHead l) (Maybe (Kind l))
-     -- ^ A type family declaration
-     | ClosedTypeFamDecl  l (DeclHead l) (Maybe (Kind l))  [TypeEqn l]
-     -- ^ A closed type family declaration
-     | DataDecl     l (DataOrNew l) (Maybe (Context l)) (DeclHead l)                  [QualConDecl l] (Maybe (Deriving l))
-     -- ^ A data OR newtype declaration
-     | GDataDecl    l (DataOrNew l) (Maybe (Context l)) (DeclHead l) (Maybe (Kind l)) [GadtDecl l]    (Maybe (Deriving l))
-     -- ^ A data OR newtype declaration, GADT style
-     | DataFamDecl  l {-data-}      (Maybe (Context l)) (DeclHead l) (Maybe (Kind l))
-     -- ^ A data family declaration
-     | TypeInsDecl  l (Type l) (Type l)
-     -- ^ A type family instance declaration
-     | DataInsDecl  l (DataOrNew l) (Type l)                  [QualConDecl l] (Maybe (Deriving l))
-     -- ^ A data family instance declaration
-     | GDataInsDecl l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l]    (Maybe (Deriving l))
-     -- ^ A data family instance declaration, GADT style
-     | ClassDecl    l (Maybe (Context l)) (DeclHead l) [FunDep l] (Maybe [ClassDecl l])
-     -- ^ A declaration of a type class
-     | InstDecl     l (Maybe (Overlap l)) (InstRule l) (Maybe [InstDecl l])
-     -- ^ An declaration of a type class instance
-     | DerivDecl    l (Maybe (Overlap l)) (InstRule l)
-     -- ^ A standalone deriving declaration
-     | InfixDecl    l (Assoc l) (Maybe Int) [Op l]
-     -- ^ A declaration of operator fixity
-     | DefaultDecl  l [Type l]
-     -- ^ A declaration of default types
-     | SpliceDecl   l (Exp l)
-     -- ^ A 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)
-     -- ^ A pattern synonym signature declation
-     | FunBind      l [Match l]
-     -- ^ A set of function binding clauses
-     | PatBind      l (Pat l) (Rhs l) {-where-} (Maybe (Binds l))
-     -- ^ A pattern binding
-     | PatSyn l (Pat l) (Pat l) (PatternSynDirection l)
-     -- ^ A pattern synonym binding
-     | ForImp       l (CallConv l) (Maybe (Safety l)) (Maybe String) (Name l) (Type l)
-     -- ^ A foreign import declaration
-     | ForExp       l (CallConv l)                    (Maybe String) (Name l) (Type l)
-     -- ^ A foreign export declaration
-     | RulePragmaDecl   l [Rule l]
-     -- ^ A RULES pragma
-     | DeprPragmaDecl   l [([Name l], String)]
-     -- ^ A DEPRECATED pragma
-     | WarnPragmaDecl   l [([Name l], String)]
-     -- ^ A WARNING pragma
-     | InlineSig        l Bool (Maybe (Activation l)) (QName l)
-     -- ^ An INLINE pragma
-     | InlineConlikeSig l      (Maybe (Activation l)) (QName l)
-     -- ^ An INLINE CONLIKE pragma
-     | SpecSig          l      (Maybe (Activation l)) (QName l) [Type l]
-     -- ^ A SPECIALISE pragma
-     | SpecInlineSig    l Bool (Maybe (Activation l)) (QName l) [Type l]
-     -- ^ A SPECIALISE INLINE pragma
-     | InstSig          l      (InstRule l)
-     -- ^ A SPECIALISE instance pragma
-     | AnnPragma        l (Annotation l)
-     -- ^ An ANN pragma
-     | MinimalPragma    l (Maybe (BooleanFormula l))
-     -- ^ A MINIMAL pragma
-     | RoleAnnotDecl    l (QName l) [Role l]
-     -- ^ A role annotation
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
-data  PatternSynDirection l =
-      Unidirectional -- ^ A unidirectional pattern synonym with "<-"
-    | ImplicitBidirectional  -- ^ A bidirectional pattern synonym with "="
-    | ExplicitBidirectional l [Decl l]  -- ^ A birectional pattern synonym with the construction specified.
-    deriving (Eq, Ord, Show, Data, Typeable, Foldable, Traversable, Functor, Generic)
-
--- | A type equation as found in closed type families.
-data TypeEqn l = TypeEqn l (Type l) (Type l) deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An annotation through an ANN pragma.
-data Annotation l
-    = Ann       l (Name l)  (Exp l)
-    -- ^ An annotation for a declared name.
-    | TypeAnn   l (Name l)  (Exp l)
-    -- ^ An annotation for a declared type.
-    | ModuleAnn l           (Exp l)
-    -- ^ An annotation for the defining module.
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A boolean formula for MINIMAL pragmas.
-data BooleanFormula l
-    = VarFormula l (Name l)              -- ^ A variable.
-    | AndFormula l [BooleanFormula l]    -- ^ And boolean formulas.
-    | OrFormula l [BooleanFormula l]     -- ^ Or boolean formulas.
-    | ParenFormula l (BooleanFormula l)  -- ^ Parenthesized boolean formulas.
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
-data Role l
-  = Nominal l
-  | Representational l
-  | Phantom l
-  | RoleWildcard l
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A flag stating whether a declaration is a data or newtype declaration.
-data DataOrNew l = DataType l | NewType l
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | The head of a type or class declaration, which consists of the type
--- or class name applied to some type variables
---
--- @class C a b@ is represented as
---
--- >DHApp
--- >   ()
--- >   (DHApp
--- >      () (DHead () (Ident () "C")) (UnkindedVar () (Ident () "a")))
--- >   (UnkindedVar () (Ident () "b"))
---
--- (where the annotation type @l@ is instantiated with @()@)
---
--- @class (a :< b) c@ is represented as
---
--- >DHApp
--- >   ()
--- >   (DHParen
--- >      ()
--- >      (DHApp
--- >         ()
--- >         (DHInfix () (UnkindedVar () (Ident () "a")) (Symbol () ":<"))
--- >         (UnkindedVar () (Ident () "b"))))
--- >   (UnkindedVar () (Ident () "c"))
-data DeclHead l
-    = DHead l (Name l) -- ^ type or class name
-    | DHInfix l (TyVarBind l) (Name l) -- ^ infix application of the type/class name to the left operand
-    | DHParen l (DeclHead l) -- ^ parenthesized declaration head
-    | DHApp   l (DeclHead l) (TyVarBind l) -- ^ application to one more type variable
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | The instance declaration rule, which is, roughly, the part of the instance declaration before the @where@ keyword.
---
--- Example: @instance Ord a => Ord (Maybe a)@ is represented as
---
--- >IRule
--- >   ()
--- >   Nothing
--- >   (Just
--- >      (CxSingle
--- >         ()
--- >         (ClassA
--- >            () (UnQual () (Ident () "Ord")) [ TyVar () (Ident () "a") ])))
--- >   (IHApp
--- >      ()
--- >      (IHCon () (UnQual () (Ident () "Ord")))
--- >      (TyParen
--- >         ()
--- >         (TyApp
--- >            ()
--- >            (TyCon () (UnQual () (Ident () "Maybe")))
--- >            (TyVar () (Ident () "a")))))
---
--- An optional explicit forall after @instance@ is supported:
--- @instance forall a . Ord a => Ord (Maybe a) where@ becomes
---
--- >IRule
--- >   ()
--- >   (Just [ UnkindedVar () (Ident () "a") ])
--- >   ...
-data InstRule l
-    = IRule l (Maybe [TyVarBind l]) (Maybe (Context l)) (InstHead l)
-    | IParen l (InstRule l)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- See bugs #7 and #31 for more details and use cases for the rationale
--- of the split. DeclOrInstHead should be used by DeclHead as the name implies.
-
--- | The instance head. The split between rule/head allow us to represent
--- @instance (Bounded a => Bounded [a]) where@ faithfully.
---
--- The structure of 'InstHead' follows one of 'DeclHead'.
---
--- For example, @instance C (Maybe a) Int where@ is represented as
---
--- >IHApp
--- >   ()
--- >   (IHApp
--- >      ()
--- >      (IHCon () (UnQual () (Ident () "C")))
--- >      (TyParen
--- >         ()
--- >         (TyApp
--- >            ()
--- >            (TyCon () (UnQual () (Ident () "Maybe")))
--- >            (TyVar () (Ident () "a")))))
--- >   (TyCon () (UnQual () (Ident () "Int")))))
-data InstHead l
-    = IHCon l (QName l) -- ^ type or class name
-    | IHInfix l (Type l) (QName l) -- ^ infix application of the type/class name to the left operand
-    | IHParen l (InstHead l) -- ^ parenthesized instance head
-    | IHApp   l (InstHead l) (Type l) -- ^ application to one more type
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A deriving clause following a data type declaration.
-data Deriving l = Deriving l [InstRule l]
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A binding group inside a @let@ or @where@ clause.
-data Binds l
-    = BDecls  l [Decl l]     -- ^ An ordinary binding group
-    | IPBinds l [IPBind l]   -- ^ A binding group for implicit parameters
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A binding of an implicit parameter.
-data IPBind l = IPBind l (IPName l) (Exp l)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Clauses of a function binding.
-data Match l
-     = Match l      (Name l) [Pat l]         (Rhs l) {-where-} (Maybe (Binds l))
-        -- ^ A clause defined with prefix notation, i.e. the function name
-        --  followed by its argument patterns, the right-hand side and an
-        --  optional where clause.
-     | InfixMatch l (Pat l) (Name l) [Pat l] (Rhs l) {-where-} (Maybe (Binds l))
-        -- ^ A clause defined with infix notation, i.e. first its first argument
-        --  pattern, then the function name, then its following argument(s),
-        --  the right-hand side and an optional where clause.
-        --  Note that there can be more than two arguments to a function declared
-        --  infix, hence the list of pattern arguments.
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A single constructor declaration within a data type declaration,
---   which may have an existential quantification binding.
-data QualConDecl l
-    = QualConDecl l
-        {-forall-} (Maybe [TyVarBind l]) {- . -} (Maybe (Context l))
-        {- => -} (ConDecl l)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Declaration of an ordinary data constructor.
-data ConDecl l
-     = ConDecl l (Name l) [Type l]
-                -- ^ ordinary data constructor
-     | InfixConDecl l (Type l) (Name l) (Type l)
-                -- ^ infix data constructor
-     | RecDecl l (Name l) [FieldDecl l]
-                -- ^ record constructor
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Declaration of a (list of) named field(s).
-data FieldDecl l = FieldDecl l [Name l] (Type l)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
-
--- | A single constructor declaration in a GADT data type declaration.
---
--- If the GADT is declared using the record syntax, e.g.
---
--- >data Ty where
--- >  TCon :: { field1 :: Int, field2 :: Bool } -> Ty
---
--- then the fields are stored as a list of 'FieldDecl's, and the final type
--- (@Ty@ in the above example) is stored in the last 'Type' field.
---
--- If the GADT is declared using the ordinary syntax, e.g.
---
--- >data Ty where
--- >  TCon :: Int -> Bool -> Ty
---
--- 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)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Declarations inside a class declaration.
-data ClassDecl l
-    = ClsDecl    l (Decl l)
-            -- ^ ordinary declaration
-    | ClsDataFam l (Maybe (Context l)) (DeclHead l) (Maybe (Kind l))
-            -- ^ declaration of an associated data type
-    | ClsTyFam   l                     (DeclHead l) (Maybe (Kind l))
-            -- ^ declaration of an associated type synonym
-    | ClsTyDef   l (Type l) (Type l)
-            -- ^ default choice for an associated type synonym
-    | ClsDefSig  l (Name l) (Type l)
-            -- ^ default signature
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Declarations inside an instance declaration.
-data InstDecl l
-    = InsDecl   l (Decl l)
-            -- ^ ordinary declaration
-    | InsType   l (Type l) (Type l)
-            -- ^ an associated type definition
-    | InsData   l (DataOrNew l) (Type l) [QualConDecl l] (Maybe (Deriving l))
-            -- ^ an associated data type implementation
-    | InsGData  l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] (Maybe (Deriving l))
-            -- ^ an associated data type implemented using GADT style
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | The type of a constructor argument or field, optionally including
---   a strictness annotation.
-data BangType l
-     = BangedTy   l -- ^ strict component, marked with \"@!@\"
-     | UnpackedTy l -- ^ unboxed component, marked with an UNPACK pragma
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | The right hand side of a function binding, pattern binding, or a case
---   alternative.
-data Rhs l
-     = UnGuardedRhs l (Exp l) -- ^ unguarded right hand side (/exp/)
-     | GuardedRhss  l [GuardedRhs l]
-                -- ^ guarded right hand side (/gdrhs/)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A guarded right hand side @|@ /stmts/ @=@ /exp/, or @|@ /stmts/ @->@ /exp/
---   for case alternatives.
---   The guard is a series of statements when using pattern guards,
---   otherwise it will be a single qualifier expression.
-data GuardedRhs l
-     = GuardedRhs l [Stmt l] (Exp l)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A type qualified with a context.
---   An unqualified type has an empty context.
-data Type l
-     = TyForall l
-        (Maybe [TyVarBind l])
-        (Maybe (Context l))
-        (Type l)                                -- ^ qualified type
-     | TyFun   l (Type l) (Type l)              -- ^ function type
-     | TyTuple l Boxed [Type l]                 -- ^ tuple type, possibly boxed
-     | TyList  l (Type l)                       -- ^ list syntax, e.g. [a], as opposed to [] a
-     | TyParArray  l (Type l)                   -- ^ parallel array syntax, e.g. [:a:]
-     | TyApp   l (Type l) (Type l)              -- ^ application of a type constructor
-     | TyVar   l (Name l)                       -- ^ type variable
-     | TyCon   l (QName l)                      -- ^ named type or type constructor
-     | TyParen l (Type l)                       -- ^ type surrounded by parentheses
-     | TyInfix l (Type l) (QName l) (Type l)    -- ^ infix type constructor
-     | TyKind  l (Type l) (Kind l)              -- ^ type with explicit kind signature
-     | TyPromoted l (Promoted l)                -- ^ @'K@, a promoted data type (-XDataKinds).
-     | TyEquals l (Type l) (Type l)             -- ^ type equality predicate enabled by ConstraintKinds
-     | TySplice l (Splice l)                    -- ^ template haskell splice type
-     | TyBang l (BangType l) (Type l)           -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.
-     | TyWildCard l (Maybe (Name l))            -- ^ Either an anonymous of named type wildcard
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Bools here are True if there was a leading quote which may be
--- left out. For example @'[k1,k2]@ means the same thing as @[k1,k2]@.
-data Promoted l
-        = PromotedInteger l Integer String -- ^ parsed value and raw string
-        | PromotedString l String String -- ^ parsed value and raw string
-        | PromotedCon l Bool (QName l)
-        | PromotedList l Bool [Type l]
-        | PromotedTuple l [Type l]
-        | PromotedUnit l
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Flag denoting whether a tuple is boxed or unboxed.
-data Boxed = Boxed | Unboxed
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A type variable declaration, optionally with an explicit kind annotation.
-data TyVarBind l
-    = KindedVar   l (Name l) (Kind l)  -- ^ variable binding with kind annotation
-    | UnkindedVar l (Name l)           -- ^ ordinary variable binding
-  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)
-
-
--- | A functional dependency, given on the form
---   l1 l2 ... ln -> r2 r3 .. rn
-data FunDep l
-    = FunDep l [Name l] [Name l]
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A context is a set of assertions
-data Context l
-    = CxSingle l (Asst l)
-    | CxTuple  l [Asst l]
-    | CxEmpty  l
-  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
-        | 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/
--- Values of this type hold the abstract value of the literal, along with the
--- precise string representation used.  For example, @10@, @0o12@ and @0xa@
--- have the same value representation, but each carry a different string representation.
-data Literal l
-    = Char       l Char     String     -- ^ character literal
-    | String     l String   String     -- ^ string literal
-    | Int        l Integer  String     -- ^ integer literal
-    | Frac       l Rational String     -- ^ floating point literal
-    | PrimInt    l Integer  String     -- ^ unboxed integer literal
-    | PrimWord   l Integer  String     -- ^ unboxed word literal
-    | PrimFloat  l Rational String     -- ^ unboxed float literal
-    | PrimDouble l Rational String     -- ^ unboxed double literal
-    | PrimChar   l Char     String     -- ^ unboxed character literal
-    | PrimString l String   String     -- ^ unboxed string literal
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An indication whether a literal pattern has been negated or not.
-data Sign l
-    = Signless l
-    | Negative l
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Haskell expressions.
-data Exp l
-    = Var l (QName l)                       -- ^ variable
-    | IPVar l (IPName l)                    -- ^ implicit parameter variable
-    | Con l (QName l)                       -- ^ data constructor
-    | Lit l (Literal l)                     -- ^ literal constant
-    | InfixApp l (Exp l) (QOp l) (Exp l)    -- ^ infix application
-    | App l (Exp l) (Exp l)                 -- ^ ordinary application
-    | NegApp l (Exp l)                      -- ^ negation expression @-/exp/@ (unary minus)
-    | Lambda l [Pat l] (Exp l)              -- ^ lambda expression
-    | Let l (Binds l) (Exp l)               -- ^ local declarations with @let@ ... @in@ ...
-    | If l (Exp l) (Exp l) (Exp l)          -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/
-    | MultiIf l [GuardedRhs l]              -- ^ @if@ @|@ /stmts/ @->@ /exp/ ...
-    | Case l (Exp l) [Alt l]                -- ^ @case@ /exp/ @of@ /alts/
-    | Do l [Stmt l]                         -- ^ @do@-expression:
-                                            --   the last statement in the list
-                                            --   should be an expression.
-    | MDo l [Stmt l]                        -- ^ @mdo@-expression
-    | Tuple l Boxed [Exp l]                 -- ^ tuple expression
-    | TupleSection l Boxed [Maybe (Exp l)]  -- ^ tuple section expression, e.g. @(,,3)@
-    | List l [Exp l]                        -- ^ list expression
-    | ParArray l [Exp l]                    -- ^ parallel array expression
-    | Paren l (Exp l)                       -- ^ parenthesised expression
-    | LeftSection l (Exp l) (QOp l)         -- ^ left section @(@/exp/ /qop/@)@
-    | RightSection l (QOp l) (Exp l)        -- ^ right section @(@/qop/ /exp/@)@
-    | RecConstr l (QName l) [FieldUpdate l] -- ^ record construction expression
-    | RecUpdate l (Exp l)   [FieldUpdate l] -- ^ record update expression
-    | EnumFrom l (Exp l)                    -- ^ unbounded arithmetic sequence,
-                                            --   incrementing by 1: @[from ..]@
-    | EnumFromTo l (Exp l) (Exp l)          -- ^ bounded arithmetic sequence,
-                                            --   incrementing by 1 @[from .. to]@
-    | EnumFromThen l (Exp l) (Exp l)        -- ^ unbounded arithmetic sequence,
-                                            --   with first two elements given @[from, then ..]@
-    | EnumFromThenTo l (Exp l) (Exp l) (Exp l)
-                                            -- ^ bounded arithmetic sequence,
-                                            --   with first two elements given @[from, then .. to]@
-    | ParArrayFromTo l (Exp l) (Exp l)      -- ^ Parallel array bounded arithmetic sequence,
-                                            --   incrementing by 1 @[:from .. to:]@
-    | ParArrayFromThenTo l (Exp l) (Exp l) (Exp l)
-                                            -- ^ bounded arithmetic sequence,
-                                            --   with first two elements given @[:from, then .. to:]@
-    | ListComp l (Exp l) [QualStmt l]       -- ^ ordinary list comprehension
-    | ParComp  l (Exp l) [[QualStmt l]]     -- ^ parallel list comprehension
-    | ParArrayComp  l (Exp l) [[QualStmt l]] -- ^ parallel array comprehension
-    | ExpTypeSig l (Exp l) (Type l)         -- ^ expression with explicit type signature
-
-    | VarQuote l (QName l)                  -- ^ @'x@ for template haskell reifying of expressions
-    | TypQuote l (QName l)                  -- ^ @''T@ for template haskell reifying of types
-    | BracketExp l (Bracket l)              -- ^ template haskell bracket expression
-    | SpliceExp l (Splice l)                -- ^ template haskell splice expression
-    | QuasiQuote l String String            -- ^ quasi-quotaion: @[$/name/| /string/ |]@
-
--- Hsx
-    | XTag l (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]
-                                            -- ^ xml element, with attributes and children
-    | XETag l (XName l) [XAttr l] (Maybe (Exp l))
-                                            -- ^ empty xml element, with attributes
-    | XPcdata l String                      -- ^ PCDATA child element
-    | XExpTag l (Exp l)                     -- ^ escaped haskell expression inside xml
-    | XChildTag l [Exp l]                   -- ^ children of an xml element
-
-
--- Pragmas
-    | CorePragma l      String (Exp l)      -- ^ CORE pragma
-    | SCCPragma  l      String (Exp l)      -- ^ SCC pragma
-    | GenPragma  l      String (Int, Int) (Int, Int) (Exp l)
-                                            -- ^ GENERATED pragma
-
--- Arrows
-    | Proc            l (Pat l) (Exp l)     -- ^ arrows proc: @proc@ /pat/ @->@ /exp/
-    | LeftArrApp      l (Exp l) (Exp l)     -- ^ arrow application (from left): /exp/ @-<@ /exp/
-    | 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/
-
--- LambdaCase
-    | LCase l [Alt l]                       -- ^ @\case@ /alts/
-
--- Holes
-    | ExprHole l                            -- ^ Expression hole
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | The name of an xml element or attribute,
---   possibly qualified with a namespace.
-data XName l
-    = XName l String              -- <name ...
-    | XDomName l String String    -- <dom:name ...
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An xml attribute, which is a name-expression pair.
-data XAttr l = XAttr l (XName l) (Exp l)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A template haskell bracket expression.
-data Bracket l
-    = ExpBracket l (Exp l)        -- ^ expression bracket: @[| ... |]@
-    | PatBracket l (Pat l)        -- ^ pattern bracket: @[p| ... |]@
-    | TypeBracket l (Type l)      -- ^ type bracket: @[t| ... |]@
-    | DeclBracket l [Decl l]      -- ^ declaration bracket: @[d| ... |]@
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A template haskell splice expression
-data Splice l
-    = IdSplice l String           -- ^ variable splice: @$var@
-    | ParenSplice l (Exp l)       -- ^ parenthesised expression splice: @$(/exp/)@
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | The safety of a foreign function call.
-data Safety l
-    = PlayRisky l         -- ^ unsafe
-    | PlaySafe l Bool     -- ^ safe ('False') or threadsafe ('True')
-    | PlayInterruptible l -- ^ interruptible
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | The calling convention of a foreign function call.
-data CallConv l
-    = StdCall l
-    | CCall l
-    | CPlusPlus l
-    | DotNet l
-    | Jvm l
-    | Js l
-    | JavaScript l
-    | CApi l
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A top level options pragma, preceding the module header.
-data ModulePragma l
-    = LanguagePragma   l [Name l]  -- ^ LANGUAGE pragma
-    | OptionsPragma    l (Maybe Tool) String
-                        -- ^ OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC
-    | AnnModulePragma  l (Annotation l)
-                        -- ^ ANN pragma with module scope
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Recognised tools for OPTIONS pragmas.
-data Tool = GHC | HUGS | NHC98 | YHC | HADDOCK | UnknownTool String
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Recognised overlaps for overlap pragmas.
-data Overlap l
-    = NoOverlap l   -- ^ NO_OVERLAP pragma
-    | Overlap l     -- ^ OVERLAP pragma
-    | Incoherent l  -- ^ INCOHERENT pragma
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Activation clause of a RULES pragma.
-data Activation l
-    = ActiveFrom   l Int
-    | ActiveUntil  l Int
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | The body of a RULES pragma.
-data Rule l
-    = Rule l String (Maybe (Activation l)) (Maybe [RuleVar l]) (Exp l) (Exp l)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Variables used in a RULES pragma, optionally annotated with types
-data RuleVar l
-    = RuleVar l (Name l)
-    | TypedRuleVar l (Name l) (Type l)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | Warning text to optionally use in the module header of e.g.
---   a deprecated module.
-data WarningText l
-    = DeprText l String
-    | WarnText l String
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
-
--- | A pattern, to be matched against a value.
-data Pat l
-    = PVar l (Name l)                       -- ^ variable
-    | PLit l (Sign l) (Literal l)           -- ^ literal constant
-    | PNPlusK l (Name l) Integer            -- ^ n+k pattern
-    | PInfixApp l (Pat l) (QName l) (Pat l) -- ^ pattern with an infix data constructor
-    | PApp l (QName l) [Pat l]              -- ^ data constructor and argument patterns
-    | PTuple l Boxed [Pat l]                -- ^ tuple pattern
-    | PList l [Pat l]                       -- ^ list pattern
-    | PParen l (Pat l)                      -- ^ parenthesized pattern
-    | PRec l (QName l) [PatField l]         -- ^ labelled pattern, record style
-    | PAsPat l (Name l) (Pat l)             -- ^ @\@@-pattern
-    | PWildCard l                           -- ^ wildcard pattern: @_@
-    | PIrrPat l (Pat l)                     -- ^ irrefutable pattern: @~/pat/@
-    | PatTypeSig l (Pat l) (Type l)         -- ^ pattern with type signature
-    | PViewPat l (Exp l) (Pat l)            -- ^ view patterns of the form @(/exp/ -> /pat/)@
-    | PRPat l [RPat l]                      -- ^ regular list pattern
-    | PXTag l (XName l) [PXAttr l] (Maybe (Pat l)) [Pat l]
-                                            -- ^ XML element pattern
-    | PXETag l (XName l) [PXAttr l] (Maybe (Pat l))
-                                            -- ^ XML singleton element pattern
-    | PXPcdata l String                     -- ^ XML PCDATA pattern
-    | PXPatTag l (Pat l)                    -- ^ XML embedded pattern
-    | PXRPats  l [RPat l]                   -- ^ XML regular list pattern
-    | PQuasiQuote l String String           -- ^ quasi quote pattern: @[$/name/| /string/ |]@
-    | PBangPat l (Pat l)                    -- ^ strict (bang) pattern: @f !x = ...@
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An XML attribute in a pattern.
-data PXAttr l = PXAttr l (XName l) (Pat l)
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A regular pattern operator.
-data RPatOp l
-    = RPStar  l  -- ^ @*@ = 0 or more
-    | RPStarG l  -- ^ @*!@ = 0 or more, greedy
-    | RPPlus  l  -- ^ @+@ = 1 or more
-    | RPPlusG l  -- ^ @+!@ = 1 or more, greedy
-    | RPOpt   l  -- ^ @?@ = 0 or 1
-    | RPOptG  l  -- ^ @?!@ = 0 or 1, greedy
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An entity in a regular pattern.
-data RPat l
-    = RPOp l (RPat l) (RPatOp l)   -- ^ operator pattern, e.g. pat*
-    | RPEither l (RPat l) (RPat l) -- ^ choice pattern, e.g. (1 | 2)
-    | RPSeq l [RPat l]             -- ^ sequence pattern, e.g. (| 1, 2, 3 |)
-    | RPGuard l (Pat l) [Stmt l]   -- ^ guarded pattern, e.g. (| p | p < 3 |)
-    | RPCAs l (Name l) (RPat l)    -- ^ non-linear variable binding, e.g. (foo\@:(1 | 2))*
-    | RPAs l (Name l) (RPat l)     -- ^ linear variable binding, e.g. foo\@(1 | 2)
-    | RPParen l (RPat l)           -- ^ parenthesised pattern, e.g. (2*)
-    | RPPat l (Pat l)              -- ^ an ordinary pattern
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An /fpat/ in a labeled record pattern.
-data PatField l
-    = PFieldPat l (QName l) (Pat l)     -- ^ ordinary label-pattern pair
-    | PFieldPun l (QName l)             -- ^ record field pun
-    | PFieldWildcard l                  -- ^ record field wildcard
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A statement, representing both a /stmt/ in a @do@-expression,
---   an ordinary /qual/ in a list comprehension, as well as a /stmt/
---   in a pattern guard.
-data Stmt l
-    = Generator l (Pat l) (Exp l)
-                            -- ^ a generator: /pat/ @<-@ /exp/
-    | Qualifier l (Exp l)   -- ^ an /exp/ by itself: in a @do@-expression,
-                            --   an action whose result is discarded;
-                            --   in a list comprehension and pattern guard,
-                            --   a guard expression
-    | LetStmt l (Binds l)   -- ^ local bindings
-    | RecStmt l [Stmt l]    -- ^ a recursive binding group for arrows
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | A general /transqual/ in a list comprehension,
---   which could potentially be a transform of the kind
---   enabled by TransformListComp.
-data QualStmt l
-    = QualStmt     l (Stmt l)         -- ^ an ordinary statement
-    | ThenTrans    l (Exp l)          -- ^ @then@ /exp/
-    | ThenBy       l (Exp l) (Exp l)  -- ^ @then@ /exp/ @by@ /exp/
-    | GroupBy      l (Exp l)          -- ^ @then@ @group@ @by@ /exp/
-    | GroupUsing   l (Exp l)          -- ^ @then@ @group@ @using@ /exp/
-    | GroupByUsing l (Exp l) (Exp l)  -- ^ @then@ @group@ @by@ /exp/ @using@ /exp/
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An /fbind/ in a labeled construction or update expression.
-data FieldUpdate l
-    = FieldUpdate l (QName l) (Exp l)    -- ^ ordinary label-expresion pair
-    | FieldPun l (QName l)               -- ^ record field pun
-    | FieldWildcard l                    -- ^ record field wildcard
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
--- | An /alt/ alternative in a @case@ expression.
-data Alt l
-    = Alt l (Pat l) (Rhs l) (Maybe (Binds l))
-  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
-
------------------------------------------------------------------------------
--- Builtin names.
-
-prelude_mod, main_mod :: l -> ModuleName l
-prelude_mod l = ModuleName l "Prelude"
-main_mod    l = ModuleName l "Main"
-
-main_name :: l -> Name l
-main_name l = Ident l "main"
-
-unit_con_name :: l -> QName l
-unit_con_name l = Special l (UnitCon l)
-
-tuple_con_name :: l -> Boxed -> Int -> QName l
-tuple_con_name l b i = Special l (TupleCon l b (i+1))
-
-list_cons_name :: l -> QName l
-list_cons_name l = Special l (Cons l)
-
-unboxed_singleton_con_name :: l -> QName l
-unboxed_singleton_con_name l = Special l (UnboxedSingleCon l)
-
-unit_con :: l -> Exp l
-unit_con l = Con l $ unit_con_name l
-
-tuple_con :: l -> Boxed -> Int -> Exp l
-tuple_con l b i = Con l (tuple_con_name l b i)
-
-unboxed_singleton_con :: l -> Exp l
-unboxed_singleton_con l = Con l (unboxed_singleton_con_name l)
-
-as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name :: l -> Name l
-as_name        l = Ident  l "as"
-qualified_name l = Ident  l "qualified"
-hiding_name    l = Ident  l "hiding"
-minus_name     l = Symbol l "-"
-bang_name      l = Symbol l "!"
-dot_name       l = Symbol l "."
-star_name      l = Symbol l "*"
-
-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 :: l -> Name l
-export_name     l = Ident l "export"
-safe_name       l = Ident l "safe"
-unsafe_name     l = Ident l "unsafe"
-interruptible_name l = Ident l "interruptible"
-threadsafe_name l = Ident l "threadsafe"
-stdcall_name    l = Ident l "stdcall"
-ccall_name      l = Ident l "ccall"
-cplusplus_name  l = Ident l "cplusplus"
-dotnet_name     l = Ident l "dotnet"
-jvm_name        l = Ident l "jvm"
-js_name         l = Ident l "js"
-javascript_name l = Ident l "javascript"
-capi_name       l = Ident l "capi"
-forall_name     l = Ident l "forall"
-family_name     l = Ident l "family"
-
-unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: l -> QName l
-unit_tycon_name l = unit_con_name l
-fun_tycon_name  l = Special l (FunCon l)
-list_tycon_name l = Special l (ListCon l)
-unboxed_singleton_tycon_name l = Special l (UnboxedSingleCon l)
-
-tuple_tycon_name :: l -> Boxed -> Int -> QName l
-tuple_tycon_name l b i = tuple_con_name l b i
-
-unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: l -> Type l
-unit_tycon l = TyCon l $ unit_tycon_name l
-fun_tycon  l = TyCon l $ fun_tycon_name  l
-list_tycon l = TyCon l $ list_tycon_name l
-unboxed_singleton_tycon l = TyCon l $ unboxed_singleton_tycon_name l
-
-tuple_tycon :: l -> Boxed -> Int -> Type l
-tuple_tycon l b i = TyCon l (tuple_tycon_name l b i)
-
------------------------------------------------------------------------------
--- AST traversal, boiler-plate style
-
--- | Test if two AST elements are equal modulo annotations.
-(=~=) :: (Annotated a, Eq (a ())) => a l1 -> a l2 -> Bool
-a =~= b = fmap (const ()) a == fmap (const ()) b
-
------------------------------------------------------------------------------
--- Reading annotations
-
--- | AST nodes are annotated, and this class allows manipulation of the annotations.
-class Functor ast => Annotated ast where
-    -- | Retrieve the annotation of an AST node.
-    ann :: ast l -> l
-    -- | Change the annotation of an AST node. Note that only the annotation of
-    --   the node itself is affected, and not the annotations of any child nodes.
-    --   if all nodes in the AST tree are to be affected, use 'fmap'.
-    amap :: (l -> l) -> ast l -> ast l
-
-instance Annotated ModuleName where
-    ann (ModuleName l _) = l
-    amap f (ModuleName l n) = ModuleName (f l) n
-
-instance Annotated SpecialCon where
-    ann sc = case sc of
-        UnitCon l   -> l
-        ListCon l   -> l
-        FunCon  l   -> l
-        TupleCon l _ _  -> l
-        Cons l      -> l
-        UnboxedSingleCon l  -> l
-    amap = fmap
-
-instance Annotated QName where
-    ann qn = case qn of
-        Qual    l _ _  -> l
-        UnQual  l   _  -> l
-        Special l _    -> l
-    amap f qn = case qn of
-        Qual    l mn n  -> Qual    (f l) mn n
-        UnQual  l    n  -> UnQual  (f l)    n
-        Special l sc    -> Special (f l) sc
-
-instance Annotated Name where
-    ann (Ident  l _) = l
-    ann (Symbol l _) = l
-    amap = fmap
-
-instance Annotated IPName where
-    ann (IPDup l _) = l
-    ann (IPLin l _) = l
-    amap = fmap
-
-instance Annotated QOp where
-    ann (QVarOp l _) = l
-    ann (QConOp l _) = l
-    amap f (QVarOp l qn) = QVarOp (f l) qn
-    amap f (QConOp l qn) = QConOp (f l) qn
-
-instance Annotated Op where
-    ann (VarOp l _) = l
-    ann (ConOp l _) = l
-    amap f (VarOp l n) = VarOp (f l) n
-    amap f (ConOp l n) = ConOp (f l) n
-
-instance Annotated CName where
-    ann (VarName l _) = l
-    ann (ConName l _) = l
-    amap f (VarName l n) = VarName (f l) n
-    amap f (ConName l n) = ConName (f l) n
-
-instance Annotated Module where
-    ann (Module l _ _ _ _)            = l
-    ann (XmlPage l _ _ _ _ _ _)       = l
-    ann (XmlHybrid l _ _ _ _ _ _ _ _) = l
-
-    amap f (Module l mmh ops iss dcls) =
-        Module (f l) mmh ops iss dcls
-    amap f (XmlPage l mn os xn xas me es) =
-        XmlPage (f l) mn os xn xas me es
-    amap f (XmlHybrid l mmh ops iss dcls xn xas me es) =
-        XmlHybrid (f l) mmh ops iss dcls xn xas me es
-
-instance Annotated ModuleHead where
-    ann (ModuleHead l _ _ _)         = l
-    amap f (ModuleHead l n mwt mesl) = ModuleHead (f l) n mwt mesl
-
-instance Annotated ExportSpecList where
-    ann (ExportSpecList l _)      = l
-    amap f (ExportSpecList l ess) = ExportSpecList (f l) ess
-
-instance Annotated ExportSpec where
-    ann es = case es of
-        EVar l _            -> l
-        EAbs l _ _          -> l
-        EThingAll l _       -> l
-        EThingWith l _ _    -> l
-        EModuleContents l _ -> l
-    amap f es = case es of
-        EVar l qn     -> EVar (f l) qn
-        EAbs l n qn       -> EAbs (f l) n qn
-        EThingAll l qn  -> EThingAll (f l) qn
-        EThingWith l qn cns -> EThingWith (f l) qn cns
-        EModuleContents l mn    -> EModuleContents (f l) mn
-
-instance Annotated Namespace where
-    ann es = case es of
-        NoNamespace l   -> l
-        TypeNamespace l -> l
-        PatternNamespace l -> l
-    amap f es = case es of
-        NoNamespace l   -> NoNamespace (f l)
-        TypeNamespace l -> TypeNamespace (f l)
-        PatternNamespace l -> PatternNamespace (f l)
-
-instance Annotated ImportDecl where
-    ann (ImportDecl l _ _ _ _ _ _ _) = l
-    amap f (ImportDecl l mn qual src safe pkg mmn mis) =
-        ImportDecl (f l) mn qual src safe pkg mmn mis
-
-instance Annotated ImportSpecList where
-    ann (ImportSpecList l _ _)      = l
-    amap f (ImportSpecList l b iss) = ImportSpecList (f l) b iss
-
-instance Annotated ImportSpec where
-    ann is = case is of
-        IVar l _         -> l
-        IAbs l _ _       -> l
-        IThingAll l _    -> l
-        IThingWith l _ _ -> l
-    amap f is = case is of
-        IVar l n        -> IVar (f l) n
-        IAbs l ns n     -> IAbs (f l) ns n
-        IThingAll l n   -> IThingAll (f l) n
-        IThingWith l n cns  -> IThingWith (f l) n cns
-
-instance Annotated Assoc where
-    ann (AssocNone  l) = l
-    ann (AssocLeft  l) = l
-    ann (AssocRight l) = l
-    amap = fmap
-
-instance Annotated Deriving where
-    ann (Deriving l _)      = l
-    amap f (Deriving l ihs) = Deriving (f l) ihs
-
-instance Annotated TypeEqn where
-    ann (TypeEqn l _ _) = l
-    amap f (TypeEqn l a b) = TypeEqn (f l) a b
-
-instance Annotated Decl where
-    ann decl = case decl of
-        TypeDecl     l _ _              -> l
-        TypeFamDecl  l _ _              -> l
-        ClosedTypeFamDecl  l _ _ _      -> l
-        DataDecl     l _ _ _ _ _        -> l
-        GDataDecl    l _ _ _ _ _ _      -> l
-        DataFamDecl  l    _ _ _         -> l
-        TypeInsDecl  l _  _             -> l
-        DataInsDecl  l _ _ _ _          -> l
-        GDataInsDecl l _ _ _ _ _        -> l
-        ClassDecl    l _ _ _ _          -> l
-        InstDecl     l _ _ _            -> l
-        DerivDecl    l _ _              -> l
-        InfixDecl    l _ _ _            -> l
-        DefaultDecl  l _                -> l
-        SpliceDecl   l _                -> l
-        TypeSig      l _ _              -> l
-        PatSynSig    l _ _ _ _ _        -> l
-        FunBind      l _                -> l
-        PatBind      l _ _ _            -> l
-        ForImp       l _ _ _ _ _        -> l
-        ForExp       l _ _ _ _          -> l
-        RulePragmaDecl   l _            -> l
-        DeprPragmaDecl   l _            -> l
-        WarnPragmaDecl   l _            -> l
-        InlineSig        l _ _ _        -> l
-        InlineConlikeSig l   _ _        -> l
-        SpecSig          l   _ _ _      -> l
-        SpecInlineSig    l _ _ _ _      -> l
-        InstSig          l _            -> l
-        AnnPragma        l _            -> l
-        MinimalPragma    l _            -> l
-        RoleAnnotDecl    l _ _          -> l
-        PatSyn           l _ _ _        -> l
-    amap f decl = case decl of
-        TypeDecl     l dh t      -> TypeDecl    (f l) dh t
-        TypeFamDecl  l dh mk     -> TypeFamDecl (f l) dh mk
-        ClosedTypeFamDecl  l dh mk eqns  -> ClosedTypeFamDecl (f l) dh mk eqns
-        DataDecl     l dn mcx dh cds ders ->
-            DataDecl (f l) dn mcx dh cds ders
-        GDataDecl    l dn mcx dh mk gds ders ->
-            GDataDecl (f l) dn mcx dh mk gds ders
-        DataFamDecl  l mcx dh mk         -> DataFamDecl (f l) mcx dh mk
-        TypeInsDecl  l t1 t2             -> TypeInsDecl (f l) t1 t2
-        DataInsDecl  l dn t cds ders     -> DataInsDecl (f l) dn t cds ders
-        GDataInsDecl l dn t mk gds ders  -> GDataInsDecl (f l) dn t mk gds ders
-        ClassDecl    l mcx dh fds cds    -> ClassDecl (f l) mcx dh fds cds
-        InstDecl     l mo ih ids         -> InstDecl (f l) mo ih ids
-        DerivDecl    l mo ih             -> DerivDecl (f l) mo ih
-        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
-        TypeSig      l ns t              -> TypeSig (f l) ns t
-        PatSynSig    l n dh c1 c2 t      -> PatSynSig (f l) n dh c1 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
-        ForExp       l cc     s n t      -> ForExp (f l) cc     s n t
-        RulePragmaDecl   l rs            -> RulePragmaDecl (f l) rs
-        DeprPragmaDecl   l nss           -> DeprPragmaDecl (f l) nss
-        WarnPragmaDecl   l nss           -> WarnPragmaDecl (f l) nss
-        InlineSig        l b act qn      -> InlineSig (f l) b act qn
-        InlineConlikeSig l   act qn      -> InlineConlikeSig (f l) act qn
-        SpecSig          l   act qn ts   -> SpecSig       (f l)   act qn ts
-        SpecInlineSig    l b act qn ts   -> SpecInlineSig (f l) b act qn ts
-        InstSig          l ih            -> InstSig (f l) ih
-        AnnPragma        l ann'          -> AnnPragma (f l) ann'
-        MinimalPragma    l b             -> MinimalPragma (f l) b
-        RoleAnnotDecl    l t rs          -> RoleAnnotDecl (f l) t rs
-        PatSyn           l p r d         -> PatSyn (f l) p r d
-
-instance Annotated Role where
-    ann r = case r of
-      RoleWildcard l -> l
-      Representational l -> l
-      Phantom l -> l
-      Nominal l -> l
-    amap f r = case r of
-      RoleWildcard l -> RoleWildcard (f l)
-      Representational l -> Representational (f l)
-      Phantom l -> Phantom (f l)
-      Nominal l -> Nominal (f l)
-
-instance Annotated Annotation where
-    ann (Ann     l _ _) = l
-    ann (TypeAnn l _ _) = l
-    ann (ModuleAnn l _) = l
-    amap f (Ann     l n e) = Ann     (f l) n e
-    amap f (TypeAnn l n e) = TypeAnn (f l) n e
-    amap f (ModuleAnn l e) = ModuleAnn (f l) e
-
-instance Annotated BooleanFormula where
-    ann (VarFormula l _)   = l
-    ann (AndFormula l _)   = l
-    ann (OrFormula l _)    = l
-    ann (ParenFormula l _) = l
-    amap f (VarFormula l n)   = VarFormula (f l) n
-    amap f (AndFormula l bs)  = AndFormula (f l) bs
-    amap f (OrFormula l bs)   = OrFormula (f l) bs
-    amap f (ParenFormula l b) = ParenFormula (f l) b
-
-instance Annotated DataOrNew where
-    ann (DataType l) = l
-    ann (NewType  l) = l
-    amap = fmap
-
-instance Annotated DeclHead where
-    ann (DHead l _)              = l
-    ann (DHInfix l _ _)          = l
-    ann (DHParen l _)            = l
-    ann (DHApp l _ _)            = l
-    amap f (DHead l n)           = DHead (f l) n
-    amap f (DHInfix l tva n)     = DHInfix (f l) tva n
-    amap f (DHParen l dh)        = DHParen (f l) dh
-    amap f (DHApp l dh t)        = DHApp (f l) dh t
-
-instance Annotated InstRule where
-    ann (IRule l _ _ _)         = l
-    ann (IParen l _)            = l
-    amap f (IRule l mtv cxt qn) = IRule (f l) mtv cxt qn
-    amap f (IParen l ih)        = IParen (f l) ih
-
-instance Annotated InstHead where
-    ann (IHCon l _)              = l
-    ann (IHInfix l _ _)          = l
-    ann (IHParen l _)            = l
-    ann (IHApp l _ _)            = l
-    amap f (IHCon l n)           = IHCon (f l) n
-    amap f (IHInfix l tva n)     = IHInfix (f l) tva n
-    amap f (IHParen l dh)        = IHParen (f l) dh
-    amap f (IHApp l dh t)        = IHApp (f l) dh t
-
-instance Annotated Binds where
-    ann (BDecls  l _) = l
-    ann (IPBinds l _) = l
-    amap f (BDecls  l decls) = BDecls (f l) decls
-    amap f (IPBinds l ibs)   = IPBinds (f l) ibs
-
-instance Annotated IPBind where
-    ann (IPBind l _ _) = l
-    amap f (IPBind l ipn e) = IPBind (f l) ipn e
-
-instance Annotated Match where
-    ann (Match l _ _ _ _)        = l
-    ann (InfixMatch l _ _ _ _ _) = l
-    amap f (Match l n ps rhs bs) = Match (f l) n ps rhs bs
-    amap f (InfixMatch l a n b rhs bs) = InfixMatch (f l) a n b rhs bs
-
-instance Annotated QualConDecl where
-    ann (QualConDecl l _ _ _) = l
-    amap f (QualConDecl l tvs cx cd) = QualConDecl (f l) tvs cx cd
-
-instance Annotated ConDecl where
-    ann (ConDecl l _ _)        = l
-    ann (InfixConDecl l _ _ _) = l
-    ann (RecDecl l _ _)        = l
-    amap f (ConDecl l n bts) = ConDecl (f l) n bts
-    amap f (InfixConDecl l ta n tb) = InfixConDecl (f l) ta n tb
-    amap f (RecDecl l n fds) = RecDecl (f l) n fds
-
-instance Annotated FieldDecl where
-    ann (FieldDecl l _ _) = l
-    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
-
-instance Annotated ClassDecl where
-    ann (ClsDecl    l _)      = l
-    ann (ClsDataFam l _ _ _)  = l
-    ann (ClsTyFam   l    _ _) = l
-    ann (ClsTyDef   l _ _)    = l
-    ann (ClsDefSig  l _ _)    = l
-    amap f (ClsDecl    l d) = ClsDecl (f l) d
-    amap f (ClsDataFam l mcx dh mk) = ClsDataFam (f l) mcx dh mk
-    amap f (ClsTyFam   l     dh mk) = ClsTyFam   (f l)     dh mk
-    amap f (ClsTyDef   l t1 t2) = ClsTyDef (f l) t1 t2
-    amap f (ClsDefSig  l n t) = ClsDefSig (f l) n t
-
-instance Annotated InstDecl where
-    ann id = case id of
-        InsDecl   l _            -> l
-        InsType   l _ _          -> l
-        InsData   l _ _  _ _     -> l
-        InsGData  l _ _ _ _ _    -> l
---        InsInline l _ _ _    -> l
-    amap f id = case id of
-        InsDecl   l d           -> InsDecl (f l) d
-        InsType   l t1 t2       -> InsType (f l) t1 t2
-        InsData   l dn t    cds ders -> InsData  (f l) dn t    cds ders
-        InsGData  l dn t mk gds ders -> InsGData (f l) dn t mk gds ders
---        InsInline l b act qn    -> InsInline (f l) b act qn
-
-instance Annotated BangType where
-     ann (BangedTy   l)    = l
-     ann (UnpackedTy l)    = l
-     amap f (BangedTy   l) = BangedTy (f l)
-     amap f (UnpackedTy l) = UnpackedTy (f l)
-
-instance Annotated Rhs where
-     ann (UnGuardedRhs l _) = l
-     ann (GuardedRhss  l _) = l
-     amap f (UnGuardedRhs l e)     = UnGuardedRhs (f l) e
-     amap f (GuardedRhss  l grhss) = GuardedRhss  (f l) grhss
-
-instance Annotated GuardedRhs where
-     ann (GuardedRhs l _ _) = l
-     amap f (GuardedRhs l ss e) = GuardedRhs (f l) ss e
-
-instance Annotated Type where
-    ann t = case t of
-      TyForall l _ _ _              -> l
-      TyFun   l _ _                 -> l
-      TyTuple l _ _                 -> l
-      TyList  l _                   -> l
-      TyParArray  l _               -> l
-      TyApp   l _ _                 -> l
-      TyVar   l _                   -> l
-      TyCon   l _                   -> l
-      TyParen l _                   -> l
-      TyInfix l _ _ _               -> l
-      TyKind  l _ _                 -> l
-      TyPromoted l   _              -> l
-      TyEquals l _ _                -> l
-      TySplice l _                  -> l
-      TyBang l _ _                  -> l
-      TyWildCard l _                -> l
-    amap f t1 = case t1 of
-      TyForall l mtvs mcx t         -> TyForall (f l) mtvs mcx t
-      TyFun   l t1' t2              -> TyFun (f l) t1' t2
-      TyTuple l b ts                -> TyTuple (f l) b ts
-      TyList  l t                   -> TyList (f l) t
-      TyParArray  l t               -> TyParArray (f l) t
-      TyApp   l t1' t2              -> TyApp (f l) t1' t2
-      TyVar   l n                   -> TyVar (f l) n
-      TyCon   l qn                  -> TyCon (f l) qn
-      TyParen l t                   -> TyParen (f l) t
-      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 a b                -> TyEquals (f l) a b
-      TySplice l s                  -> TySplice (f l) s
-      TyBang l b t                  -> TyBang (f l) b t
-      TyWildCard l n                -> TyWildCard (f l) n
-
-instance Annotated TyVarBind where
-    ann (KindedVar   l _ _) = l
-    ann (UnkindedVar l _)   = l
-    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
-
-instance Annotated Context where
-    ann (CxSingle l _) = l
-    ann (CxTuple  l _) = l
-    ann (CxEmpty  l)   = l
-    amap f (CxSingle l asst ) = CxSingle (f l) asst
-    amap f (CxTuple  l assts) = CxTuple  (f l) assts
-    amap f (CxEmpty l) = CxEmpty (f l)
-
-instance Annotated Asst where
-    ann asst = case asst of
-        ClassA l _ _     -> l
-        AppA l _ _       -> l
-        InfixA 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
-        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
-        Char    l _    _  -> l
-        String  l _    _  -> l
-        Int     l _    _  -> l
-        Frac    l _    _  -> l
-        PrimInt    l _ _  -> l
-        PrimWord   l _ _  -> l
-        PrimFloat  l _ _  -> l
-        PrimDouble l _ _  -> l
-        PrimChar   l _ _  -> l
-        PrimString l _ _  -> l
-    amap = fmap
-
-instance Annotated Sign where
-    ann sg = case sg of
-        Signless l -> l
-        Negative l -> l
-    amap = fmap
-
-instance Annotated Exp where
-    ann e = case e of
-        Var l _                -> l
-        IPVar l _              -> l
-        Con l _                -> l
-        Lit l _                -> l
-        InfixApp l _ _ _       -> l
-        App l _ _              -> l
-        NegApp l _             -> l
-        Lambda l _ _           -> l
-        Let l _ _              -> l
-        If l _ _ _             -> l
-        MultiIf l _            -> l
-        Case l _ _             -> l
-        Do l _                 -> l
-        MDo l _                -> l
-        Tuple l _ _            -> l
-        TupleSection l _ _     -> l
-        List l _               -> l
-        ParArray l _           -> l
-        Paren l _              -> l
-        LeftSection l _ _      -> l
-        RightSection l _ _     -> l
-        RecConstr l _ _        -> l
-        RecUpdate l _ _        -> l
-        EnumFrom l _           -> l
-        EnumFromTo l _ _       -> l
-        EnumFromThen l _ _     -> l
-        EnumFromThenTo l _ _ _ -> l
-        ParArrayFromTo l _ _   -> l
-        ParArrayFromThenTo l _ _ _ -> l
-        ListComp l _ _         -> l
-        ParComp  l _ _         -> l
-        ParArrayComp  l _ _    -> l
-        ExpTypeSig l _ _       -> l
-        VarQuote l _           -> l
-        TypQuote l _           -> l
-        BracketExp l _         -> l
-        SpliceExp l _          -> l
-        QuasiQuote l _ _       -> l
-
-        XTag  l _ _ _ _        -> l
-        XETag l _ _ _          -> l
-        XPcdata l _            -> l
-        XExpTag l _            -> l
-        XChildTag l _          -> l
-
-        CorePragma l _ _       -> l
-        SCCPragma  l _ _       -> l
-        GenPragma  l _ _ _ _   -> l
-
-        Proc            l _ _  -> l
-        LeftArrApp      l _ _  -> l
-        RightArrApp     l _ _  -> l
-        LeftArrHighApp  l _ _  -> l
-        RightArrHighApp l _ _  -> l
-
-        LCase l _              -> l
-        ExprHole l             -> l
-
-    amap f e1 = case e1 of
-        Var l qn        -> Var (f l) qn
-        IPVar l ipn     -> IPVar (f l) ipn
-        Con l qn        -> Con (f l) qn
-        Lit l lit       -> Lit (f l) lit
-        InfixApp l e1' qop e2    -> InfixApp (f l) e1' qop e2
-        App l e1' e2    -> App (f l) e1' e2
-        NegApp l e      -> NegApp (f l) e
-        Lambda l ps e   -> Lambda (f l) ps e
-        Let l bs e      -> Let (f l) bs e
-        If l ec et ee   -> If (f l) ec et ee
-        Case l e alts   -> Case (f l) e alts
-        Do l ss         -> Do (f l) ss
-        MDo l ss        -> MDo (f l) ss
-        Tuple l bx es   -> Tuple (f l) bx es
-        TupleSection l bx mes -> TupleSection (f l) bx mes
-        List l es       -> List (f l) es
-        ParArray l es   -> ParArray (f l) es
-        Paren l e       -> Paren (f l) e
-        LeftSection l e qop     -> LeftSection (f l) e qop
-        RightSection l qop e    -> RightSection (f l) qop e
-        RecConstr l qn fups     -> RecConstr (f l) qn fups
-        RecUpdate l e  fups     -> RecUpdate (f l) e  fups
-        EnumFrom l e            -> EnumFrom (f l) e
-        EnumFromTo l ef et      -> EnumFromTo (f l) ef et
-        EnumFromThen l ef et    -> EnumFromThen (f l) ef et
-        EnumFromThenTo l ef eth eto -> EnumFromThenTo (f l) ef eth eto
-        ParArrayFromTo l ef et  -> ParArrayFromTo (f l) ef et
-        ParArrayFromThenTo l ef eth eto -> ParArrayFromThenTo (f l) ef eth eto
-        ListComp l e qss        -> ListComp (f l) e qss
-        ParComp  l e qsss       -> ParComp  (f l) e qsss
-        ParArrayComp  l e qsss  -> ParArrayComp  (f l) e qsss
-        ExpTypeSig l e t        -> ExpTypeSig (f l) e t
-        VarQuote l qn           -> VarQuote (f l) qn
-        TypQuote l qn           -> TypQuote (f l) qn
-        BracketExp l br         -> BracketExp (f l) br
-        SpliceExp l sp          -> SpliceExp (f l) sp
-        QuasiQuote l sn se      -> QuasiQuote (f l) sn se
-
-        XTag  l xn xas me es     -> XTag  (f l) xn xas me es
-        XETag l xn xas me        -> XETag (f l) xn xas me
-        XPcdata l s              -> XPcdata (f l) s
-        XExpTag l e              -> XExpTag (f l) e
-        XChildTag l es           -> XChildTag (f l) es
-
-        CorePragma l s e   -> CorePragma (f l) s e
-        SCCPragma  l s e   -> SCCPragma (f l) s e
-        GenPragma  l s n12 n34 e -> GenPragma (f l) s n12 n34 e
-
-        Proc            l p e  -> Proc (f l) p e
-        LeftArrApp      l e1' e2 -> LeftArrApp      (f l) e1' e2
-        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
-
-        LCase l alts -> LCase (f l) alts
-        MultiIf l alts -> MultiIf (f l) alts
-        ExprHole l      -> ExprHole (f l)
-
-
-instance Annotated XName where
-    ann (XName l _)      = l
-    ann (XDomName l _ _) = l
-    amap = fmap
-
-instance Annotated XAttr where
-    ann (XAttr l _ _) = l
-    amap f (XAttr l xn e) = XAttr (f l) xn e
-
-instance Annotated Bracket where
-    ann (ExpBracket 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 (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 (ParenSplice l _) = l
-    amap f (IdSplice l s) = IdSplice (f l) s
-    amap f (ParenSplice l e) = ParenSplice (f l) e
-
-instance Annotated Safety where
-    ann (PlayRisky l) = l
-    ann (PlaySafe l _) = l
-    ann (PlayInterruptible l) = l
-    amap = fmap
-
-instance Annotated CallConv where
-    ann (StdCall l) = l
-    ann (CCall l) = l
-    ann (CPlusPlus l) = l
-    ann (DotNet l) = l
-    ann (Jvm l) = l
-    ann (Js l) = l
-    ann (JavaScript l) = l
-    ann (CApi l) = l
-    amap = fmap
-
-instance Annotated ModulePragma where
-    ann (LanguagePragma   l _)   = l
-    ann (OptionsPragma    l _ _) = l
-    ann (AnnModulePragma  l _)   = l
-    amap f (LanguagePragma   l ns) = LanguagePragma (f l) ns
-    amap f (AnnModulePragma  l a) = AnnModulePragma (f l) a
-    amap f p = fmap f p
-
-instance Annotated Overlap where
-    ann (NoOverlap l)  = l
-    ann (Overlap l)    = l
-    ann (Incoherent l) = l
-    amap = fmap
-
-instance Annotated Activation where
-    ann (ActiveFrom   l _) = l
-    ann (ActiveUntil  l _) = l
-    amap = fmap
-
-instance Annotated Rule where
-    ann (Rule l _ _ _ _ _) = l
-    amap f (Rule l s act mrvs e1 e2) = Rule (f l) s act mrvs e1 e2
-
-instance Annotated RuleVar where
-    ann (RuleVar l _)        = l
-    ann (TypedRuleVar l _ _) = l
-    amap f (RuleVar l n) = RuleVar (f l) n
-    amap f (TypedRuleVar l n t) = TypedRuleVar (f l) n t
-
-instance Annotated WarningText where
-    ann (DeprText l _) = l
-    ann (WarnText l _) = l
-    amap = fmap
-
-instance Annotated Pat where
-    ann p = case p of
-      PVar l _          -> l
-      PLit l _ _        -> l
-      PNPlusK l _ _     -> l
-      PInfixApp l _ _ _ -> l
-      PApp l _ _        -> l
-      PTuple l _ _      -> l
-      PList l _         -> l
-      PParen l _        -> l
-      PRec l _ _        -> l
-      PAsPat l _ _      -> l
-      PWildCard l       -> l
-      PIrrPat l _       -> l
-      PatTypeSig l _ _  -> l
-      PViewPat l _ _    -> l
-      PRPat l _         -> l
-      PXTag l _ _ _ _   -> l
-      PXETag l _ _ _    -> l
-      PXPcdata l _      -> l
-      PXPatTag l _      -> l
-      PXRPats  l _      -> l
-      PQuasiQuote l _ _ -> l
-      PBangPat l _      -> l
-    amap f p1 = case p1 of
-      PVar l n          -> PVar (f l) n
-      PLit l sg lit     -> PLit (f l) sg lit
-      PNPlusK l n k     -> PNPlusK (f l) n k
-      PInfixApp l pa qn pb  -> PInfixApp (f l) pa qn pb
-      PApp l qn ps      -> PApp (f l) qn ps
-      PTuple l bx ps    -> PTuple (f l) bx ps
-      PList l ps        -> PList (f l) ps
-      PParen l p        -> PParen (f l) p
-      PRec l qn pfs     -> PRec (f l) qn pfs
-      PAsPat l n p      -> PAsPat (f l) n p
-      PWildCard l       -> PWildCard (f l)
-      PIrrPat l p       -> PIrrPat (f l) p
-      PatTypeSig l p t  -> PatTypeSig (f l) p t
-      PViewPat l e p    -> PViewPat (f l) e p
-      PRPat l rps       -> PRPat (f l) rps
-      PXTag l xn pxas mp ps -> PXTag  (f l) xn pxas mp ps
-      PXETag l xn pxas mp   -> PXETag (f l) xn pxas mp
-      PXPcdata l s      -> PXPcdata (f l) s
-      PXPatTag l p      -> PXPatTag (f l) p
-      PXRPats  l rps    -> PXRPats  (f l) rps
-      PQuasiQuote l sn st   -> PQuasiQuote (f l) sn st
-      PBangPat l p          -> PBangPat (f l) p
-
-instance Annotated PXAttr where
-    ann (PXAttr l _ _) = l
-    amap f (PXAttr l xn p) = PXAttr (f l) xn p
-
-instance Annotated RPatOp where
-    ann (RPStar  l) = l
-    ann (RPStarG l) = l
-    ann (RPPlus  l) = l
-    ann (RPPlusG l) = l
-    ann (RPOpt   l) = l
-    ann (RPOptG  l) = l
-    amap = fmap
-
-instance Annotated RPat where
-    ann rp = case rp of
-      RPOp l _ _            -> l
-      RPEither l _ _        -> l
-      RPSeq l _             -> l
-      RPGuard l _ _         -> l
-      RPCAs l _ _           -> l
-      RPAs l _ _            -> l
-      RPParen l _           -> l
-      RPPat l _             -> l
-    amap f rp1 = case rp1 of
-      RPOp l rp rop         -> RPOp (f l) rp rop
-      RPEither l rp1' rp2   -> RPEither (f l) rp1' rp2
-      RPSeq l rps           -> RPSeq (f l) rps
-      RPGuard l p ss        -> RPGuard (f l) p ss
-      RPCAs l n rp          -> RPCAs (f l) n rp
-      RPAs l n rp           -> RPAs (f l) n rp
-      RPParen l rp          -> RPParen (f l) rp
-      RPPat l p             -> RPPat (f l) p
-
-instance Annotated PatField where
-    ann (PFieldPat l _ _)  = l
-    ann (PFieldPun l _)    = l
-    ann (PFieldWildcard l) = l
-    amap f (PFieldPat l qn p) = PFieldPat (f l) qn p
-    amap f (PFieldPun l n) = PFieldPun (f l) n
-    amap f (PFieldWildcard l) = PFieldWildcard (f l)
-
-instance Annotated Stmt where
-    ann (Generator l _ _) = l
-    ann (Qualifier l _)   = l
-    ann (LetStmt l _)     = l
-    ann (RecStmt l _)     = l
-    amap f (Generator l p e) = Generator (f l) p e
-    amap f (Qualifier l e)   = Qualifier (f l) e
-    amap f (LetStmt l bs)    = LetStmt (f l) bs
-    amap f (RecStmt l ss)    = RecStmt (f l) ss
-
-instance Annotated QualStmt where
-    ann (QualStmt     l _)   = l
-    ann (ThenTrans    l _)   = l
-    ann (ThenBy       l _ _) = l
-    ann (GroupBy      l _)   = l
-    ann (GroupUsing   l _)   = l
-    ann (GroupByUsing l _ _) = l
-    amap f (QualStmt     l s) = QualStmt (f l) s
-    amap f (ThenTrans    l e) = ThenTrans (f l) e
-    amap f (ThenBy       l e1 e2) = ThenBy (f l) e1 e2
-    amap f (GroupBy      l e) = GroupBy (f l) e
-    amap f (GroupUsing   l e) = GroupUsing (f l) e
-    amap f (GroupByUsing l e1 e2) = GroupByUsing (f l) e1 e2
-
-instance Annotated FieldUpdate where
-    ann (FieldUpdate l _ _)  = l
-    ann (FieldPun l _)       = l
-    ann (FieldWildcard l)    = l
-    amap f (FieldUpdate l qn e) = FieldUpdate (f l) qn e
-    amap f (FieldPun l n)       = FieldPun (f l) n
-    amap f (FieldWildcard l)    = FieldWildcard (f l)
-
-instance Annotated Alt where
-    ann (Alt l _ _ _) = l
-    amap f (Alt l p gs bs) = Alt (f l) p gs bs
-
-instance Annotated Promoted where
-    ann (PromotedInteger l _ _) = l
-    ann (PromotedString l _ _)  = l
-    ann (PromotedCon l _ _)     = l
-    ann (PromotedList l _ _)    = l
-    ann (PromotedTuple l _)     = l
-    ann (PromotedUnit l)        = l
-    amap f (PromotedInteger l int raw) = PromotedInteger (f l) int raw
-    amap f (PromotedString l str raw) = PromotedString (f l) str raw
-    amap f (PromotedCon l b qn)   = PromotedCon (f l) b qn
-    amap f (PromotedList l b ps)  = PromotedList  (f l) b ps
-    amap f (PromotedTuple l ps) = PromotedTuple (f l) ps
-    amap f (PromotedUnit l)     = PromotedUnit (f l)
diff --git a/src/Language/Haskell/Exts/Build.hs b/src/Language/Haskell/Exts/Build.hs
--- a/src/Language/Haskell/Exts/Build.hs
+++ b/src/Language/Haskell/Exts/Build.hs
@@ -20,54 +20,54 @@
 module Language.Haskell.Exts.Build (
 
     -- * Syntax building functions
-    name,       -- :: String -> Name
-    sym,        -- :: String -> Name
-    var,        -- :: Name -> Exp
-    op,         -- :: Name -> QOp
-    qvar,       -- :: Module -> Name -> Exp
-    pvar,       -- :: Name -> Pat
-    app,        -- :: Exp -> Exp -> Exp
-    infixApp,   -- :: Exp -> QOp -> Exp -> Exp
-    appFun,     -- :: Exp -> [Exp] -> Exp
-    pApp,       -- :: Name -> [Pat] -> Pat
-    tuple,      -- :: [Exp] -> Exp
-    pTuple,     -- :: [Pat] -> Pat
-    varTuple,   -- :: [Name] -> Exp
-    pvarTuple,  -- :: [Name] -> Pat
-    function,   -- :: String -> Exp
-    strE,       -- :: String -> Exp
-    charE,      -- :: Char -> Exp
-    intE,       -- :: Integer -> Exp
-    strP,       -- :: String -> Pat
-    charP,      -- :: Char -> Pat
-    intP,       -- :: Integer -> Pat
-    doE,        -- :: [Stmt] -> Exp
-    lamE,       -- :: SrcLoc -> [Pat] -> Exp -> Exp
-    letE,       -- :: [Decl] -> Exp -> Exp
-    caseE,      -- :: Exp -> [Alt] -> Exp
-    alt,        -- :: SrcLoc -> Pat -> Exp -> Alt
-    altGW,      -- :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt
-    listE,      -- :: [Exp] -> Exp
-    eList,      -- :: Exp
-    peList,     -- :: Pat
-    paren,      -- :: Exp -> Exp
-    pParen,     -- :: Pat -> Pat
-    qualStmt,   -- :: Exp -> Stmt
-    genStmt,    -- :: SrcLoc -> Pat -> Exp -> Stmt
+    name,       -- :: String -> Name ()
+    sym,        -- :: String -> Name ()
+    var,        -- :: Name () -> Exp ()
+    op,         -- :: Name () -> QOp
+    qvar,       -- :: Module -> Name () -> Exp ()
+    pvar,       -- :: Name () -> Pat ()
+    app,        -- :: Exp () -> Exp () -> Exp ()
+    infixApp,   -- :: Exp () -> QOp -> Exp () -> Exp ()
+    appFun,     -- :: Exp () -> [Exp] -> Exp ()
+    pApp,       -- :: Name () -> [Pat] -> Pat ()
+    tuple,      -- :: [Exp] -> Exp ()
+    pTuple,     -- :: [Pat] -> Pat ()
+    varTuple,   -- :: [Name] -> Exp ()
+    pvarTuple,  -- :: [Name] -> Pat ()
+    function,   -- :: String -> Exp ()
+    strE,       -- :: String -> Exp ()
+    charE,      -- :: Char -> Exp ()
+    intE,       -- :: Integer -> Exp ()
+    strP,       -- :: String -> Pat ()
+    charP,      -- :: Char -> Pat ()
+    intP,       -- :: Integer -> Pat ()
+    doE,        -- :: [Stmt] -> Exp ()
+    lamE,       -- :: SrcLoc -> [Pat] -> Exp () -> Exp ()
+    letE,       -- :: [Decl] -> Exp () -> Exp ()
+    caseE,      -- :: Exp () -> [Alt] -> Exp ()
+    alt,        -- :: SrcLoc -> Pat () -> Exp () -> Alt
+    altGW,      -- :: SrcLoc -> Pat () -> [Stmt] -> Exp () -> Binds -> Alt
+    listE,      -- :: [Exp] -> Exp ()
+    eList,      -- :: Exp ()
+    peList,     -- :: Pat ()
+    paren,      -- :: Exp () -> Exp ()
+    pParen,     -- :: Pat () -> Pat ()
+    qualStmt,   -- :: Exp () -> Stmt
+    genStmt,    -- :: SrcLoc -> Pat () -> Exp () -> Stmt
     letStmt,    -- :: [Decl] -> Stmt
     binds,      -- :: [Decl] -> Binds
     noBinds,    -- :: Binds
-    wildcard,   -- :: Pat
+    wildcard,   -- :: Pat ()
     genNames,   -- :: String -> Int -> [Name]
 
     -- * More advanced building
-    sfun,           -- :: SrcLoc -> Name -> [Name] -> Rhs -> Binds -> Decl
-    simpleFun,      -- :: SrcLoc -> Name -> Name -> Exp -> Decl
-    patBind,        -- :: SrcLoc -> Pat -> Exp -> Decl
-    patBindWhere,   -- :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl
-    nameBind,       -- :: SrcLoc -> Name -> Exp -> Decl
-    metaFunction,   -- :: String -> [Exp] -> Exp
-    metaConPat      -- :: String -> [Pat] -> Pat
+    sfun,           -- :: SrcLoc -> Name () -> [Name] -> Rhs -> Binds -> Decl ()
+    simpleFun,      -- :: SrcLoc -> Name () -> Name () -> Exp () -> Decl ()
+    patBind,        -- :: SrcLoc -> Pat () -> Exp () -> Decl ()
+    patBindWhere,   -- :: SrcLoc -> Pat () -> Exp () -> [Decl] -> Decl ()
+    nameBind,       -- :: SrcLoc -> Name () -> Exp () -> Decl ()
+    metaFunction,   -- :: String -> [Exp] -> Exp ()
+    metaConPat      -- :: String -> [Pat] -> Pat ()
   ) where
 
 import Language.Haskell.Exts.Syntax
@@ -77,214 +77,216 @@
 
 -- | An identifier with the given string as its name.
 --   The string should be a valid Haskell identifier.
-name :: String -> Name
-name = Ident
+name :: String -> Name ()
+name = Ident ()
 
 -- | A symbol identifier. The string should be a valid
 --   Haskell symbol identifier.
-sym :: String -> Name
-sym = Symbol
+sym :: String -> Name ()
+sym = Symbol ()
 
 -- | A local variable as expression.
-var :: Name -> Exp
-var = Var . UnQual
+var :: Name () -> Exp ()
+var = Var () . UnQual ()
 
 -- | Use the given identifier as an operator.
-op :: Name -> QOp
-op = QVarOp . UnQual
+op :: Name () -> QOp ()
+op = QVarOp () . UnQual ()
 
 -- | A qualified variable as expression.
-qvar :: ModuleName -> Name -> Exp
-qvar m n = Var $ Qual m n
+qvar :: ModuleName () -> Name () -> Exp ()
+qvar m n = Var () $ Qual () m n
 
 -- | A pattern variable.
-pvar :: Name -> Pat
-pvar = PVar
+pvar :: Name () -> Pat ()
+pvar = PVar ()
 
 -- | Application of expressions by juxtaposition.
-app :: Exp -> Exp -> Exp
-app = App
+app :: Exp () -> Exp () -> Exp ()
+app = App ()
 
 -- | Apply an operator infix.
-infixApp :: Exp -> QOp -> Exp -> Exp
-infixApp = InfixApp
+infixApp :: Exp () -> QOp () -> Exp () -> Exp ()
+infixApp = InfixApp ()
 
 -- | Apply a function to a list of arguments.
-appFun :: Exp -> [Exp] -> Exp
+appFun :: Exp () -> [Exp ()] -> Exp ()
 appFun f [] = f
 appFun f (a:as) = appFun (app f a) as
 
 -- | A constructor pattern, with argument patterns.
-pApp :: Name -> [Pat] -> Pat
-pApp n ps = PApp (UnQual n) ps
+pApp :: Name () -> [Pat ()] -> Pat ()
+pApp n ps = PApp () (UnQual () n) ps
 
 -- | A tuple expression.
-tuple :: [Exp] -> Exp
-tuple = Tuple Boxed
+tuple :: [Exp ()] -> Exp ()
+tuple = Tuple () Boxed
 
 -- | A tuple pattern.
-pTuple :: [Pat] -> Pat
-pTuple = PTuple Boxed
+pTuple :: [Pat ()] -> Pat ()
+pTuple = PTuple () Boxed
 
 -- | A tuple expression consisting of variables only.
-varTuple :: [Name] -> Exp
+varTuple :: [Name ()] -> Exp ()
 varTuple ns = tuple $ map var ns
 
 -- | A tuple pattern consisting of variables only.
-pvarTuple :: [Name] -> Pat
+pvarTuple :: [Name ()] -> Pat ()
 pvarTuple ns = pTuple $ map pvar ns
 
 -- | A function with a given name.
-function :: String -> Exp
-function = var . Ident
+function :: String -> Exp ()
+function = var . Ident ()
 
 -- | A literal string expression.
-strE :: String -> Exp
-strE = Lit . String
+strE :: String -> Exp ()
+strE s = Lit () (String () s s)
 
 -- | A literal character expression.
-charE :: Char -> Exp
-charE = Lit . Char
+charE :: Char -> Exp ()
+charE c = Lit () (Char () c [c])
 
 -- | A literal integer expression.
-intE :: Integer -> Exp
-intE = Lit . Int
+intE :: Integer -> Exp ()
+intE n = Lit () (Int () n (show n))
 
 -- | A literal string pattern.
-strP :: String -> Pat
-strP = PLit Signless . String
+strP :: String -> Pat ()
+strP s = PLit () (Signless ()) (String () s s)
 
 -- | A literal character pattern.
-charP :: Char -> Pat
-charP = PLit Signless . Char
+charP :: Char -> Pat ()
+charP x = PLit () (Signless ()) (Char () x [x])
 
 -- | A literal integer pattern.
-intP :: Integer -> Pat
-intP x = PLit (if x >= 0 then Signless else Negative) . Int . abs $ x
+intP :: Integer -> Pat ()
+intP x = PLit ()
+          (if x >= 0 then Signless () else Negative ())
+          (Int () (abs x) (show x))
 
 -- | A do block formed by the given statements.
 --   The last statement in the list should be
 --   a 'Qualifier' expression.
-doE :: [Stmt] -> Exp
-doE = Do
+doE :: [Stmt ()] -> Exp ()
+doE = Do ()
 
 -- | Lambda abstraction, given a list of argument
 --   patterns and an expression body.
-lamE :: SrcLoc -> [Pat] -> Exp -> Exp
-lamE = Lambda
+lamE :: [Pat ()] -> Exp () -> Exp ()
+lamE = Lambda ()
 
 -- | A @let@ ... @in@ block.
-letE :: [Decl] -> Exp -> Exp
-letE ds e = Let (binds ds) e
+letE :: [Decl ()] -> Exp () -> Exp ()
+letE ds e = Let () (binds ds) e
 
 -- | A @case@ expression.
-caseE :: Exp -> [Alt] -> Exp
-caseE = Case
+caseE :: Exp () -> [Alt ()] -> Exp ()
+caseE = Case ()
 
 -- | An unguarded alternative in a @case@ expression.
-alt :: SrcLoc -> Pat -> Exp -> Alt
-alt s p e = Alt s p (unGAlt e) noBinds
+alt :: Pat () -> Exp () -> Alt ()
+alt p e = Alt () p (unGAlt e) noBinds
 
 -- | An alternative with a single guard in a @case@ expression.
-altGW :: SrcLoc -> Pat -> [Stmt] -> Exp -> Binds -> Alt
-altGW s p gs e w = Alt s p (gAlt s gs e) (Just w)
+altGW :: Pat () -> [Stmt ()] -> Exp () -> Binds () -> Alt ()
+altGW p gs e w = Alt () p (gAlt gs e) (Just w)
 
 -- | An unguarded righthand side of a @case@ alternative.
-unGAlt :: Exp -> Rhs
-unGAlt = UnGuardedRhs
+unGAlt :: Exp () -> Rhs ()
+unGAlt = UnGuardedRhs ()
 
 -- | An list of guarded righthand sides for a @case@ alternative.
-gAlts :: SrcLoc -> [([Stmt],Exp)] -> Rhs
-gAlts s as = GuardedRhss $ map (\(gs,e) -> GuardedRhs s gs e) as
+gAlts :: [([Stmt ()],Exp ())] -> Rhs ()
+gAlts as = GuardedRhss () $ map (\(gs,e) -> GuardedRhs () gs e) as
 
 -- | A single guarded righthand side for a @case@ alternative.
-gAlt :: SrcLoc -> [Stmt] -> Exp -> Rhs
-gAlt s gs e = gAlts s [(gs,e)]
+gAlt :: [Stmt ()] -> Exp () -> Rhs ()
+gAlt gs e = gAlts [(gs,e)]
 
 -- | A list expression.
-listE :: [Exp] -> Exp
-listE = List
+listE :: [Exp ()] -> Exp ()
+listE = List ()
 
 -- | The empty list expression.
-eList :: Exp
-eList = List []
+eList :: Exp ()
+eList = List () []
 
 -- | The empty list pattern.
-peList :: Pat
-peList = PList []
+peList :: Pat ()
+peList = PList () []
 
 -- | Put parentheses around an expression.
-paren :: Exp -> Exp
-paren = Paren
+paren :: Exp () -> Exp ()
+paren = Paren ()
 
 -- | Put parentheses around a pattern.
-pParen :: Pat -> Pat
-pParen = PParen
+pParen :: Pat () -> Pat ()
+pParen = PParen ()
 
 -- | A qualifier expression statement.
-qualStmt :: Exp -> Stmt
-qualStmt = Qualifier
+qualStmt :: Exp () -> Stmt ()
+qualStmt = Qualifier ()
 
 -- | A generator statement: /pat/ @<-@ /exp/
-genStmt :: SrcLoc -> Pat -> Exp -> Stmt
-genStmt = Generator
+genStmt :: Pat () -> Exp () -> Stmt ()
+genStmt = Generator ()
 
 -- | A @let@ binding group as a statement.
-letStmt :: [Decl] -> Stmt
-letStmt ds = LetStmt $ binds ds
+letStmt :: [Decl ()] -> Stmt ()
+letStmt ds = LetStmt () $ binds ds
 
 -- | Hoist a set of declarations to a binding group.
-binds :: [Decl] -> Binds
-binds = BDecls
+binds :: [Decl ()] -> Binds ()
+binds = BDecls ()
 
 -- | An empty binding group.
-noBinds :: Maybe Binds
+noBinds :: Maybe (Binds ())
 noBinds = Nothing
 
 -- | The wildcard pattern: @_@
-wildcard :: Pat
-wildcard = PWildCard
+wildcard :: Pat ()
+wildcard = PWildCard ()
 
 -- | Generate k names by appending numbers 1 through k to a given string.
-genNames :: String -> Int -> [Name]
-genNames s k = [ Ident $ s ++ show i | i <- [1..k] ]
+genNames :: String -> Int -> [Name ()]
+genNames s k = [ Ident () $ s ++ show i | i <- [1..k] ]
 
 -------------------------------------------------------------------------------
 -- Some more specialised help functions
 
 -- | A function with a single clause
-sfun :: SrcLoc -> Name -> [Name] -> Rhs -> Maybe Binds -> Decl
-sfun s f pvs rhs bs = FunBind [Match s f (map pvar pvs) Nothing rhs bs]
+sfun :: Name () -> [Name ()] -> (Rhs ()) -> Maybe (Binds ()) -> Decl ()
+sfun f pvs rhs bs = FunBind () [Match () f (map pvar pvs) rhs bs]
 
 -- | A function with a single clause, a single argument, no guards
 -- and no where declarations
-simpleFun :: SrcLoc -> Name -> Name -> Exp -> Decl
-simpleFun s f a e = let rhs = UnGuardedRhs e
-             in sfun s f [a] rhs noBinds
+simpleFun :: Name () -> Name () -> Exp () -> Decl ()
+simpleFun f a e = let rhs = UnGuardedRhs () e
+             in sfun f [a] rhs noBinds
 
 -- | A pattern bind where the pattern is a variable, and where
 -- there are no guards and no 'where' clause.
-patBind :: SrcLoc -> Pat -> Exp -> Decl
-patBind s p e = let rhs = UnGuardedRhs e
-         in PatBind s p rhs noBinds
+patBind :: Pat () -> Exp () -> Decl ()
+patBind p e = let rhs = UnGuardedRhs () e
+         in PatBind () p rhs noBinds
 
 -- | A pattern bind where the pattern is a variable, and where
 -- there are no guards, but with a 'where' clause.
-patBindWhere :: SrcLoc -> Pat -> Exp -> [Decl] -> Decl
-patBindWhere s p e ds = let rhs = UnGuardedRhs e
-             in PatBind s p rhs (if null ds then Nothing else Just (binds ds))
+patBindWhere :: Pat () -> Exp () -> [Decl ()] -> Decl ()
+patBindWhere p e ds = let rhs = UnGuardedRhs () e
+             in PatBind () p rhs (if null ds then Nothing else Just (binds ds))
 
 -- | Bind an identifier to an expression.
-nameBind :: SrcLoc -> Name -> Exp -> Decl
-nameBind s n e = patBind s (pvar n) e
+nameBind :: Name () -> Exp () -> Decl ()
+nameBind n e = patBind (pvar n) e
 
 -- | Apply function of a given name to a list of arguments.
-metaFunction :: String -> [Exp] -> Exp
+metaFunction :: String -> [Exp ()] -> Exp ()
 metaFunction s' es' = mf s' (reverse es')
   where mf s []     = var $ name s
         mf s (e:es) = app (mf s es) e
 
 -- | Apply a constructor of a given name to a list of pattern
 --   arguments, forming a constructor pattern.
-metaConPat :: String -> [Pat] -> Pat
+metaConPat :: String -> [Pat ()] -> Pat ()
 metaConPat s ps = pApp (name s) ps
diff --git a/src/Language/Haskell/Exts/Comments.hs b/src/Language/Haskell/Exts/Comments.hs
--- a/src/Language/Haskell/Exts/Comments.hs
+++ b/src/Language/Haskell/Exts/Comments.hs
@@ -1,9 +1,53 @@
 {-# LANGUAGE DeriveDataTypeable #-}
-module Language.Haskell.Exts.Comments where
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Language.Haskell.Exts.Comments
+-- Copyright   :  (c) JP Moresmau 2015
+-- License     :  BSD-style (see the file LICENSE.txt)
+--
+-- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
+-- Stability   :  experimental
+-- Portability :  portable
+--
+-- This module processes comments along with an annotated AST,
+-- to be able to associate Haddock comments with the actual item
+-- they refer to.
+--
+-- Example:
+--
+-- @
+-- let
+--  parse1Result :: ParseResult (Module SrcSpanInfo,[Comment])
+--  parse1Result =
+--    parseFileContentsWithComments
+--     (defaultParseMode { parseFilename = file })
+--      contents
+--  withC :: ParseResult (Module (SrcSpanInfo,[Comment]))
+--  withC = case parse1Result of
+--            ParseOk res         -> ParseOk $ associateHaddock res
+--            ParseFailed sloc msg -> ParseFailed sloc msg
+-- @
+--
+-- In this code sample, parse1Result is what you get when you parse a file:
+-- a 'Module' annotated wth 'SrcSpanInfo', and a list of comments
+-- After passing the result to 'associateHaddock', you get a 'Module'
+-- annotated with both a 'SrcSpanInfo' and the list of 'Comment' related to the
+-- specific AST node.
+--
+-----------------------------------------------------------------------------
+module Language.Haskell.Exts.Comments
+    ( associateHaddock
+    , Comment(..), UnknownPragma(..)
+    ) where
 
+import Language.Haskell.Exts.Syntax
 import Language.Haskell.Exts.SrcLoc
+
+import Data.Char (isSpace)
+import Data.Traversable
 import Data.Data
 
+
 -- | A Haskell comment. The 'Bool' is 'True' if the comment is multi-line, i.e. @{- -}@.
 data Comment = Comment Bool SrcSpan String
   deriving (Eq,Show,Typeable,Data)
@@ -11,3 +55,134 @@
 -- | An unknown pragma.
 data UnknownPragma = UnknownPragma SrcSpan String
   deriving (Eq,Show,Typeable,Data)
+
+
+-- | Associates an AST with Source Span Information
+-- with relevant Haddock comments
+associateHaddock
+  ::(Annotated ast,Traversable ast)
+  => (ast SrcSpanInfo,[Comment])
+  -> ast (SrcSpanInfo,[Comment])
+associateHaddock (ast,[]) = fmap (\src->(src,[])) ast
+associateHaddock (ast,comments) =
+  let
+    (ca,assocs1) = mapAccumL associate1 (newAccumulator comments) ast
+  in snd $ mapAccumL merge (lastPost ca) assocs1
+
+
+-- | Merge existing association with post comment associations
+merge
+  :: [(SrcSpanInfo,[Comment])]
+  -> (SrcSpanInfo,[Comment])
+  -> ([(SrcSpanInfo,[Comment])], (SrcSpanInfo,[Comment]))
+merge [] ret = ([],ret)
+merge (x:xs) (src,cmts) =
+  if fst x == src
+    then (xs,(src,cmts ++ snd x))
+    else (x:xs,(src,cmts))
+
+
+-- | Ensure that if file ends with comment we process it
+lastPost :: CommentAccumulator -> [(SrcSpanInfo, [Comment])]
+lastPost (CommentAccumulator (Post cmt : rest) past assocs) =
+  let (toMerge, _) = span isNone rest
+      psrc = matchPreviousSrc past
+  in (assocs ++ [(psrc, cmt : map hcComment toMerge)])
+lastPost (CommentAccumulator _ _ assocs) = assocs
+
+
+-- | Accumulate comments mappings, either directly with the source
+-- or in another association list for later processing
+associate1
+  :: CommentAccumulator
+  -> SrcSpanInfo
+  -> (CommentAccumulator,(SrcSpanInfo,[Comment]))
+associate1 ca@(CommentAccumulator [] _ _) src = (ca,(src,[]))
+associate1 (CommentAccumulator (hc@(Pre cmt):rest) _ assocs) src =
+  if isBefore hc src
+    then
+      let (toMerge,next) = getToMerge src rest
+          newAssoc = (src,cmt : map hcComment toMerge)
+      in (CommentAccumulator next [] assocs,newAssoc)
+    else (CommentAccumulator (hc:rest) [] assocs,(src,[]))
+associate1 (CommentAccumulator (hc@(Post cmt):rest) past assocs) src =
+  if isBefore hc src
+    then
+      let (toMerge,next) = getToMerge src rest
+          newAssocs =
+            if null past
+              then assocs
+              else assocs++[(matchPreviousSrc past,cmt : map hcComment toMerge)]
+      in associate1 (CommentAccumulator next [] newAssocs) src
+    else (CommentAccumulator (hc:rest) (src:past) assocs,(src,[]))
+associate1 (CommentAccumulator (_:rest) past assocs) src =
+  (CommentAccumulator rest (src:past) assocs,(src,[]))
+
+
+-- | The comment accumulator
+data CommentAccumulator = CommentAccumulator
+  [HaddockComment]          -- The Haddock comments to process
+  [SrcSpanInfo]             -- The past src infos to resolve post comments
+  [(SrcSpanInfo,[Comment])] -- The additional associations between src and comments
+
+
+-- | Create a new accumulator
+newAccumulator :: [Comment] -> CommentAccumulator
+newAccumulator comments = CommentAccumulator (commentsToHaddock comments) [] []
+
+-- | Get comments to merge
+getToMerge
+  :: SrcSpanInfo                         -- ^ Stop before src
+  -> [HaddockComment]                    -- ^ All remaining comments
+  -> ([HaddockComment],[HaddockComment]) -- ^ Comments to merge, left overs
+getToMerge src = span (\hc-> isNone hc && isBefore hc src)
+
+
+-- | Get the biggest src that ends where the first one does
+matchPreviousSrc :: [SrcSpanInfo] -> SrcSpanInfo
+matchPreviousSrc [] =
+  error "Language.Haskell.Exts.Annotated.Comments.matchPreviousSrc: empty list"
+matchPreviousSrc srcs =
+  let end = srcSpanEnd $ srcInfoSpan $ head srcs
+  in last $ filter ((end ==) . srcSpanEnd . srcInfoSpan) srcs
+
+-- | Is a Haddock comment before a given location
+isBefore :: HaddockComment -> SrcSpanInfo -> Bool
+isBefore hc src=
+  let
+    (Comment _ csrc _) = hcComment hc
+  in csrc < srcInfoSpan src
+
+-- | Represents a Haddock Comment
+data HaddockComment =
+  -- | Comment before declaration
+  Pre
+   {
+     hcComment::Comment
+   }
+  -- | Comment after declaration
+  | Post  {
+     hcComment::Comment
+    }
+  -- | Non Haddock comment
+  | None  {
+     hcComment::Comment
+    }
+
+-- | Is a comment not haddock?
+isNone :: HaddockComment -> Bool
+isNone (None _) = True
+isNone _ = False
+
+
+-- | Comments to Haddock Comments
+commentsToHaddock :: [Comment] -> [HaddockComment]
+commentsToHaddock = map commentToHaddock
+
+-- | Comment to Haddock Comment
+commentToHaddock :: Comment -> HaddockComment
+commentToHaddock c@(Comment _ _ txt) =
+  case dropWhile isSpace txt of
+    ('|':_) -> Pre c
+    ('^':_) -> Post c
+    _       -> None c
diff --git a/src/Language/Haskell/Exts/ExactPrint.hs b/src/Language/Haskell/Exts/ExactPrint.hs
new file mode 100644
--- /dev/null
+++ b/src/Language/Haskell/Exts/ExactPrint.hs
@@ -0,0 +1,2170 @@
+{-# LANGUAGE DeriveFunctor #-}
+{-# LANGUAGE CPP #-}
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Language.Haskell.Exts.Annotated.ExactPrint
+-- Copyright   :  (c) Niklas Broberg 2009
+-- License     :  BSD-style (see the file LICENSE.txt)
+--
+-- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- Exact-printer for Haskell abstract syntax. The input is a (semi-concrete)
+-- abstract syntax tree, annotated with exact source information to enable
+-- printing the tree exactly as it was parsed.
+--
+-----------------------------------------------------------------------------
+module Language.Haskell.Exts.ExactPrint
+        ( exactPrint
+        , ExactP
+        ) where
+
+import Language.Haskell.Exts.Syntax
+import Language.Haskell.Exts.SrcLoc
+import Language.Haskell.Exts.Comments
+
+import Control.Monad (when, liftM, ap, unless)
+#if __GLASGOW_HASKELL__ < 710
+import Control.Applicative (Applicative(..))
+#endif
+import Control.Arrow ((***), (&&&))
+import Prelude hiding (exp)
+import Data.List (intersperse)
+
+-- import Debug.Trace (trace)
+
+------------------------------------------------------
+-- The EP monad and basic combinators
+
+type Pos = (Int,Int)
+
+pos :: (SrcInfo loc) => loc -> Pos
+pos ss = (startLine ss, startColumn ss)
+
+newtype EP x = EP (Pos -> [Comment] -> (x, Pos, [Comment], ShowS))
+
+instance Functor EP where
+  fmap = liftM
+
+instance Applicative EP where
+  pure = return
+  (<*>) = 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
+        EP f = k a
+        (b, l2, c2, s2) = f l1 c1
+    in (b, l2, c2, s1 . s2)
+
+runEP :: EP () -> [Comment] -> String
+runEP (EP f) cs = let (_,_,_,s) = f (1,1) cs in s ""
+
+getPos :: EP Pos
+getPos = EP (\l cs -> (l,l,cs,id))
+
+setPos :: Pos -> EP ()
+setPos l = EP (\_ cs -> ((),l,cs,id))
+
+printString :: String -> EP ()
+printString str =
+  EP (\(l,c) cs -> let (l', c') = foldl go (l, c) str
+                       go (cl, _) '\n' = (cl + 1, 1)
+                       go (cl, cc) _    = (cl, cc + 1)
+                   in ((), (l', c'), cs, showString str))
+
+
+getComment :: EP (Maybe Comment)
+getComment = EP $ \l cs ->
+    let x = case cs of
+             c:_ -> Just c
+             _   -> Nothing
+     in (x, l, cs, id)
+
+dropComment :: EP ()
+dropComment = EP $ \l cs ->
+    let cs' = case cs of
+               (_:cs1) -> cs1
+               _       -> cs
+     in ((), l, cs', id)
+
+newLine :: EP ()
+newLine = do
+    (l,_) <- getPos
+    printString "\n"
+    setPos (l+1,1)
+
+padUntil :: Pos -> EP ()
+padUntil (l,c) = do
+    (l1,c1) <- getPos
+    case  {- trace (show ((l,c), (l1,c1))) -} () of
+     _ {-()-} | l1 >= l && c1 <= c -> printString $ replicate (c - c1) ' '
+              | l1 < l             -> newLine >> padUntil (l,c)
+              | otherwise          -> return ()
+
+
+mPrintComments :: Pos -> EP ()
+mPrintComments p = do
+    mc <- getComment
+    case mc of
+     Nothing -> return ()
+     Just (Comment multi s str) ->
+        when (pos s < p) $ do
+            dropComment
+            padUntil (pos s)
+            printComment multi str
+            setPos (srcSpanEndLine s, srcSpanEndColumn s)
+            mPrintComments p
+
+printComment :: Bool -> String -> EP ()
+printComment b str
+    | b         = printString $ "{-" ++ str ++ "-}"
+    | otherwise = printString $ "--" ++ str
+
+printWhitespace :: Pos -> EP ()
+printWhitespace p = mPrintComments p >> padUntil p
+
+printStringAt :: Pos -> String -> EP ()
+printStringAt p str = printWhitespace p >> printString str
+
+errorEP :: String -> EP a
+errorEP = fail
+
+------------------------------------------------------------------------------
+-- Printing of source elements
+
+-- | Print an AST exactly as specified by the annotations on the nodes in the tree.
+exactPrint :: (ExactP ast) => ast SrcSpanInfo -> [Comment] -> String
+exactPrint ast = runEP (exactPC ast)
+
+exactPC :: (ExactP ast) => ast SrcSpanInfo -> EP ()
+exactPC ast = let p = pos (ann ast) in mPrintComments p >> padUntil p >> exactP ast
+
+printSeq :: [(Pos, EP ())] -> EP ()
+printSeq [] = return ()
+printSeq ((p,pr):xs) = printWhitespace p >> pr >> printSeq xs
+
+printStrs :: SrcInfo loc => [(loc, String)] -> EP ()
+printStrs = printSeq . map (pos *** printString)
+
+printPoints :: SrcSpanInfo -> [String] -> EP ()
+printPoints l = printStrs . zip (srcInfoPoints l)
+
+printInterleaved, printInterleaved' :: (ExactP ast, SrcInfo loc) => [(loc, String)] -> [ast SrcSpanInfo] -> EP ()
+printInterleaved sistrs asts = printSeq $
+    interleave (map (pos *** printString ) sistrs)
+               (map (pos . ann &&& exactP) asts)
+
+printInterleaved' sistrs (a:asts) = exactPC a >> printInterleaved sistrs asts
+printInterleaved' _ _ = internalError "printInterleaved'"
+
+printStreams :: [(Pos, EP ())] -> [(Pos, EP ())] -> EP ()
+printStreams [] ys = printSeq ys
+printStreams xs [] = printSeq xs
+printStreams (x@(p1,ep1):xs) (y@(p2,ep2):ys)
+    | p1 <= p2 = printWhitespace p1 >> ep1 >> printStreams xs (y:ys)
+    | otherwise = printWhitespace p2 >> ep2 >> printStreams (x:xs) ys
+
+
+interleave :: [a] -> [a] -> [a]
+interleave [] ys = ys
+interleave xs [] = xs
+interleave (x:xs) (y:ys) = x:y: interleave xs ys
+
+maybeEP :: (a -> EP ()) -> Maybe a -> EP ()
+maybeEP = maybe (return ())
+
+bracketList :: (ExactP ast) => (String, String, String) -> [SrcSpan] -> [ast SrcSpanInfo] -> EP ()
+bracketList (a,b,c) poss asts = printInterleaved (pList poss (a,b,c)) asts
+
+pList :: [a] -> (b, b, b) -> [(a, b)]
+pList (p:ps) (a,b,c) = (p,a) : pList' ps (b,c)
+pList _ _ = internalError "pList"
+pList' :: [a] -> (b, b) -> [(a, b)]
+pList' [] _ = []
+pList' [p] (_,c) = [(p,c)]
+pList' (p:ps) (b,c) = (p, b) : pList' ps (b,c)
+
+parenList, squareList, squareColonList, curlyList, parenHashList :: (ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()
+parenList = bracketList ("(",",",")")
+squareList = bracketList ("[",",","]")
+squareColonList = bracketList ("[:",",",":]")
+curlyList = bracketList ("{",",","}")
+parenHashList = bracketList ("(#",",","#)")
+
+layoutList :: (ExactP ast) => [SrcSpan] -> [ast SrcSpanInfo] -> EP ()
+layoutList poss asts = printStreams
+        (map (pos *** printString) $ lList poss)
+        (map (pos . ann &&& exactP) asts)
+
+lList :: [SrcSpan] -> [(SrcSpan, String)]
+lList (p:ps) = (if isNullSpan p then (p,"") else (p,"{")) : lList' ps
+lList _ = internalError "lList"
+lList' :: [SrcSpan] -> [(SrcSpan, String)]
+lList' [] = []
+lList' [p] = [if isNullSpan p then (p,"") else (p,"}")]
+lList' (p:ps) = (if isNullSpan p then (p,"") else (p,";")) : lList' ps
+
+printSemi :: SrcSpan -> EP ()
+printSemi p = do
+  printWhitespace (pos p)
+  unless (isNullSpan p) $ printString ";"
+
+
+--------------------------------------------------
+-- Exact printing
+
+class Annotated ast => ExactP ast where
+  exactP :: ast SrcSpanInfo -> EP ()
+
+instance ExactP Literal where
+  exactP lit = case lit of
+    Char       _ _ rw -> printString ('\'':rw ++ "\'")
+    String     _ _ rw -> printString ('\"':rw ++ "\"")
+    Int        _ _ rw -> printString rw
+    Frac       _ _ rw -> printString rw
+    PrimInt    _ _ rw -> printString (rw ++ "#" )
+    PrimWord   _ _ rw -> printString (rw ++ "##")
+    PrimFloat  _ _ rw -> printString (rw ++ "#" )
+    PrimDouble _ _ rw -> printString (rw ++ "##")
+    PrimChar   _ _ rw -> printString ('\'':rw ++ "\'#" )
+    PrimString _ _ rw -> printString ('\"':rw ++ "\"#" )
+
+instance ExactP Sign where
+  exactP sg = case sg of
+    Signless _ -> return ()
+    Negative l -> printStringAt (pos l) "-"
+
+instance ExactP ModuleName where
+  exactP (ModuleName _ str) = printString str
+
+instance ExactP SpecialCon where
+  exactP sc = case sc of
+    UnitCon l   -> printPoints l ["(",")"]
+    ListCon l   -> printPoints l ["[","]"]
+    FunCon  l   -> case srcInfoPoints l of
+                    [_,b,_] -> printStringAt (pos b) "->"
+                    _ -> errorEP "ExactP: SpecialCon is given wrong number of srcInfoPoints"
+    TupleCon l b n -> printPoints l $
+        case b of
+         Unboxed -> "(#": replicate (n-1) "," ++ ["#)"]
+         _       -> "(" : replicate (n-1) "," ++ [")"]
+    Cons _      -> printString ":"
+    UnboxedSingleCon l -> printPoints l ["(#","#)"]
+
+isSymbolName :: Name l -> Bool
+isSymbolName (Symbol _ _) = True
+isSymbolName _            = False
+
+isSymbolQName :: QName l -> Bool
+isSymbolQName (UnQual _ n)         = isSymbolName n
+isSymbolQName (Qual _ _ n)         = isSymbolName n
+isSymbolQName (Special _ Cons{})   = True
+isSymbolQName (Special _ FunCon{}) = True
+isSymbolQName _                    = False
+
+instance ExactP QName where
+  exactP qn
+    | isSymbolQName qn =
+        case srcInfoPoints (ann qn) of
+         [_,b,c] -> do
+            printString "("
+            printWhitespace (pos b)
+            epQName qn
+            printStringAt (pos c) ")"
+         _ -> errorEP "ExactP: QName is given wrong number of srcInfoPoints"
+    | otherwise = epQName qn
+
+epQName :: QName SrcSpanInfo -> EP ()
+epQName qn = case qn of
+    Qual    _ mn n  -> exactP mn >> printString "." >> exactP n
+    UnQual  _    n  -> exactP n
+    Special _ sc    -> exactP sc
+
+epInfixQName :: QName SrcSpanInfo -> EP ()
+epInfixQName qn
+    | isSymbolQName qn = printWhitespace (pos (ann qn)) >> epQName qn
+    | otherwise =
+        case srcInfoPoints (ann qn) of
+         [a,b,c] -> do
+            printStringAt (pos a) "`"
+            printWhitespace (pos b)
+            epQName qn
+            printStringAt (pos c) "`"
+         _ -> errorEP "ExactP: QName (epInfixName) is given wrong number of srcInfoPoints"
+
+instance ExactP Name where
+  exactP n = case n of
+    Ident  _ str    -> printString str
+    Symbol l str    ->
+        case srcInfoPoints l of
+         [_,b,c] -> do
+            printString "("
+            printWhitespace (pos b)
+            printString str
+            printStringAt (pos c) ")"
+         [] -> printString str
+         _ -> errorEP "ExactP: Name is given wrong number of srcInfoPoints"
+
+epInfixName :: Name SrcSpanInfo -> EP ()
+epInfixName n
+    | isSymbolName n = printWhitespace (pos (ann n)) >> exactP n
+    | otherwise =
+        case srcInfoPoints (ann n) of
+         [a,b,c] -> do
+            printStringAt (pos a) "`"
+            printWhitespace (pos b)
+            exactP n
+            printStringAt (pos c) "`"
+         _ -> errorEP "ExactP: Name (epInfixName) is given wrong number of srcInfoPoints"
+
+instance ExactP IPName where
+  exactP ipn = case ipn of
+    IPDup _ str -> printString $ '?':str
+    IPLin _ str -> printString $ '%':str
+
+instance ExactP QOp where
+  exactP qop = case qop of
+    QVarOp _ qn -> epInfixQName qn
+    QConOp _ qn -> epInfixQName qn
+
+instance ExactP Op where
+  exactP op = case op of
+    VarOp _ n -> epInfixName n
+    ConOp _ n -> epInfixName n
+
+
+
+instance ExactP CName where
+  exactP cn = case cn of
+    VarName _ n -> exactP n
+    ConName _ n -> exactP n
+
+instance ExactP Namespace where
+  exactP ns = case ns of
+     NoNamespace _   -> return ()
+     TypeNamespace l -> printStringAt (pos l) "type"
+     PatternNamespace l -> printStringAt (pos l) "pattern"
+
+instance ExactP ExportSpec where
+  exactP espec = case espec of
+     EVar _ qn    -> exactPC qn
+     EAbs _ ns qn -> exactP ns >> exactPC qn
+     EThingWith l wc qn cns    ->
+         let names = case wc of
+                        NoWildcard {} -> cns
+                        EWildcard wcl n  ->
+                          let (before,after) = splitAt n cns
+                              wildcardName = VarName wcl (Ident wcl "..")
+                          in before ++ [wildcardName] ++ after
+             k = length (srcInfoPoints l)
+         in exactP qn >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) names
+     EModuleContents _ mn -> printString "module" >> exactPC mn
+
+instance ExactP ExportSpecList where
+  exactP (ExportSpecList l ess) =
+    let k = length (srcInfoPoints l)
+     in printInterleaved (zip (srcInfoPoints l) $ "(": replicate (k-2) "," ++ [")"]) ess
+
+instance ExactP ImportSpecList where
+  exactP (ImportSpecList l hid ispecs) = do
+    let pts = srcInfoPoints l
+    pts1 <- if hid then do
+             let (x:pts') = pts
+             printStringAt (pos x) "hiding"
+             return pts'
+            else return pts
+    let k = length pts1
+    printInterleaved (zip pts1 $ "(": replicate (k-2) "," ++ [")"]) ispecs
+
+instance ExactP ImportSpec where
+  exactP ispec = case ispec of
+    IVar _ qn       -> exactPC qn
+    IAbs _ ns n     -> exactP ns >> exactPC n
+    IThingAll l n   -> exactP n >> printPoints l ["(","..",")"]
+    IThingWith l n cns    ->
+        let k = length (srcInfoPoints l)
+         in exactP n >> printInterleaved (zip (srcInfoPoints l) $ "(":replicate (k-2) "," ++ [")"]) cns
+
+instance ExactP ImportDecl where
+  exactP (ImportDecl l mn qf src safe mpkg mas mispecs) = do
+    printString "import"
+    case srcInfoPoints l of
+     (_:pts) -> do
+        pts1 <- if src then
+                 case pts of
+                  x:y:pts' -> do
+                     printStringAt (pos x) "{-# SOURCE"
+                     printStringAt (pos y) "#-}"
+                     return pts'
+                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"
+                else return pts
+        pts2 <- if safe then
+                 case pts1 of
+                  x:pts' -> do
+                     printStringAt (pos x) "safe"
+                     return pts'
+                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"
+                else return pts1
+        pts3 <- if qf then
+                 case pts2 of
+                  x:pts' -> do
+                     printStringAt (pos x) "qualified"
+                     return pts'
+                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"
+                else return pts2
+        pts4 <- case mpkg of
+                Just pkg ->
+                  case pts3 of
+                   x:pts' -> do
+                      printStringAt (pos x) $ show pkg
+                      return pts'
+                   _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"
+                _ -> return pts3
+        exactPC mn
+        _ <- case mas of
+                Just as ->
+                 case pts4 of
+                  x:pts' -> do
+                     printStringAt (pos x) "as"
+                     exactPC as
+                     return pts'
+                  _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"
+                _ -> return pts4
+        case mispecs of
+         Nothing -> return ()
+         Just ispecs -> exactPC ispecs
+     _ -> errorEP "ExactP: ImportDecl is given too few srcInfoPoints"
+
+instance ExactP Module where
+  exactP mdl = case mdl of
+    Module l mmh oss ids decls -> do
+        let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)
+        layoutList oPts oss
+        maybeEP exactPC mmh
+        printStreams (map (pos *** printString) $ lList pts)
+                     (map (pos . ann &&& exactPC) ids ++ map (pos . ann &&& exactPC) (sepFunBinds decls))
+    XmlPage l _mn oss xn attrs mat es  -> do
+        let (oPts, pPts) = splitAt (max (length oss + 1) 2) $ srcInfoPoints l
+        case pPts of
+         [a,b,c,d,e] -> do
+            layoutList oPts oss
+            printStringAt (pos a) "<"
+            exactPC xn
+            mapM_ exactPC attrs
+            maybeEP exactPC mat
+            printStringAt (pos b) ">"
+            mapM_ exactPC es
+            printStringAt (pos c) "</"
+            printWhitespace (pos d)
+            exactP xn
+            printStringAt (pos e) ">"
+         _ -> errorEP "ExactP: Module: XmlPage is given wrong number of srcInfoPoints"
+    XmlHybrid l mmh oss ids decls xn attrs mat es -> do
+        let (oPts, pts) = splitAt (max (length oss + 1) 2) (srcInfoPoints l)
+        layoutList oPts oss
+        maybeEP exactPC mmh
+        let (dPts, pPts) = splitAt (length pts - 5) pts
+        case pPts of
+         [a,b,c,d,e] -> do
+            printStreams (map (\(p,s) -> (pos p, printString s)) $ lList dPts)
+                         (map (\i -> (pos $ ann i, exactPC i)) ids ++ map (\d' -> (pos $ ann d', exactPC d')) (sepFunBinds decls))
+
+            printStringAt (pos a) "<"
+            exactPC xn
+            mapM_ exactPC attrs
+            maybeEP exactPC mat
+            printStringAt (pos b) ">"
+            mapM_ exactPC es
+            printStringAt (pos c) "</"
+            printWhitespace (pos d)
+            exactP xn
+            printStringAt (pos e) ">"
+         _ -> errorEP "ExactP: Module: XmlHybrid is given wrong number of srcInfoPoints"
+
+instance ExactP ModuleHead where
+  exactP (ModuleHead l mn mwt mess) =
+    case srcInfoPoints l of
+     [a,b] -> do
+        printStringAt (pos a) "module"
+        exactPC mn
+        maybeEP exactPC mwt
+        maybeEP exactPC mess
+        printStringAt (pos b) "where"
+     _ -> errorEP "ExactP: ModuleHead is given wrong number of srcInfoPoints"
+
+instance ExactP ModulePragma where
+  exactP op = case op of
+    LanguagePragma   l ns       ->
+        let pts = srcInfoPoints l
+            k = length ns - 1 -- number of commas
+            m = length pts - k - 2 -- number of virtual semis, likely 0
+         in printInterleaved (zip pts ("{-# LANGUAGE":replicate k "," ++ replicate m "" ++ ["#-}"])) ns
+    OptionsPragma    l mt str   ->
+        let k = length (srcInfoPoints l)
+            -- We strip out a leading space in the lexer unless the pragma
+            -- starts with a newline.
+            addSpace xs@('\n':_) = xs
+            addSpace xs = ' ':xs
+            opstr = "{-# OPTIONS" ++ case mt of { Just t -> "_" ++ show t ; _ -> "" } ++ addSpace str
+         in printPoints l $ opstr : replicate (k-2) "" ++ ["#-}"]
+    AnnModulePragma  l ann'      ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "{-# ANN"
+            exactPC ann'
+            printStringAt (pos b) "#-}"
+         _ -> errorEP "ExactP: ModulePragma: AnnPragma is given wrong number of srcInfoPoints"
+
+instance ExactP WarningText where
+    exactP (DeprText l str) = printPoints l ["{-# DEPRECATED", str, "#-}"]
+    exactP (WarnText l str) = printPoints l ["{-# WARNING",    str, "#-}"]
+
+instance ExactP Assoc where
+  exactP a = case a of
+    AssocNone  _ -> printString "infix"
+    AssocLeft  _ -> printString "infixl"
+    AssocRight _ -> printString "infixr"
+
+instance ExactP DataOrNew where
+  exactP (DataType _) = printString "data"
+  exactP (NewType  _) = printString "newtype"
+
+instance ExactP TypeEqn where
+  exactP (TypeEqn l t1 t2) =
+    case srcInfoPoints l of
+      [a] -> do
+         exactPC t1
+         printStringAt (pos a) "="
+         exactPC t2
+      _ -> errorEP "ExactP: TypeEqn is given wrong number of srcInfoPoints"
+
+instance ExactP InjectivityInfo where
+  exactP (InjectivityInfo l to from) =
+    case srcInfoPoints l of
+      a:b:_ -> do
+        printStringAt (pos a) "|"
+        exactPC to
+        printStringAt (pos b) "->"
+        mapM_ exactPC from
+      _ -> errorEP "ExactP: InjectivityInfo given wrong number of srcInfoPoints"
+
+instance ExactP ResultSig where
+  exactP (KindSig l k) =
+    case srcInfoPoints l of
+      a:_ -> do
+        printStringAt (pos a) "::"
+        exactPC k
+      _ -> errorEP "ExactP: ResultSig given wrong number of srcInfoPoints"
+  exactP (TyVarSig l tv) =
+    case srcInfoPoints l of
+      a:_ -> do
+        printStringAt (pos a) "="
+        exactPC tv
+      _ -> errorEP "ExactP: ResultSig given wrong number of srcInfoPoints"
+
+
+instance ExactP Decl where
+  exactP decl = case decl of
+    TypeDecl     l dh t      ->
+        case srcInfoPoints l of
+         [a,b] -> do
+            printStringAt (pos a) "type"
+            exactPC dh
+            printStringAt (pos b) "="
+            exactPC t
+         _ -> errorEP "ExactP: Decl: TypeDecl is given wrong number of srcInfoPoints"
+    TypeFamDecl  l dh mk mi   ->
+        case srcInfoPoints l of
+         a:b:_ -> do
+            printStringAt (pos a) "type"
+            printStringAt (pos b) "family"
+            exactPC dh
+            maybeEP exactPC mk
+            maybeEP exactPC mi
+         _ -> errorEP "ExactP: Decl: TypeFamDecl is given wrong number of srcInfoPoints"
+    ClosedTypeFamDecl  l dh mk mi eqns ->
+        case srcInfoPoints l of
+         a:b:c:_ -> do
+            printStringAt (pos a) "type"
+            printStringAt (pos b) "family"
+            exactPC dh
+            maybeEP exactPC mk
+            maybeEP exactPC mi
+            printStringAt (pos c) "where"
+            mapM_ exactP eqns
+         _ -> errorEP "ExactP: Decl: ClosedTypeFamDecl is given wrong number of srcInfoPoints"
+    DataDecl     l dn mctxt dh constrs mder -> do
+        exactP dn
+        maybeEP exactPC mctxt
+        exactPC dh
+        -- the next line works for empty data types since the srcInfoPoints will be empty then
+        printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs
+        maybeEP exactPC mder
+    GDataDecl    l dn mctxt dh mk gds mder -> do
+        let pts = srcInfoPoints l
+        exactP dn
+        maybeEP exactPC mctxt
+        exactPC dh
+        pts1 <- case mk of
+                Nothing -> return pts
+                Just kd -> case pts of
+                            p:pts' -> do
+                               printStringAt (pos p) "::"
+                               exactPC kd
+                               return pts'
+                            _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"
+        case pts1 of
+         x:pts' -> do
+            printStringAt (pos x) "where"
+            layoutList pts' gds
+            maybeEP exactPC mder
+         _ -> errorEP "ExactP: Decl: GDataDecl is given too few srcInfoPoints"
+    DataFamDecl  l mctxt dh mk -> do
+        printString "data"
+        maybeEP exactPC mctxt
+        exactPC dh
+        maybeEP (\kd -> printStringAt (pos (head (srcInfoPoints l))) "::" >> exactPC kd) mk
+    TypeInsDecl  l t1 t2 ->
+        case srcInfoPoints l of
+         [_,b,c] -> do
+            printString "type"
+            printStringAt (pos b) "instance"
+            exactPC t1
+            printStringAt (pos c) "="
+            exactPC t2
+         _ -> errorEP "ExactP: Decl: TypeInsDecl is given wrong number of srcInfoPoints"
+    DataInsDecl  l dn t constrs mder    ->
+        case srcInfoPoints l of
+         p:pts -> do
+            exactP dn
+            printStringAt (pos p) "instance"
+            exactPC t
+            printInterleaved (zip pts ("=": repeat "|")) constrs
+            maybeEP exactPC mder
+         _ -> errorEP "ExactP: Decl: DataInsDecl is given too few srcInfoPoints"
+    GDataInsDecl l dn t mk gds mder     ->
+        case srcInfoPoints l of
+         p:pts -> do
+            exactP dn
+            printStringAt (pos p) "instance"
+            exactPC t
+            pts1 <- case mk of
+                    Nothing -> return pts
+                    Just kd -> case pts of
+                                p':pts' -> do
+                                    printStringAt (pos p') "::"
+                                    exactPC kd
+                                    return pts'
+                                _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"
+            case pts1 of
+             x:pts' -> do
+                printStringAt (pos x) "where"
+                layoutList pts' gds
+                maybeEP exactPC mder
+             _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"
+         _ -> errorEP "ExactP: Decl: GDataInsDecl is given too few srcInfoPoints"
+    ClassDecl    l mctxt dh fds mcds    ->
+        case srcInfoPoints l of
+         _:pts -> do
+            printString "class"
+            maybeEP exactPC mctxt
+            exactPC dh
+            _ <- case fds of
+                    [] -> return pts
+                    _  -> do
+                      let (pts1, pts2) = splitAt (length fds) pts
+                      printInterleaved (zip pts1 ("|":repeat ",")) fds
+                      return pts2
+            maybeEP (\cds ->
+                case pts of
+                 p:pts' -> do
+                    printStringAt (pos p) "where"
+                    layoutList pts' $ sepClassFunBinds cds
+                 _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"
+                ) mcds
+         _ -> errorEP "ExactP: Decl: ClassDecl is given too few srcInfoPoints"
+    InstDecl     l movlp ih mids        ->
+        case srcInfoPoints l of
+         _:pts -> do
+            printString "instance"
+            maybeEP exactPC movlp
+            exactPC ih
+            maybeEP (\ids -> do
+                let (p:pts') = pts
+                printStringAt (pos p) "where"
+                layoutList pts' $ sepInstFunBinds ids
+                ) mids
+         _ -> errorEP "ExactP: Decl: InstDecl is given too few srcInfoPoints"
+    DerivDecl    l movlp ih             ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "deriving"
+            printStringAt (pos b) "instance"
+            maybeEP exactPC movlp
+            exactPC ih
+         _ -> errorEP "ExactP: Decl: DerivDecl is given wrong number of srcInfoPoints"
+    InfixDecl    l assoc mprec ops      -> do
+        let pts = srcInfoPoints l
+        exactP assoc
+        pts1 <- case mprec of
+                Nothing -> return pts
+                Just prec ->
+                    case pts of
+                     p:pts' -> do
+                        printStringAt (pos p) (show prec)
+                        return pts'
+                     _ -> errorEP "ExactP: Decl: InfixDecl is given too few srcInfoPoints"
+        printInterleaved' (zip pts1 (repeat ",")) ops
+    DefaultDecl  l ts   ->
+        case srcInfoPoints l of
+         _:pts -> do
+            printString "default"
+            printInterleaved (zip (init pts) ("(":repeat ",")) ts
+            printStringAt (pos (last pts)) ")"
+         _ -> errorEP "ExactP: Decl: DefaultDecl is given too few srcInfoPoints"
+    SpliceDecl   _ spl  -> exactP spl
+    TypeSig      l ns t -> do
+        let pts = srcInfoPoints l
+        printInterleaved' (zip pts (replicate (length pts - 1) "," ++ ["::"])) ns
+        exactPC t
+    PatSynSig l n dh c1 c2 t -> do
+      case srcInfoPoints l of
+        (pat:dc:pts1) -> do
+          printStringAt (pos pat) "pattern"
+          exactPC n
+          printStringAt (pos dc) "::"
+          case dh of
+            Nothing -> return ()
+            Just tvs ->
+              case pts1 of
+                (a:b:_) -> do
+                      printStringAt (pos a) "forall"
+                      mapM_ exactPC tvs
+                      printStringAt (pos b) "."
+                _ -> errorEP "ExactP: Decl: PatSynSig: Forall: is given too few srcInfoPoints"
+          maybeEP exactPC c1
+          maybeEP exactPC c2
+          exactPC t
+        _ -> errorEP "ExactP: Decl: PatSynSig: is given too few srcInfoPoints"
+    FunBind      _ ms   -> mapM_ exactPC ms
+    PatBind      l p rhs mbs -> do
+        let pts = srcInfoPoints l
+        exactP p
+        exactPC rhs
+        maybeEP (\bs -> printStringAt (pos (head pts)) "where" >> exactPC bs) mbs
+    PatSyn l lhs rhs dir ->
+      case srcInfoPoints l of
+        [pat,sepPos] -> do
+          let sep = case dir of
+                      ImplicitBidirectional     -> "="
+                      ExplicitBidirectional _ _ -> "<-"
+                      Unidirectional            -> "<-"
+          printStringAt (pos pat) "pattern"
+          exactPC lhs
+          printStringAt (pos sepPos) sep
+          exactPC rhs
+          case dir of
+            ExplicitBidirectional bl ds -> do
+              case srcInfoPoints bl of
+                (w:pts) -> do
+                  printStringAt (pos w) "where"
+                  layoutList pts ds
+                _ -> errorEP "ExactP: Decl: PaySyn: ExplicitBidirectional is given too few srcInfoPoints"
+            _ -> return ()
+        _ -> errorEP "ExactP: Decl: PatSyn is given too few srcInfoPoints"
+    ForImp       l cc msf mstr n t   ->
+        case srcInfoPoints l of
+         _:b:pts -> do
+            printString "foreign"
+            printStringAt (pos b) "import"
+            exactPC cc
+            maybeEP exactPC msf
+            pts1 <- case mstr of
+                      Nothing -> return pts
+                      Just str -> case pts of
+                                   x:pts' -> do
+                                      printStringAt (pos x) (show str)
+                                      return pts'
+                                   _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"
+            case pts1 of
+             y:_ -> do
+                exactPC n
+                printStringAt (pos y) "::"
+                exactPC t
+             _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"
+         _ -> errorEP "ExactP: Decl: ForImp is given too few srcInfoPoints"
+    ForExp       l cc mstr n t      ->
+        case srcInfoPoints l of
+         _:b:pts -> do
+            printString "foreign"
+            printStringAt (pos b) "export"
+            exactPC cc
+            pts1 <- case mstr of
+                      Nothing -> return pts
+                      Just str -> case pts of
+                                   x:pts' -> do
+                                      printStringAt (pos x) (show str)
+                                      return pts'
+                                   _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"
+            case pts1 of
+             y:_ -> do
+                exactPC n
+                printStringAt (pos y) "::"
+                exactPC t
+             _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"
+         _ -> errorEP "ExactP: Decl: ForExp is given too few srcInfoPoints"
+    RulePragmaDecl   l rs   ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "{-# RULES"
+            mapM_ exactPC rs
+            printStringAt (pos b) "#-}"
+         _ -> errorEP "ExactP: Decl: RulePragmaDecl is given too few srcInfoPoints"
+    DeprPragmaDecl   l nstrs ->
+        case srcInfoPoints l of
+         _:pts -> do
+            printString "{-# DEPRECATED"
+            printWarndeprs (map pos (init pts)) nstrs
+            printStringAt (pos (last pts)) "#-}"
+         _ -> errorEP "ExactP: Decl: DeprPragmaDecl is given too few srcInfoPoints"
+    WarnPragmaDecl   l nstrs ->
+        case srcInfoPoints l of
+         _:pts -> do
+            printString "{-# WARNING"
+            printWarndeprs (map pos (init pts)) nstrs
+            printStringAt (pos (last pts)) "#-}"
+         _ -> errorEP "ExactP: Decl: WarnPragmaDecl is given too few srcInfoPoints"
+    InlineSig        l inl mact qn    ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString $ if inl then "{-# INLINE" else "{-# NOINLINE"
+            maybeEP exactPC mact
+            exactPC qn
+            printStringAt (pos b) "#-}"
+         _ -> errorEP "ExactP: Decl: InlineSig is given wrong number of srcInfoPoints"
+    InlineConlikeSig l mact qn    ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "{-# INLINE CONLIKE"
+            maybeEP exactPC mact
+            exactPC qn
+            printStringAt (pos b) "#-}"
+         _ -> errorEP "ExactP: Decl: InlineConlikeSig is given wrong number of srcInfoPoints"
+    SpecSig          l mact qn ts ->
+        case srcInfoPoints l of
+         _:pts -> do
+            printString "{-# SPECIALISE"
+            maybeEP exactPC mact
+            exactPC qn
+            printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts
+         _ -> errorEP "ExactP: Decl: SpecSig is given too few srcInfoPoints"
+    SpecInlineSig    l b mact qn ts ->
+        case srcInfoPoints l of
+         _:pts -> do
+            printString $ "{-# SPECIALISE " ++ if b then "INLINE" else "NOINLINE"
+            maybeEP exactPC mact
+            exactPC qn
+            printInterleaved (zip pts ("::" : replicate (length pts - 2) "," ++ ["#-}"])) ts
+         _ -> errorEP "ExactP: Decl: SpecInlineSig is given too few srcInfoPoints"
+    InstSig          l ih     ->
+        case srcInfoPoints l of
+         [_,b,c] -> do
+            printString "{-# SPECIALISE"
+            printStringAt (pos b) "instance"
+            exactPC ih
+            printStringAt (pos c) "#-}"
+         _ -> errorEP "ExactP: Decl: InstSig is given wrong number of srcInfoPoints"
+    AnnPragma       l ann'       ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "{-# ANN"
+            exactPC ann'
+            printStringAt (pos b) "#-}"
+         _ -> errorEP "ExactP: Decl: AnnPragma is given wrong number of srcInfoPoints"
+    MinimalPragma       l b      ->
+        case srcInfoPoints l of
+         [_,b'] -> do
+            printString "{-# MINIMAL"
+            maybeEP exactPC b
+            printStringAt (pos b') "#-}"
+         _ -> errorEP "ExactP: Decl: MinimalPragma is given wrong number of srcInfoPoints"
+    RoleAnnotDecl l ty roles ->
+      case srcInfoPoints l of
+         (t:r:_) -> do
+            printStringAt (pos t)  "type"
+            printStringAt (pos r)  "role"
+            exactPC ty
+            mapM_ exactPC roles
+         _ -> errorEP "ExactP: Decl: RoleAnnotDecl is given wrong number of srcInfoPoints"
+
+instance ExactP Role where
+  exactP r =
+    case r of
+      RoleWildcard l     -> printStringAt (pos l) "_"
+      Representational l -> printStringAt (pos l) "representational"
+      Phantom l          -> printStringAt (pos l) "phantom"
+      Nominal l          -> printStringAt (pos l) "nominal"
+
+
+instance ExactP Annotation where
+    exactP ann' = case ann' of
+        Ann     _ n e   -> do
+            exactP n
+            exactPC e
+        TypeAnn _ n e   -> do
+            printString "type"
+            exactPC n
+            exactPC e
+        ModuleAnn _ e   -> do
+            printString "module"
+            exactPC e
+
+instance ExactP BooleanFormula where
+    exactP b' = case b' of
+        VarFormula _ n -> exactPC n
+        AndFormula l bs ->
+         let pts = srcInfoPoints l
+         in printStreams (zip (map pos pts) (repeat $ printString ",")) (map (pos . ann &&& exactPC) bs)
+        OrFormula l bs   ->
+         let pts = srcInfoPoints l
+         in printStreams (zip (map pos pts) (repeat $ printString "|")) (map (pos . ann &&& exactPC) bs)
+        ParenFormula l b   ->
+            case srcInfoPoints l of
+                [a'',b''] -> printStringAt (pos a'') "(" >> exactPC b >> printStringAt (pos b'') ")"
+                _ -> errorEP "ExactP: BooleanFormula: ParenFormula is given wrong number of srcInfoPoints"
+
+printWarndeprs :: [Pos] -> [([Name SrcSpanInfo], String)] -> EP ()
+printWarndeprs _ [] = return ()
+printWarndeprs ps' ((ns',str'):nsts') = printWd ps' ns' str' nsts'
+  where printWd :: [Pos] -> [Name SrcSpanInfo] -> String -> [([Name SrcSpanInfo], String)] -> EP ()
+        printWd (p:ps) []  str nsts = printStringAt p (show str) >> printWarndeprs ps nsts
+        printWd ps     [n] str nsts = exactPC n >> printWd ps [] str nsts
+        printWd (p:ps) (n:ns) str nsts = exactPC n >> printStringAt p "," >> printWd ps ns str nsts
+        printWd _ _ _ _ = internalError "printWd"
+
+
+sepFunBinds :: [Decl SrcSpanInfo] -> [Decl SrcSpanInfo]
+sepFunBinds [] = []
+sepFunBinds (FunBind _ ms:ds) = map (\m -> FunBind (ann m) [m]) ms ++ sepFunBinds ds
+sepFunBinds (d:ds) = d : sepFunBinds ds
+
+sepClassFunBinds :: [ClassDecl SrcSpanInfo] -> [ClassDecl SrcSpanInfo]
+sepClassFunBinds [] = []
+sepClassFunBinds (ClsDecl _ (FunBind _ ms):ds) = map (\m -> ClsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepClassFunBinds ds
+sepClassFunBinds (d:ds) = d : sepClassFunBinds ds
+
+sepInstFunBinds :: [InstDecl SrcSpanInfo] -> [InstDecl SrcSpanInfo]
+sepInstFunBinds [] = []
+sepInstFunBinds (InsDecl _ (FunBind _ ms):ds) = map (\m -> InsDecl (ann m) $ FunBind (ann m) [m]) ms ++ sepInstFunBinds ds
+sepInstFunBinds (d:ds) = d : sepInstFunBinds ds
+
+instance ExactP DeclHead where
+  exactP dh' = case dh' of
+    DHead _ n           -> exactP n
+    DHInfix _ tva n     -> exactP tva >> epInfixName n
+    DHParen l dh        ->
+        case srcInfoPoints l of
+         [_,b] -> printString "(" >> exactPC dh >> printStringAt (pos b) ")"
+         _ -> errorEP "ExactP: DeclHead: DeclParen is given wrong number of srcInfoPoints"
+    DHApp   _ dh t      -> exactP dh >> exactPC t
+
+instance ExactP InstRule where
+  exactP ih' = case ih' of
+    IRule l mtvs mctxt qn    -> do
+        let pts = srcInfoPoints l
+        _ <- case mtvs of
+                Nothing -> return pts
+                Just tvs ->
+                    case pts of
+                     [a,b] -> do
+                        printStringAt (pos a) "forall"
+                        mapM_ exactPC tvs
+                        printStringAt (pos b) "."
+                        return pts
+                     _ -> errorEP "ExactP: InstRule: IRule is given too few srcInfoPoints"
+        maybeEP exactPC mctxt
+        exactPC qn
+    IParen l ih        ->
+        case srcInfoPoints l of
+         [a,b] -> printStringAt (pos a) "(" >> exactPC ih >> printStringAt (pos b) ")"
+         _ -> errorEP "ExactP: InstRule: IParen is given wrong number of srcInfoPoints"
+
+instance ExactP InstHead where
+   exactP doih' = case doih' of
+    IHCon _ qn      -> exactPC qn
+    IHInfix _ ta qn -> exactPC ta >> epInfixQName qn
+    IHParen l doih  ->
+        case srcInfoPoints l of
+         [a,b] -> printStringAt (pos a) "(" >> exactPC doih >> printStringAt (pos b) ")"
+         _ -> errorEP "ExactP: OrInstHead: IHParen is given wrong number of srcInfoPoints"
+    IHApp _ doih t  -> exactPC doih >> exactPC t
+
+instance ExactP TyVarBind where
+  exactP (KindedVar   l n k) =
+        case srcInfoPoints l of
+         [_,b,c] -> do
+            printString "("
+            exactPC n
+            printStringAt (pos b) "::"
+            exactPC k
+            printStringAt (pos c) ")"
+         _ -> errorEP "ExactP: TyVarBind: KindedVar is given wrong number of srcInfoPoints"
+  exactP (UnkindedVar l n) =
+        case srcInfoPoints l of
+                 [a,_,c] -> do
+                    printStringAt (pos a) "("
+                    exactPC n
+                    printStringAt (pos c) ")"
+                 [] -> 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
+        let pts = srcInfoPoints l
+        _ <- case mtvs of
+                Nothing -> return pts
+                Just tvs ->
+                    case pts of
+                     _:b:pts' -> do
+                        printString "forall"
+                        mapM_ exactPC tvs
+                        printStringAt (pos b) "."
+                        return pts'
+                     _ -> errorEP "ExactP: Type: TyForall is given too few srcInfoPoints"
+        maybeEP exactPC mctxt
+        exactPC t
+    TyFun   l t1 t2 ->
+        case srcInfoPoints l of
+         [a] -> do
+            exactP t1
+            printStringAt (pos a) "->"
+            exactPC t2
+         _ -> errorEP "ExactP: Type: TyFun is given wrong number of srcInfoPoints"
+    TyTuple l bx ts ->
+        case bx of
+          Boxed   -> parenList (srcInfoPoints l) ts
+          Unboxed -> parenHashList (srcInfoPoints l) ts
+    TyList  l t     ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "["
+            exactPC t
+            printStringAt (pos b) "]"
+         _ -> errorEP "ExactP: Type: TyList is given wrong number of srcInfoPoints"
+    TyParArray l t     ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "[:"
+            exactPC t
+            printStringAt (pos b) ":]"
+         _ -> errorEP "ExactP: Type: TyParArray is given wrong number of srcInfoPoints"
+    TyApp   _ t1 t2 -> exactP t1 >> exactPC t2
+    TyVar   _ n     -> exactP n
+    TyCon   _ qn    -> exactP qn
+    TyParen l t     ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "("
+            exactPC t
+            printStringAt (pos b) ")"
+         _ -> errorEP "ExactP: Type: TyParen is given wrong number of srcInfoPoints"
+    TyInfix _ t1 qn t2 -> exactP t1 >> epInfixQName qn >> exactPC t2
+    TyKind  l t kd ->
+        case srcInfoPoints l of
+         [_,b,c] -> do
+            printString "("
+            exactPC t
+            printStringAt (pos b) "::"
+            exactPC kd
+            printStringAt (pos c) ")"
+         _ -> errorEP "ExactP: Type: TyKind is given wrong number of srcInfoPoints"
+    TyPromoted _ p -> exactPC p
+    TyEquals l t0 t1 -> case srcInfoPoints l of
+                          a:_ -> exactPC t0 >> printStringAt (pos a) "~" >> exactPC t1
+                          _   -> errorEP "ExactP: Type: TyEquals is given wrong number of srcInfoPoints"
+
+    TySplice _ sp  -> exactP sp
+    TyBang _ b u t -> exactPC u >> exactPC b >> exactPC t
+    TyWildCard _ mn      -> printString "_" >> maybeEP exactPC mn
+    TyQuasiQuote _ name qt    -> do
+        let qtLines = lines qt
+        printString $ "[" ++ name ++ "|"
+        sequence_ (intersperse newLine $ map printString qtLines)
+        printString "|]"
+
+instance ExactP Promoted where
+  exactP (PromotedInteger _ _ rw) = printString rw
+  exactP (PromotedString _ _ rw)  = printString ('\"':rw ++ "\"")
+  exactP (PromotedCon l True qn)  = case srcInfoPoints l of
+    [a] -> printStringAt (pos a) "'" >> epQName qn
+    _ -> errorEP "ExactP: Promoted: PromotedCon is given wrong number of srcInfoPoints"
+  exactP (PromotedCon _ False qn) = epQName qn
+  exactP (PromotedList l b pl) =
+    let o | b = "'[" | otherwise = "["
+        e = "]"
+        pts = srcInfoPoints l
+    in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl
+  exactP (PromotedTuple l pl) =
+    let o = "'("
+        e = ")"
+        pts = srcInfoPoints l
+    in printInterleaved (zip pts (o: replicate (length pts - 2) "," ++ [e])) pl
+  exactP (PromotedUnit l) = case srcInfoPoints l of
+    [_,b] -> do
+        printString "("
+        printStringAt (pos b) ")"
+    _ -> errorEP "ExactP: Promoted: PromotedUnit is given wrong number of srcInfoPoints"
+
+
+instance ExactP Context where
+  exactP ctxt = do
+    printContext ctxt
+    printStringAt (pos . last . srcInfoPoints . ann $ ctxt) "=>"
+
+printContext :: Context SrcSpanInfo -> EP ()
+printContext ctxt = do
+    let l = ann ctxt
+        pts = init $ srcInfoPoints l
+    case ctxt of
+     CxSingle _ asst -> exactP asst
+     CxEmpty _ ->
+        case pts of
+         [a,b] -> do
+            printStringAt (pos a) "("
+            printStringAt (pos b) ")"
+         _ -> errorEP "ExactP: Context: CxEmpty is given wrong number of srcInfoPoints"
+     CxTuple _ assts -> parenList pts assts
+
+
+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
+    IParam l ipn t    ->
+        case srcInfoPoints l of
+         [a] -> do
+            exactP ipn
+            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
+            printStringAt (pos a) "("
+            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 ihs) =
+    case srcInfoPoints l of
+     _:pts -> do
+        printString "deriving"
+        case pts of
+         [] -> exactPC $ head ihs
+         _  -> parenList pts ihs
+     _ -> errorEP "ExactP: Deriving is given too few srcInfoPoints"
+
+instance ExactP ClassDecl where
+  exactP cdecl = case cdecl of
+    ClsDecl    _ d -> exactP d
+    ClsDataFam l mctxt dh mk ->
+        case srcInfoPoints l of
+         _:pts -> do
+            printString "data"
+            maybeEP exactPC mctxt
+            exactPC dh
+            maybeEP (\kd -> printStringAt (pos (head pts)) "::" >> exactPC kd) mk
+         _ -> errorEP "ExactP: ClassDecl: ClsDataFam is given too few srcInfoPoints"
+    ClsTyFam   l dh mk mi ->
+        case srcInfoPoints l of
+         _:_ -> do
+            printString "type"
+            exactPC dh
+            maybeEP exactPC mk
+            maybeEP exactPC mi
+         _ -> errorEP "ExactP: ClassDecl: ClsTyFam is given too few srcInfoPoints"
+    ClsTyDef   l t1 ->
+        case srcInfoPoints l of
+         _:b:_ -> do -- 3 sourceInfoPoints implies parsed as "type instance"
+            printString "type"
+            printStringAt (pos b) "instance"
+            exactPC t1
+         _:_ -> do
+            printString "type"
+            exactPC t1
+         _ -> errorEP "ExactP: ClassDecl: ClsTyDef is given too few srcInfoPoints"
+    ClsDefSig  l n t    ->
+        case srcInfoPoints l of
+         _:b:_ -> do
+            printString "default"
+            exactPC n
+            printStringAt (pos b) "::"
+            exactPC t
+         _ -> errorEP "ExactP: ClassDecl: ClsDefSig is given too few srcInfoPoints"
+
+
+instance ExactP InstDecl where
+  exactP idecl = case idecl of
+    InsDecl   _ d -> exactP d
+    InsType   l t1 t2 ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "type"
+            exactPC t1
+            printStringAt (pos b) "="
+            exactPC t2
+         _ -> internalError "InstDecl -> InsType"
+    InsData   l dn t constrs mder -> do
+        exactP dn
+        exactPC t
+        printInterleaved (zip (srcInfoPoints l) ("=": repeat "|")) constrs
+        maybeEP exactPC mder
+    InsGData  l dn t mk gds mder  -> do
+        let pts = srcInfoPoints l
+        exactP dn
+        exactPC t
+        pts1 <- case mk of
+                Nothing -> return pts
+                Just kd -> case pts of
+                            p:pts' -> do
+                                printStringAt (pos p) "::"
+                                exactPC kd
+                                return pts'
+                            _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"
+        case pts1 of
+         x:_ -> do
+            printStringAt (pos x) "where"
+            mapM_ exactPC gds
+            maybeEP exactPC mder
+         _ -> errorEP "ExactP: InstDecl: InsGData is given too few srcInfoPoints"
+--  InsInline l inl mact qn   -> do
+--        case srcInfoPoints l of
+--         [a,b] -> do
+--            printString $ if inl then "{-# INLINE" else "{-# NOINLINE"
+--            maybeEP exactPC mact
+--            exactPC qn
+--            printStringAt (pos b) "#-}"
+--         _ -> errorEP "ExactP: InstDecl: InsInline is given wrong number of srcInfoPoints"
+
+instance ExactP FunDep where
+  exactP (FunDep l nxs nys) =
+    case srcInfoPoints l of
+     [a] -> do
+        mapM_ exactPC nxs
+        printStringAt (pos a) "->"
+        mapM_ exactPC nys
+     _ -> errorEP "ExactP: FunDep is given wrong number of srcInfoPoints"
+
+instance ExactP QualConDecl where
+  exactP (QualConDecl l mtvs mctxt cd) = do
+        let pts = srcInfoPoints l
+        _ <- case mtvs of
+                Nothing -> return pts
+                Just tvs ->
+                    case pts of
+                     _:b:pts' -> do
+                        printString "forall"
+                        mapM_ exactPC tvs
+                        printStringAt (pos b) "."
+                        return pts'
+                     _ -> errorEP "ExactP: QualConDecl is given wrong number of srcInfoPoints"
+        maybeEP exactPC mctxt
+        exactPC cd
+
+instance ExactP ConDecl where
+  exactP cd = case cd of
+    ConDecl _ n bts -> exactP n >> mapM_ exactPC bts
+    InfixConDecl _ bta n btb -> exactP bta >> epInfixName n >> exactP btb
+    RecDecl l n fds -> exactP n >> curlyList (srcInfoPoints l) fds
+
+instance ExactP GadtDecl where
+  exactP (GadtDecl l n ns' t) =
+    case ns' of
+        Nothing ->
+            case srcInfoPoints l of
+                [a] -> do
+                    exactP n
+                    printStringAt (pos a) "::"
+                    exactPC t
+                _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"
+        Just ts ->
+            case srcInfoPoints l of
+                (a:b:c:d:rest) -> do
+                    exactPC n
+                    printStringAt (pos a) "::"
+                    printStringAt (pos b) "{"
+                    printInterleaved' (zip rest (repeat ",")) ts
+                    printStringAt (pos c) "}"
+                    printStringAt (pos d) "->"
+                    exactPC t
+                _ -> errorEP "ExactP: GadtDecl is given wrong number of srcInfoPoints"
+
+instance ExactP BangType where
+  exactP bt = case bt of
+    BangedTy   l  -> printStringAt (pos l) "!"
+    LazyTy l -> printStringAt (pos l) "~"
+    _ -> return ()
+
+instance ExactP Unpackedness where
+  exactP bt = case bt of
+    Unpack l  ->
+      case srcInfoPoints l of
+       [a,b] -> do
+          printStringAt (pos a) "{-# UNPACK"
+          printStringAt (pos b) "#-}"
+       _ -> errorEP "ExactP: Unpackedness: Unpack is given wrong number of srcInfoPoints"
+    NoUnpack l  ->
+      case srcInfoPoints l of
+       [a,b] -> do
+          printStringAt (pos a) "{-# NOUNPACK"
+          printStringAt (pos b) "#-}"
+       _ -> errorEP "ExactP: Unpackedness: NoUnpack is given wrong number of srcInfoPoints"
+    NoUnpackPragma {} -> return ()
+
+instance ExactP Splice where
+  exactP (IdSplice _ str) = printString $ '$':str
+  exactP (ParenSplice l e) =
+    case srcInfoPoints l of
+     [_,b] -> do
+        printString "$("
+        exactPC e
+        printStringAt (pos b) ")"
+     _ -> errorEP "ExactP: Splice: ParenSplice is given wrong number of srcInfoPoints"
+
+instance ExactP Exp where
+  exactP exp = case exp of
+    Var _ qn        -> exactP qn
+    OverloadedLabel _ qn -> printString ('#':qn)
+    IPVar _ ipn     -> exactP ipn
+    Con _ qn        -> exactP qn
+    Lit _ lit       -> exactP lit
+    InfixApp _ e1 op e2 -> exactP e1 >> exactPC op >> exactPC e2
+    App _ e1 e2     -> exactP e1 >> exactPC e2
+    NegApp _ e      -> printString "-" >> exactPC e
+    Lambda l ps e   ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "\\"
+            mapM_ exactPC ps
+            printStringAt (pos b) "->"
+            exactPC e
+         _ -> errorEP "ExactP: Exp: Lambda is given wrong number of srcInfoPoints"
+    Let l bs e      ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "let"
+            exactPC bs
+            printStringAt (pos b) "in"
+            exactPC e
+         _ -> errorEP "ExactP: Exp: Let is given wrong number of srcInfoPoints"
+    If l ec et ee   -> -- traceShow (srcInfoPoints l) $ do
+        -- First we need to sort out if there are any optional
+        -- semicolons hiding among the srcInfoPoints.
+        case srcInfoPoints l of
+         (_:b:c:rest) -> do
+            let (mpSemi1,pThen,rest2) =
+                           if snd (spanSize b) == 4 -- this is "then", not a semi
+                            then (Nothing, b, c:rest)
+                            else (Just b, c, rest)
+            case rest2 of
+              (c':rest3) -> do
+                let (mpSemi2,rest4) = if snd (spanSize c') == 4 -- this is "else", not a semi
+                                       then (Nothing, rest2)
+                                       else (Just c', rest3)
+                case rest4 of
+                  [pElse] -> do
+                    -- real work starts here:
+                    printString "if"
+                    exactPC ec
+                    maybeEP printSemi  mpSemi1
+                    printStringAt (pos pThen) "then"
+                    exactPC et
+                    maybeEP printSemi mpSemi2
+                    printStringAt (pos pElse) "else"
+                    exactPC ee
+                  [] -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"
+                  _  -> errorEP "ExactP: Exp: If is given too many srcInfoPoints"
+              _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"
+
+         _ -> errorEP "ExactP: Exp: If is given too few srcInfoPoints"
+    MultiIf l alts ->
+        case srcInfoPoints l of
+          _:pts -> do
+            printString "if"
+            layoutList pts (map GuardedAlt alts)
+          _ -> internalError "Exp -> MultiIf"
+    Case l e alts   ->
+        case srcInfoPoints l of
+         _:b:pts -> do
+            printString "case"
+            exactPC e
+            printStringAt (pos b) "of"
+            layoutList pts alts
+         _ -> errorEP "ExactP: Exp: Case is given too few srcInfoPoints"
+    Do l stmts      ->
+        case srcInfoPoints l of
+         _:pts -> do
+            printString "do"
+            layoutList pts stmts
+         _ -> errorEP "ExactP: Exp: Do is given too few srcInfoPoints"
+    MDo l stmts     ->
+        case srcInfoPoints l of
+         _:pts -> do
+            printString "mdo"
+            layoutList pts stmts
+         _ -> errorEP "ExactP: Exp: Mdo is given wrong number of srcInfoPoints"
+    Tuple l bx es   ->
+        case bx of
+          Boxed   -> parenList (srcInfoPoints l) es
+          Unboxed -> parenHashList (srcInfoPoints l) es
+    TupleSection l bx mexps -> do
+        let pts = srcInfoPoints l
+            (o, e) = case bx of Boxed -> ("(", ")"); Unboxed -> ("(#", "#)")
+        printSeq $ interleave (zip (map pos $ init pts) (map printString (o: repeat ",")) ++ [(pos $ last pts, printString e)])
+                              (map (maybe (0,0) (pos . ann) &&& maybeEP exactPC) mexps)
+    List l es               -> squareList (srcInfoPoints l) es
+    ParArray l es           -> squareColonList (srcInfoPoints l) es
+    Paren l p               -> parenList (srcInfoPoints l) [p]
+    LeftSection l e qop     ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "("
+            exactPC e
+            exactPC qop
+            printStringAt (pos b) ")"
+         _ -> errorEP "ExactP: Exp: LeftSection is given wrong number of srcInfoPoints"
+    RightSection l qop e    ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "("
+            exactPC qop
+            exactPC e
+            printStringAt (pos b) ")"
+         _ -> errorEP "ExactP: Exp: RightSection is given wrong number of srcInfoPoints"
+    RecConstr l qn fups     -> do
+        let pts = srcInfoPoints l
+        exactP qn
+        curlyList pts fups
+    RecUpdate l e fups      -> do
+        let pts = srcInfoPoints l
+        exactP e
+        curlyList pts fups
+    EnumFrom l e            ->
+        case srcInfoPoints l of
+         [_,b,c] -> do
+            printString "["
+            exactPC e
+            printStringAt (pos b) ".."
+            printStringAt (pos c) "]"
+         _ -> errorEP "ExactP: Exp: EnumFrom is given wrong number of srcInfoPoints"
+    EnumFromTo l e1 e2      ->
+        case srcInfoPoints l of
+         [_,b,c] -> do
+            printString "["
+            exactPC e1
+            printStringAt (pos b) ".."
+            exactPC e2
+            printStringAt (pos c) "]"
+         _ -> errorEP "ExactP: Exp: EnumFromTo is given wrong number of srcInfoPoints"
+    EnumFromThen l e1 e2    ->
+        case srcInfoPoints l of
+         [_,b,c,d] -> do
+            printString "["
+            exactPC e1
+            printStringAt (pos b) ","
+            exactPC e2
+            printStringAt (pos c) ".."
+            printStringAt (pos d) "]"
+         _ -> errorEP "ExactP: Exp: EnumFromThen is given wrong number of srcInfoPoints"
+    EnumFromThenTo l e1 e2 e3   ->
+        case srcInfoPoints l of
+         [_,b,c,d] -> do
+            printString "["
+            exactPC e1
+            printStringAt (pos b) ","
+            exactPC e2
+            printStringAt (pos c) ".."
+            exactPC e3
+            printStringAt (pos d) "]"
+         _ -> errorEP "ExactP: Exp: EnumFromToThen is given wrong number of srcInfoPoints"
+    ParArrayFromTo l e1 e2      ->
+        case srcInfoPoints l of
+         [_,b,c] -> do
+            printString "[:"
+            exactPC e1
+            printStringAt (pos b) ".."
+            exactPC e2
+            printStringAt (pos c) ":]"
+         _ -> errorEP "ExactP: Exp: ParArrayFromTo is given wrong number of srcInfoPoints"
+    ParArrayFromThenTo l e1 e2 e3   ->
+        case srcInfoPoints l of
+         [_,b,c,d] -> do
+            printString "[:"
+            exactPC e1
+            printStringAt (pos b) ","
+            exactPC e2
+            printStringAt (pos c) ".."
+            exactPC e3
+            printStringAt (pos d) ":]"
+         _ -> errorEP "ExactP: Exp: ParArrayFromToThen is given wrong number of srcInfoPoints"
+    ListComp l e qss            ->
+        case srcInfoPoints l of
+         _:pts -> do
+            printString "["
+            exactPC e
+            bracketList ("|",",","]") pts qss
+         _ -> errorEP "ExactP: Exp: ListComp is given too few srcInfoPoints"
+    ParComp  l e qsss           ->
+        case srcInfoPoints l of
+         _:pts -> do
+            let (strs, qss) = unzip $ pairUp qsss
+            printString "["
+            exactPC e
+            printInterleaved (zip pts (strs ++ ["]"])) qss
+         _ -> errorEP "ExactP: Exp: ParComp is given wrong number of srcInfoPoints"
+      where pairUp [] = []
+            pairUp ((a:as):xs) = ("|", a) : zip (repeat ",") as ++ pairUp xs
+            pairUp _ = internalError "Exp -> ParComp -> pairUp"
+    ParArrayComp  l e qsss           ->
+        case srcInfoPoints l of
+         _:pts -> do
+            let (strs, qss) = unzip $ pairUp qsss
+            printString "[:"
+            exactPC e
+            printInterleaved (zip pts (strs ++ [":]"])) qss
+         _ -> errorEP "ExactP: Exp: ParArrayComp is given wrong number of srcInfoPoints"
+      where pairUp [] = []
+            pairUp ((a:as):xs) = ("|", a) : zip (repeat "|") as ++ pairUp xs
+            pairUp _ = internalError "Exp -> ParArrayComp -> pairUp"
+
+    ExpTypeSig l e t    ->
+        case srcInfoPoints l of
+         [a] -> do
+            exactP e
+            printStringAt (pos a) "::"
+            exactPC t
+         _ -> errorEP "ExactP: Exp: ExpTypeSig is given wrong number of srcInfoPoints"
+    VarQuote _ qn   -> do
+      printString "'"
+      exactPC qn
+    TypQuote _ qn -> do
+      printString "''"
+      exactPC qn
+    BracketExp _ br -> exactP br
+    SpliceExp _ sp  -> exactP sp
+    QuasiQuote _ name qt    -> do
+        let qtLines = lines qt
+        printString $ "[" ++ name ++ "|"
+        sequence_ (intersperse newLine $ map printString qtLines)
+        printString "|]"
+    XTag l xn attrs mat es  ->
+        case srcInfoPoints l of
+         [_,b,c,d,e] -> do
+            printString "<"
+            exactPC xn
+            mapM_ exactPC attrs
+            maybeEP exactPC mat
+            printStringAt (pos b) ">"
+            mapM_ exactPC es
+            printStringAt (pos c) "</"
+            printWhitespace (pos d)
+            exactP xn
+            printStringAt (pos e) ">"
+         -- TODO: Fugly hack/duplication, should be refactored
+         -- For the case when there's an optional semicolon
+         [_,b,semi,c,d,e] -> do
+            printString "<"
+            exactPC xn
+            mapM_ exactPC attrs
+            maybeEP exactPC mat
+            printStringAt (pos b) ">"
+            mapM_ exactPC es
+            printSemi semi
+            printStringAt (pos c) "</"
+            printWhitespace (pos d)
+            exactP xn
+            printStringAt (pos e) ">"
+         _ -> errorEP "ExactP: Exp: XTag is given wrong number of srcInfoPoints"
+    XETag l xn attrs mat    ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "<"
+            exactPC xn
+            mapM_ exactPC attrs
+            maybeEP exactPC mat
+            printStringAt (pos b) "/>"
+         _ -> errorEP "ExactP: Exp: XETag is given wrong number of srcInfoPoints"
+    XPcdata _ str   -> do
+        let strLines = lines str
+        sequence_ (intersperse newLine $ map printString strLines)
+    XExpTag l e     ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "<%"
+            exactPC e
+            printStringAt (pos b) "%>"
+         _ -> errorEP "ExactP: Exp: XExpTag is given wrong number of srcInfoPoints"
+    XChildTag l es  ->
+        case srcInfoPoints l of
+         [_,b,c] -> do
+            printString "<%>"
+            mapM_ exactPC es
+            printStringAt (pos b) "</"
+            printStringAt (pos c) "%>"
+         -- Ugly duplication for when there's an optional semi
+         [_,semi,b,c] -> do
+            printString "<%>"
+            mapM_ exactPC es
+            printSemi semi
+            printStringAt (pos b) "</"
+            printStringAt (pos c) "%>"
+         _ -> errorEP "ExactP: Exp: XChildTag is given wrong number of srcInfoPoints"
+    CorePragma l      str e         ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString $ "{-# CORE " ++ show str
+            printStringAt (pos b) "#-}"
+            exactPC e
+         _ -> errorEP "ExactP: Exp: CorePragma is given wrong number of srcInfoPoints"
+    SCCPragma  l      str e         ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString $ "{-# SCC " ++ show str
+            printStringAt (pos b) "#-}"
+            exactPC e
+         _ -> errorEP "ExactP: Exp: SCCPragma is given wrong number of srcInfoPoints"
+    GenPragma  l      str (i1,i2) (i3,i4) e -> do
+        printStrs $ zip (srcInfoPoints l) ["{-# GENERATED", show str, show i1, ":", show i2, "-", show i3, ":", show i4, "#-}"]
+        exactPC e
+    Proc            l p e   ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "proc"
+            exactPC p
+            printStringAt (pos b) "->"
+            exactPC e
+         _ -> errorEP "ExactP: Exp: Proc is given wrong number of srcInfoPoints"
+    LeftArrApp      l e1 e2 ->
+        case srcInfoPoints l of
+         [a] -> do
+            exactP e1
+            printStringAt (pos a) "-<"
+            exactPC e2
+         _ -> errorEP "ExactP: Exp: LeftArrApp is given wrong number of srcInfoPoints"
+    RightArrApp     l e1 e2 ->
+        case srcInfoPoints l of
+         [a] -> do
+            exactP e1
+            printStringAt (pos a) ">-"
+            exactPC e2
+         _ -> errorEP "ExactP: Exp: RightArrApp is given wrong number of srcInfoPoints"
+    LeftArrHighApp  l e1 e2 ->
+        case srcInfoPoints l of
+         [a] -> do
+            exactP e1
+            printStringAt (pos a) "-<<"
+            exactPC e2
+         _ -> errorEP "ExactP: Exp: LeftArrHighApp is given wrong number of srcInfoPoints"
+    RightArrHighApp l e1 e2 ->
+        case srcInfoPoints l of
+         [a] -> do
+            exactP e1
+            printStringAt (pos a) ">>-"
+            exactPC e2
+         _ -> errorEP "ExactP: Exp: RightArrHighApp is given wrong number of srcInfoPoints"
+
+    LCase l alts   ->
+        case srcInfoPoints l of
+         _:b:pts -> do
+            printString "\\"
+            printStringAt (pos b) "case"
+            layoutList pts alts
+         _ -> errorEP "ExactP: Exp: LCase is given wrong number of srcInfoPoints"
+    ExprHole _ -> printString "_"
+    TypeApp _ ty -> printString "@" >> exactP ty
+
+instance ExactP FieldUpdate where
+  exactP fup = case fup of
+    FieldUpdate l qn e  ->
+      case srcInfoPoints l of
+       [a] -> do
+          exactP qn
+          printStringAt (pos a) "="
+          exactPC e
+       _ -> errorEP "ExactP: FieldUpdate is given wrong number of srcInfoPoints"
+    FieldPun _ n    -> exactP n
+    FieldWildcard _ -> printString ".."
+
+instance ExactP Stmt where
+  exactP stmt = case stmt of
+    Generator l p e ->
+      case srcInfoPoints l of
+       [a] -> do
+          exactP p
+          printStringAt (pos a) "<-"
+          exactPC e
+       _ -> errorEP "ExactP: Stmt: Generator is given wrong number of srcInfoPoints"
+    Qualifier _ e -> exactP e
+    LetStmt _ bds   -> do
+      printString "let"
+      exactPC bds
+    RecStmt l ss    ->
+      case srcInfoPoints l of
+       _:pts -> do
+          printString "rec"
+          layoutList pts ss
+       _ -> errorEP "ExactP: Stmt: RecStmt is given too few srcInfoPoints"
+
+instance ExactP QualStmt where
+  exactP qstmt = case qstmt of
+    QualStmt     _ stmt -> exactP stmt
+    ThenTrans    _ e    -> printString "then" >> exactPC e
+    ThenBy      l e1 e2 ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "then"
+            exactPC e1
+            printStringAt (pos b) "by"
+            exactPC e2
+         _ -> errorEP "ExactP: QualStmt: ThenBy is given wrong number of srcInfoPoints"
+    GroupBy      l e        -> do
+        printStrs $ zip (srcInfoPoints l) ["then","group","by"]
+        exactPC e
+    GroupUsing   l e        -> do
+        printStrs $ zip (srcInfoPoints l) ["then","group","using"]
+        exactPC e
+    GroupByUsing l e1 e2    -> do
+        let pts = srcInfoPoints l
+        printStrs $ zip (init pts) ["then","group","by"]
+        exactPC e1
+        printStringAt (pos (last pts)) "using"
+        exactPC e2
+
+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"
+    DeclBracket l ds ->
+        case srcInfoPoints l of
+         pts@(_:_) -> do
+            printString "[d|"
+            layoutList (init pts) (sepFunBinds ds)
+            printStringAt (pos (last pts)) "|]"
+         _ -> errorEP "ExactP: Bracket: DeclBracket is given too few srcInfoPoints"
+
+instance ExactP XAttr where
+  exactP (XAttr l xn e) =
+    case srcInfoPoints l of
+     [a] -> do
+        exactP xn
+        printStringAt (pos a) "="
+        exactPC e
+     _ -> errorEP "ExactP: XAttr is given wrong number of srcInfoPoints"
+
+instance ExactP Alt where
+  exactP (Alt l p galts mbs) = do
+    exactP p
+    exactPC (GuardedAlts galts)
+    maybeEP (\bs -> printStringAt (pos (head (srcInfoPoints l))) "where" >> exactPC bs) mbs
+
+instance ExactP Match where
+  exactP (Match l n ps rhs mbinds) = do
+    let pts = srcInfoPoints l
+        len = length pts
+        pars = len `div` 2
+        (oPars,cParsWh) = splitAt pars pts
+        (cPars,_) = splitAt pars cParsWh    -- _§ is either singleton or empty
+    printStrs (zip oPars (repeat "("))
+    exactPC n
+    printStreams (zip (map pos cPars) (repeat $ printString ")")) (map (pos . ann &&& exactPC) ps)
+    exactPC rhs
+    maybeEP (\bds -> printStringAt (pos (head pts)) "where" >> exactPC bds) mbinds
+  exactP (InfixMatch l a n bs rhs mbinds) = do
+    let pts = srcInfoPoints l
+        len = length pts
+        pars = len `div` 2
+        (oPars,cParsWh) = splitAt pars pts
+        (cPars,whPt) = splitAt pars cParsWh    -- whPt is either singleton or empty
+    printStrs (zip oPars (repeat "("))
+    exactPC a
+    epInfixName n
+    printInterleaved' (zip cPars (repeat ")")) bs
+    exactPC rhs
+    maybeEP (\bds -> printStringAt (pos (head whPt)) "where" >> exactPC bds) mbinds
+
+instance ExactP Rhs where
+  exactP (UnGuardedRhs _ e) = printString "=" >> exactPC e
+  exactP (GuardedRhss  _ grhss) = mapM_ exactPC grhss
+
+instance ExactP GuardedRhs where
+  exactP (GuardedRhs l ss e) =
+    case srcInfoPoints l of
+     _:pts -> do
+        printString "|"
+        printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "=")]) ss
+        exactPC e
+     _ -> errorEP "ExactP: GuardedRhs is given wrong number of srcInfoPoints"
+
+newtype GuardedAlts l = GuardedAlts (Rhs l)
+    deriving (Functor, Show)
+instance Annotated GuardedAlts where
+    amap f (GuardedAlts v) = GuardedAlts (amap f v)
+    ann (GuardedAlts v) = ann v
+
+newtype GuardedAlt l = GuardedAlt (GuardedRhs l)
+    deriving (Functor, Show)
+instance Annotated GuardedAlt where
+    amap f (GuardedAlt v) = GuardedAlt (amap f v)
+    ann (GuardedAlt v) = ann v
+
+instance ExactP GuardedAlts where
+  exactP (GuardedAlts (UnGuardedRhs _ e)) = printString "->" >> exactPC e
+  exactP (GuardedAlts (GuardedRhss  _ grhss)) = mapM_ (exactPC . GuardedAlt) grhss
+
+instance ExactP GuardedAlt where
+  exactP (GuardedAlt (GuardedRhs l ss e)) =
+    case srcInfoPoints l of
+     _:pts -> do
+        printString "|"
+        printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "->")]) ss
+        exactPC e
+     _ -> errorEP "ExactP: GuardedAlt is given wrong number of srcInfoPoints"
+
+instance ExactP Pat where
+  exactP pat = case pat of
+    PVar l n    -> exactPC (fmap (const l) n)
+    PLit _ sg lit -> exactPC sg >> exactPC lit
+    PNPlusK l n k   ->
+        case srcInfoPoints l of
+         [a,b] -> do
+            exactP n
+            printStringAt (pos a) "+"
+            printStringAt (pos b) (show k)
+         _ -> errorEP "ExactP: Pat: PNPlusK is given wrong number of srcInfoPoints"
+    PInfixApp _ pa qn pb -> exactP pa >> epInfixQName qn >> exactPC pb
+    PApp _ qn ps    -> exactP qn >> mapM_ exactPC ps
+    PTuple l bx ps ->
+        case bx of
+          Boxed   -> parenList (srcInfoPoints l) ps
+          Unboxed -> parenHashList (srcInfoPoints l) ps
+    PList l ps  -> squareList (srcInfoPoints l) ps
+    PParen l p  -> parenList (srcInfoPoints l) [p]
+    PRec l qn pfs   -> exactP qn >> curlyList (srcInfoPoints l) pfs
+    PAsPat l n p    ->
+        case srcInfoPoints l of
+         [a] -> do
+            exactP n
+            printStringAt (pos a) "@"
+            exactPC p
+         _ -> errorEP "ExactP: Pat: PAsPat is given wrong number of srcInfoPoints"
+    PWildCard _ -> printString "_"
+    PIrrPat _ p -> printString "~" >> exactPC p
+    PatTypeSig l p t ->
+        case srcInfoPoints l of
+         [a] -> do
+            exactP p
+            printStringAt (pos a) "::"
+            exactPC t
+         _ -> errorEP "ExactP: Pat: PatTypeSig is given wrong number of srcInfoPoints"
+    PViewPat l e p ->
+        case srcInfoPoints l of
+         [a] -> do
+            exactP e
+            printStringAt (pos a) "->"
+            exactPC p
+         _ -> errorEP "ExactP: Pat: PViewPat is given wrong number of srcInfoPoints"
+    PRPat l rps -> squareList (srcInfoPoints l) rps
+    PXTag l xn attrs mat ps ->
+        case srcInfoPoints l of
+         [_,b,c,d,e] -> do
+            printString "<"
+            exactPC xn
+            mapM_ exactPC attrs
+            maybeEP exactPC mat
+            printStringAt (pos b) ">"
+            mapM_ exactPC ps
+            printStringAt (pos c) "</"
+            printWhitespace (pos d)
+            exactP xn
+            printStringAt (pos e) ">"
+         -- Optional semi
+         [_,b,semi,c,d,e] -> do
+            printString "<"
+            exactPC xn
+            mapM_ exactPC attrs
+            maybeEP exactPC mat
+            printStringAt (pos b) ">"
+            mapM_ exactPC ps
+            printSemi semi
+            printStringAt (pos c) "</"
+            printWhitespace (pos d)
+            exactP xn
+            printStringAt (pos e) ">"
+         _ -> errorEP "ExactP: Pat: PXTag is given wrong number of srcInfoPoints"
+    PXETag l xn attrs mat ->
+        case srcInfoPoints l of
+         [_,b] -> do
+            printString "<"
+            exactPC xn
+            mapM_ exactPC attrs
+            maybeEP exactPC mat
+            printStringAt (pos b) "/>"
+         _ -> errorEP "ExactP: Pat: PXETag is given wrong number of srcInfoPoints"
+    PXPcdata _ str -> printString str
+    PXPatTag l p   ->
+        case srcInfoPoints l of
+         [_,_] -> do
+            printString "<%"
+            exactPC p
+            printString "%>"
+         _ -> errorEP "ExactP: Pat: PXPatTag is given wrong number of srcInfoPoints"
+    PXRPats  l rps  -> bracketList ("<[",",","]>") (srcInfoPoints l) rps
+    PQuasiQuote _ name qt   -> printString $ "[$" ++ name ++ "|" ++ qt ++ "]"
+    PBangPat _ p    -> printString "!" >> exactPC p
+
+instance ExactP PatField where
+  exactP pf = case pf of
+    PFieldPat l qn p        ->
+        case srcInfoPoints l of
+         [a] -> do
+            exactP qn
+            printStringAt (pos a) "="
+            exactPC p
+         _ -> errorEP "ExactP: PatField: PFieldPat is given wrong number of srcInfoPoints"
+    PFieldPun _ n   -> exactP n
+    PFieldWildcard _ -> printString ".."
+
+instance ExactP RPat where
+  exactP rpat = case rpat of
+    RPOp _ rp op    -> exactP rp >> exactPC op
+    RPEither l r1 r2 ->
+      case srcInfoPoints l of
+       [a] -> do
+          exactP r1
+          printStringAt (pos a) "|"
+          exactPC r2
+       _ -> errorEP "ExactP: RPat: RPEither is given wrong number of srcInfoPoints"
+    RPSeq l rps -> bracketList ("(|",",","|)") (srcInfoPoints l) rps
+    RPGuard l p stmts   ->
+      case srcInfoPoints l of
+       _:pts -> do
+          printString "(|"
+          exactPC p
+          bracketList ("|",",","|)") pts stmts
+       _ -> errorEP "ExactP: RPat: RPGuard is given wrong number of srcInfoPoints"
+    RPCAs l n rp    ->
+      case srcInfoPoints l of
+       [a] -> do
+          exactP n
+          printStringAt (pos a) "@:"
+          exactPC rp
+       _ -> errorEP "ExactP: RPat: RPCAs is given wrong number of srcInfoPoints"
+    RPAs l n rp     ->
+      case srcInfoPoints l of
+       [a] -> do
+          exactP n
+          printStringAt (pos a) "@"
+          exactPC rp
+       _ -> errorEP "ExactP: RPat: RPAs is given wrong number of srcInfoPoints"
+    RPParen l rp    -> parenList (srcInfoPoints l) [rp]
+    RPPat _ p   -> exactP p
+
+instance ExactP RPatOp where
+  exactP rop = printString $ case rop of
+    RPStar  _  -> "*"
+    RPStarG _  -> "*!"
+    RPPlus  _  -> "+"
+    RPPlusG _  -> "+!"
+    RPOpt   _  -> "?"
+    RPOptG  _  -> "?!"
+
+instance ExactP PXAttr where
+  exactP (PXAttr l xn p) =
+    case srcInfoPoints l of
+     [a] -> do
+        exactP xn
+        printStringAt (pos a) "="
+        exactPC p
+     _ -> errorEP "ExactP: PXAttr is given wrong number of srcInfoPoints"
+
+instance ExactP XName where
+  exactP xn = case xn of
+    XName _ name -> printString name
+    XDomName l dom name ->
+        case srcInfoPoints l of
+         [_,b,c] -> do
+            printString dom
+            printStringAt (pos b) ":"
+            printStringAt (pos c) name
+         _ -> errorEP "ExactP: XName: XDomName is given wrong number of srcInfoPoints"
+
+instance ExactP Binds where
+  exactP (BDecls  l ds)  = layoutList (srcInfoPoints l) (sepFunBinds ds)
+  exactP (IPBinds l ips) = layoutList (srcInfoPoints l) ips
+
+instance ExactP CallConv where
+  exactP (StdCall    _) = printString "stdcall"
+  exactP (CCall      _) = printString "ccall"
+  exactP (CPlusPlus  _) = printString "cplusplus"
+  exactP (DotNet     _) = printString "dotnet"
+  exactP (Jvm        _) = printString "jvm"
+  exactP (Js         _) = printString "js"
+  exactP (JavaScript _) = printString "javascript"
+  exactP (CApi       _) = printString "capi"
+
+instance ExactP Safety where
+  exactP (PlayRisky _) = printString "unsafe"
+  exactP (PlaySafe _ b) = printString $ if b then "threadsafe" else "safe"
+  exactP (PlayInterruptible _) = printString "interruptible"
+
+instance ExactP Rule where
+  exactP (Rule l str mact mrvs e1 e2) =
+    case srcInfoPoints l of
+     _:pts -> do
+        printString (show str)
+        maybeEP exactP mact
+        pts1 <- case mrvs of
+                Nothing -> return pts
+                Just rvs ->
+                    case pts of
+                     a':b:pts' -> do
+                        printStringAt (pos a') "forall"
+                        mapM_ exactPC rvs
+                        printStringAt (pos b) "."
+                        return pts'
+                     _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"
+        case pts1 of
+         [x] -> do
+            exactPC e1
+            printStringAt (pos x) "="
+            exactPC e2
+         _ -> errorEP "ExactP: Rule is given wrong number of srcInfoPoints"
+     _ -> errorEP "ExactP: Rule is given too few srcInfoPoints"
+
+instance ExactP RuleVar where
+  exactP (TypedRuleVar l n t) =
+        case srcInfoPoints l of
+         [_,b,c] -> do
+            printString "("
+            exactPC n
+            printStringAt (pos b) "::"
+            exactPC t
+            printStringAt (pos c) ")"
+         _ -> errorEP "ExactP: RuleVar: TypedRuleVar is given wrong number of srcInfoPoints"
+  exactP (RuleVar _ n) = exactP n
+
+instance ExactP Overlap where
+  exactP (NoOverlap _) =
+    printString "{-# NO_OVERLAP #-}"
+  exactP (Overlap _) =
+    printString "{-# OVERLAP #-}"
+  exactP (Incoherent _) =
+    printString "{-# INCOHERENT #-}"
+
+instance ExactP Activation where
+  exactP (ActiveFrom   l i) =
+    printPoints l ["[", show i, "]"]
+  exactP (ActiveUntil  l i) =
+    printPoints l ["[", "~", show i, "]"]
+
+instance ExactP FieldDecl where
+  exactP (FieldDecl l ns bt) = do
+    let pts = srcInfoPoints l
+    printInterleaved' (zip (init pts) (repeat ",") ++ [(last pts, "::")]) ns
+    exactPC bt
+
+instance ExactP IPBind where
+  exactP (IPBind l ipn e) =
+    case srcInfoPoints l of
+     [a] -> do
+        exactP ipn
+        printStringAt (pos a) "="
+        exactPC e
+     _ -> errorEP "ExactP: IPBind is given wrong number of srcInfoPoints"
+
+-- Hopefully, this will never fire.
+-- If it does, hopefully by that time https://github.com/sol/rewrite-with-location
+-- will be implemented.
+-- If not, then removing all calls to internalError should give a better
+-- idea where the error comes from.
+-- So far, it's necessary to eliminate non-exhaustive patterns warnings.
+-- We don't want to turn them off, as we want unhandled AST nodes to be
+-- reported.
+internalError :: String -> a
+internalError loc' = error $ unlines
+    [ "haskell-src-exts: ExactPrint: internal error (non-exhaustive pattern)"
+    , "Location: " ++ loc'
+    , "This is either caused by supplying incorrect location information or by"
+    , "a bug in haskell-src-exts. If this happens on an unmodified AST obtained"
+    , "by the haskell-src-exts Parser it is a bug, please it report it at"
+    , "https://github.com/haskell-suite/haskell-src-exts"]
diff --git a/src/Language/Haskell/Exts/Extension.hs b/src/Language/Haskell/Exts/Extension.hs
--- a/src/Language/Haskell/Exts/Extension.hs
+++ b/src/Language/Haskell/Exts/Extension.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE CPP #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Language.Haskell.Exts.Extension
@@ -39,7 +40,11 @@
 
     ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative ((<$>), (<|>))
+#else
+import Control.Applicative ((<|>))
+#endif
 import Data.Array (Array, accumArray, bounds, Ix(inRange), (!))
 import Data.List (nub)
 import Data.Maybe (fromMaybe)
@@ -519,6 +524,12 @@
   -- start with an underscore as wildcards. For example, `foo :: _x` is
   -- equivalent to `foo :: _`.
   | NamedWildCards
+
+  | TypeApplications
+
+  | TypeFamilyDependencies
+
+  | OverloadedLabels
   deriving (Show, Read, Eq, Ord, Enum, Bounded, Data, Typeable)
 
 -- | Certain extensions imply other extensions, and this function
@@ -553,6 +564,7 @@
                     ExistentialQuantification -> [ExplicitForAll]
                     ImpredicativeTypes   -> [ExplicitForAll]
                     PolyKinds           -> [KindSignatures]
+                    TypeFamilyDependencies -> [TypeFamilies]
                     -- Deprecations
                     RecordPuns          -> [NamedFieldPuns]
                     PatternSignatures   -> [ScopedTypeVariables]
diff --git a/src/Language/Haskell/Exts/Fixity.hs b/src/Language/Haskell/Exts/Fixity.hs
--- a/src/Language/Haskell/Exts/Fixity.hs
+++ b/src/Language/Haskell/Exts/Fixity.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE CPP #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Language.Haskell.Exts.Fixity
@@ -28,23 +29,28 @@
     --   /varid/ operators, and /varsym/ operators written as is.
     , infix_, infixl_, infixr_
     -- ** Collections of fixities
-    , preludeFixities, baseFixities, prefixMinusFixity
+    , preludeFixities, baseFixities
 
     -- * Applying fixities to an AST
     , AppFixity(..)
     ) where
 
 import Language.Haskell.Exts.Syntax
+import Language.Haskell.Exts.SrcLoc
 
-import Control.Monad (when, (<=<), liftM, liftM2, liftM3)
+import Control.Monad (when, (<=<), liftM, liftM2, liftM3, liftM4)
 import Data.Traversable (mapM)
-import Prelude hiding (mapM)
-import Data.Data hiding (Fixity)
 import Data.Maybe (fromMaybe)
+import Data.Typeable
+import Data.Data hiding (Fixity)
+#if __GLASGOW_HASKELL__ < 710
+import Control.Applicative ((<$))
+#endif
+import Prelude hiding (mapM)
 
 -- | Operator fixities are represented by their associativity
 --   (left, right or none) and their precedence (0-9).
-data Fixity = Fixity Assoc Int QName
+data Fixity = Fixity (Assoc ()) Int (QName ())
   deriving (Eq,Ord,Show,Typeable,Data)
 
 -- | All AST elements that may include expressions which in turn may
@@ -53,75 +59,81 @@
   -- | 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  -- ^ The element to tweak.
-                    -> m ast  -- ^ The same element, but with operator expressions updated, or a failure.
+  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.
 
+assocNone, assocLeft, assocRight :: Assoc ()
+assocNone = AssocNone ()
+assocLeft = AssocLeft ()
+assocRight = AssocRight ()
 
 instance AppFixity Exp where
   applyFixities fixs' = infFix fixs' <=< leafFix fixs'
     where -- This is the real meat case. We can assume a left-associative list to begin with.
-          infFix fixs (InfixApp a op2 z) = do
+          infFix fixs (InfixApp l2 a op2 z) = do
               e <- infFix fixs a
               let fixup (a1,p1) (a2,p2) y pre = do
-                      when (p1 == p2 && (a1 /= a2 || a1 == AssocNone)) -- Ambiguous infix expression!
+                      when (p1 == p2 && (a1 /= a2 || a1 == assocNone)) -- Ambiguous infix expression!
                            $ fail "Ambiguous infix expression"
-                      if p1 > p2 || p1 == p2 && (a1 == AssocLeft || a2 == AssocNone) -- Already right order
-                       then return $ InfixApp e op2 z
-                       else liftM pre (infFix fixs $ InfixApp y op2 z)
+                      if p1 > p2 || p1 == p2 && (a1 == assocLeft || a2 == assocNone) -- Already right order
+                       then return $ InfixApp l2 e op2 z
+                       else liftM pre (infFix fixs $ InfixApp (ann y <++> ann z) y op2 z)
               case e of
-               InfixApp x op1 y -> fixup (askFixity fixs op1) (askFixity fixs op2) y (InfixApp x op1)
-               NegApp         y -> fixup prefixMinusFixity    (askFixity fixs op2) y  NegApp
-               _  -> return $ InfixApp e op2 z
+               InfixApp _ x op1 y -> fixup (askFixity fixs op1) (askFixity fixs op2) y (InfixApp l2 x op1)
+               NegApp   _       y -> fixup prefixMinusFixity    (askFixity fixs op2) y (NegApp l2)
+               _  -> return $ InfixApp l2 e op2 z
 
           infFix _ e = return e
 
+--ambOps l = ParseFailed (getPointLoc l) $ "Ambiguous infix expression"
+
 instance AppFixity Pat where
   applyFixities fixs' = infFix fixs' <=< leafFixP fixs'
-    where -- Same for patterns
-          infFix fixs (PInfixApp a op2 z) = do
+    where -- This is the real meat case. We can assume a left-associative list to begin with.
+          infFix fixs (PInfixApp l2 a op2 z) = do
               p <- infFix fixs a
               let fixup (a1,p1) (a2,p2) y pre = do
-                      when (p1 == p2 && (a1 /= a2 || a1 == AssocNone )) -- Ambiguous infix expression!
+                      when (p1 == p2 && (a1 /= a2 || a1 == assocNone )) -- Ambiguous infix expression!
                            $ fail "Ambiguous infix expression"
-                      if p1 > p2 || p1 == p2 && (a1 == AssocLeft || a2 == AssocNone) -- Already right order
-                       then return $ PInfixApp p op2 z
-                       else liftM pre (infFix fixs $ PInfixApp y op2 z)
+                      if p1 > p2 || p1 == p2 && (a1 == assocLeft || a2 == assocNone) -- Already right order
+                       then return $ PInfixApp l2 p op2 z
+                       else liftM pre (infFix fixs $ PInfixApp (ann y <++> ann z) y op2 z)
               case p of
-               PInfixApp x op1 y -> fixup (askFixityP fixs op1) (askFixityP fixs op2) y (PInfixApp x op1)
-               _  -> return $ PInfixApp p op2 z
+               PInfixApp _ x op1 y -> fixup (askFixityP fixs op1) (askFixityP fixs op2) y (PInfixApp l2 x op1)
+               _  -> return $ PInfixApp l2 p op2 z
 
           infFix _ p = return p
 
-
 -- Internal: lookup associativity and precedence of an operator
-askFixity :: [Fixity] -> QOp -> (Assoc, Int)
-askFixity xs k = askFix xs (f k) -- undefined -- \k -> askFixityP xs (f k) -- lookupWithDefault (AssocLeft, 9) (f k) mp
+askFixity :: [Fixity] -> QOp l -> (Assoc (), Int)
+askFixity xs k = askFix xs (f (() <$ k))
     where
-        f (QVarOp x) = g x
-        f (QConOp x) = g x
+        f (QVarOp _ x) = g x
+        f (QConOp _ x) = g x
 
-        g (Special Cons) = UnQual (Symbol ":")
-        g x              = x
+        g (Special _ (Cons _)) = UnQual () (Symbol () ":")
+        g x                  = x
 
 -- Same using patterns
-askFixityP :: [Fixity] -> QName -> (Assoc, Int)
-askFixityP xs qn = askFix xs (g qn)
+askFixityP :: [Fixity] -> QName l -> (Assoc (), Int)
+askFixityP xs qn = askFix xs (g (() <$ qn))
     where
-        g (Special Cons) = UnQual (Symbol ":")
-        g x              = x
+        g (Special _ (Cons _)) = UnQual () (Symbol () ":")
+        g x                  = x
 
-askFix :: [Fixity] -> QName -> (Assoc, Int)
-askFix xs = \k -> lookupWithDefault (AssocLeft, 9) k mp
+askFix :: [Fixity] -> QName l -> (Assoc (), Int)
+askFix xs = \k -> lookupWithDefault (assocLeft, 9) (() <$ k) mp
     where
-        lookupWithDefault def k mp1 = fromMaybe def $ lookup k mp1
+        lookupWithDefault def k mp' = fromMaybe def $ lookup k mp'
 
         mp = [(x,(a,p)) | Fixity a p x <- xs]
 
 
+
 -- | Built-in fixity for prefix minus
-prefixMinusFixity :: (Assoc, Int)
-prefixMinusFixity = (AssocLeft, 6)
+prefixMinusFixity :: (Assoc (), Int)
+prefixMinusFixity = (AssocLeft (), 6)
 
 -- | All fixities defined in the Prelude.
 preludeFixities :: [Fixity]
@@ -133,6 +145,7 @@
     ,infixl_ 6  ["+","-"]
     ,infixr_ 5  [":","++"]
     ,infix_  4  ["==","/=","<","<=",">=",">","`elem`","`notElem`"]
+    ,infixl_ 4  ["<$>","<$","<*>","<*","*>"]
     ,infixr_ 3  ["&&"]
     ,infixr_ 2  ["||"]
     ,infixl_ 1  [">>",">>="]
@@ -155,7 +168,7 @@
     ,infixl_ 5 [".|."]
     ,infixr_ 5 ["+:+","<++","<+>"] -- fixity conflict for +++ between ReadP and Arrow
     ,infix_  5 ["\\\\"]
-    ,infixl_ 4 ["<$>","<$","<*>","<*","*>","<**>"]
+    ,infixl_ 4 ["<**>"]
     ,infix_  4 ["`elemP`","`notElemP`"]
     ,infixl_ 3 ["<|>"]
     ,infixr_ 3 ["&&&","***"]
@@ -166,239 +179,268 @@
     ]
 
 infixr_, infixl_, infix_ :: Int -> [String] -> [Fixity]
-infixr_ = fixity AssocRight
-infixl_ = fixity AssocLeft
-infix_  = fixity AssocNone
+infixr_ = fixity  assocRight
+infixl_ = fixity  assocLeft
+infix_  = fixity  assocNone
 
 -- Internal: help function for the above definitions.
-fixity :: Assoc -> Int -> [String] -> [Fixity]
+fixity :: Assoc () -> Int -> [String] -> [Fixity]
 fixity a p = map (Fixity a p . op)
     where
-        op ('`':xs) = UnQual $ Ident $ init xs
-        op xs = UnQual $ Symbol xs
+        op ('`':xs) = UnQual () $ Ident () $ init xs
+        op xs = UnQual () $ Symbol () xs
 
 
 
 
 
 
+
+
 -------------------------------------------------------------------
 -- Boilerplate - yuck!! Everything below here is internal stuff
 
 instance AppFixity Module where
-    applyFixities fixs (Module loc n prs mwt ext imp decls) =
-        liftM (Module loc n prs mwt ext imp) $ appFixDecls fixs decls
+    applyFixities fixs (Module l mmh prs imp decls) =
+        liftM (Module l mmh prs imp) $ appFixDecls mmn fixs decls
+      where mmn = getMmn mmh
+            getMmn (Just (ModuleHead _ n _ _)) = Just n
+            getMmn _ = Nothing
+    applyFixities fixs (XmlPage l mn os xn xas mexp cs) =
+        liftM3 (XmlPage l mn os xn) (fix xas) (fix mexp) (fix cs)
+      where fix xs = mapM (applyFixities fixs) xs
+    applyFixities fixs (XmlHybrid l mmh prs imp decls xn xas mexp cs) =
+        liftM4 (flip (XmlHybrid l mmh prs imp) xn) (appFixDecls mmn fixs decls)
+                (fixe xas) (fixe mexp) (fixe cs)
+      where mmn = getMmn mmh
+            getMmn (Just (ModuleHead _ n _ _)) = Just n
+            getMmn _ = Nothing
+            fixe xs = let extraFixs = getFixities mmn decls
+                       in mapM (applyFixities (fixs++extraFixs)) xs
 
 instance AppFixity Decl where
     applyFixities fixs decl = case decl of
-        ClassDecl loc ctxt n vars deps cdecls   -> liftM (ClassDecl loc ctxt n vars deps) $ mapM fix cdecls
-        InstDecl loc olp tvs ctxt n ts idecls   -> liftM (InstDecl loc olp tvs ctxt n ts) $ mapM fix idecls
-        SpliceDecl loc spl      -> liftM (SpliceDecl loc) $ fix spl
-        FunBind matches         -> liftM FunBind $ mapM fix matches
-        PatBind loc p rhs bs    ->
-          let extraFix x = applyFixities (fixs ++ maybe [] getBindFixities bs) x
-           in liftM3 (PatBind loc) (extraFix p) (extraFix rhs) (return $ maybe Nothing extraFix bs)
-        AnnPragma loc ann       -> liftM (AnnPragma loc) $ fix ann
+        ClassDecl l ctxt dh deps cdecls   -> liftM (ClassDecl l ctxt dh deps) $ mapM (mapM fix) cdecls
+        InstDecl  l olp ih idecls         -> liftM (InstDecl  l olp ih)  $ mapM (mapM fix) idecls
+        SpliceDecl l spl        -> liftM (SpliceDecl l) $ fix spl
+        FunBind l matches       -> liftM (FunBind l) $ mapM fix matches
+        PatBind l p rhs bs      ->
+         let extraFix x = applyFixities (fixs ++ maybe [] getBindFixities bs) x
+          in liftM3 (PatBind l) (extraFix p) (extraFix rhs) (mapM extraFix bs)
+        AnnPragma l ann'         -> liftM (AnnPragma l) $ fix ann'
+        PatSyn l p1 p2 dir -> liftM (PatSyn l p1 p2) (fix dir)
         _                       -> return decl
       where fix x = applyFixities fixs x
 
-appFixDecls :: Monad m => [Fixity] -> [Decl] -> m [Decl]
-appFixDecls fixs decls =
-    let extraFixs = getFixities decls
+instance AppFixity PatternSynDirection where
+  applyFixities fixs dir = case dir of
+    ExplicitBidirectional l ds -> liftM (ExplicitBidirectional l) (mapM fix ds)
+    _ -> return dir
+    where fix x = applyFixities fixs x
+
+appFixDecls :: Monad 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
 
-getFixities :: [Decl] -> [Fixity]
-getFixities = concatMap getFixity
-  where getFixity (InfixDecl _ a p ops)     = map (Fixity a p . g) ops
-        getFixity (ClassDecl _ _ _ _ _ cds) = concatMap getClassFixity cds
-        getFixity _ = []
-        g (VarOp x) = UnQual x
-        g (ConOp x) = UnQual x
-        getClassFixity (ClsDecl d) = getFixities [d]
-        getClassFixity _           = []
+getFixities :: Maybe (ModuleName l) -> [Decl l] -> [Fixity]
+getFixities mmdl = concatMap (getFixity mmdl)
 
-getBindFixities :: Binds -> [Fixity]
+getFixity :: Maybe (ModuleName l) -> Decl l -> [Fixity]
+getFixity mmdl d =
+  case d of
+    InfixDecl _ a mp ops  -> let p = fromMaybe 9 mp
+                              in map (Fixity (scrub a) p) (concatMap g (map scrub ops))
+    ClassDecl _ _ _ _ cds -> maybe [] (concatMap getClassFixity) cds
+    _ -> []
+  where g (VarOp _ x) = f x
+        g (ConOp _ x) = f x
+        f x = case mmdl of
+              Nothing -> [UnQual () x]
+              Just m  -> [Qual () (scrub m) x, UnQual () x]
+        getClassFixity (ClsDecl _ cd) = getFixity mmdl cd
+        getClassFixity _              = []
+
+scrub :: Functor f => f a -> f ()
+scrub f = () <$ f
+
+getBindFixities :: Binds l -> [Fixity]
 getBindFixities bs = case bs of
-                        BDecls ds -> getFixities ds
-                        _         -> []
+                        BDecls _ ds -> getFixities Nothing ds
+                        _           -> []
 
 instance AppFixity Annotation where
-    applyFixities fixs ann = case ann of
-        Ann     n e   -> liftM (Ann n) $ fix e
-        TypeAnn n e   -> liftM (TypeAnn n) $ fix e
-        ModuleAnn e   -> liftM ModuleAnn $ fix e
+    applyFixities fixs ann' = case ann' of
+        Ann     l n e   -> liftM (Ann l n) $ fix e
+        TypeAnn l n e   -> liftM (TypeAnn l n) $ fix e
+        ModuleAnn l e   -> liftM (ModuleAnn l) $ fix e
       where fix x = applyFixities fixs x
 
 instance AppFixity ClassDecl where
-    applyFixities fixs (ClsDecl decl) = liftM ClsDecl $ applyFixities fixs decl
+    applyFixities fixs (ClsDecl l decl) = liftM (ClsDecl l) $ applyFixities fixs decl
     applyFixities _ cdecl = return cdecl
 
 instance AppFixity InstDecl where
-    applyFixities fixs (InsDecl decl) = liftM InsDecl $ applyFixities fixs decl
+    applyFixities fixs (InsDecl l decl) = liftM (InsDecl l) $ applyFixities fixs decl
     applyFixities _ idecl = return idecl
 
 instance AppFixity Match where
-    applyFixities fixs (Match loc n ps mt rhs bs) =
-      liftM3 (flip (Match loc n) mt) (mapM fix ps) (fix rhs)
-                                     (return $ maybe Nothing fix bs)
-      where fix x = applyFixities fixs' x
-            fixs' = fixs ++ maybe [] getBindFixities bs
+    applyFixities fixs match = case match of
+        Match l n ps rhs bs -> liftM3 (Match l n) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)
+        InfixMatch l a n ps rhs bs -> liftM4 (flip (InfixMatch l) n) (fix bs a) (mapM (fix bs) ps) (fix bs rhs) (mapM (fix bs) bs)
+      where fix bs x = applyFixities fixs' x
+             where fixs' = fixs ++ maybe [] getBindFixities bs
 
 instance AppFixity Rhs where
     applyFixities fixs rhs = case rhs of
-        UnGuardedRhs e      -> liftM UnGuardedRhs $ fix e
-        GuardedRhss grhss   -> liftM GuardedRhss $ mapM fix grhss
+        UnGuardedRhs l e      -> liftM (UnGuardedRhs l) $ fix e
+        GuardedRhss l grhss   -> liftM (GuardedRhss l) $ mapM fix grhss
       where fix x = applyFixities fixs x
 
 instance AppFixity GuardedRhs where
-    applyFixities fixs (GuardedRhs loc stmts e) = liftM2 (GuardedRhs loc) (mapM fix stmts) $ fix e
+    applyFixities fixs (GuardedRhs l stmts e) = liftM2 (GuardedRhs l) (mapM fix stmts) $ fix e
       where fix x = applyFixities fixs x
 
 instance AppFixity PatField where
-    applyFixities fixs (PFieldPat n p) = liftM (PFieldPat n) $ applyFixities fixs p
+    applyFixities fixs (PFieldPat l n p) = liftM (PFieldPat l n) $ applyFixities fixs p
     applyFixities _ pf = return pf
 
 instance AppFixity RPat where
     applyFixities fixs rp' = case rp' of
-        RPOp rp op          -> liftM (flip RPOp op) (fix rp)
-        RPEither a b        -> liftM2 RPEither (fix a) (fix b)
-        RPSeq rps           -> liftM RPSeq $ mapM fix rps
-        RPGuard p stmts     -> liftM2 RPGuard (fix p) $ mapM fix stmts
-        RPCAs n rp          -> liftM (RPCAs n) $ fix rp
-        RPAs n rp           -> liftM (RPAs n) $ fix rp
-        RPParen rp          -> liftM RPParen $ fix rp
-        RPPat p             -> liftM RPPat $ fix p
+        RPOp l rp op          -> liftM (flip (RPOp l) op) $ fix rp
+        RPEither l a b        -> liftM2 (RPEither l) (fix a) (fix b)
+        RPSeq l rps           -> liftM (RPSeq l) $ mapM fix rps
+        RPGuard l p stmts     -> liftM2 (RPGuard l) (fix p) $ mapM fix stmts
+        RPCAs l n rp          -> liftM (RPCAs l n) $ fix rp
+        RPAs l n rp           -> liftM (RPAs l n) $ fix rp
+        RPParen l rp          -> liftM (RPParen l) $ fix rp
+        RPPat l p             -> liftM (RPPat l) $ fix p
       where fix x = applyFixities fixs x
 
 instance AppFixity PXAttr where
-    applyFixities fixs (PXAttr n p) = liftM (PXAttr n) $ applyFixities fixs p
+    applyFixities fixs (PXAttr l n p) = liftM (PXAttr l n) $ applyFixities fixs p
 
 instance AppFixity Stmt where
     applyFixities fixs stmt = case stmt of
-        Generator loc p e   -> liftM2 (Generator loc) (fix p) (fix e)
-        Qualifier e         -> liftM Qualifier $ fix e
-        LetStmt bs          -> liftM LetStmt $ fix bs    -- special behavior
-        RecStmt stmts       -> liftM RecStmt $ mapM fix stmts
+        Generator l p e       -> liftM2 (Generator l) (fix p) (fix e)
+        Qualifier l e         -> liftM (Qualifier l) $ fix e
+        LetStmt l bs          -> liftM (LetStmt l) $ fix bs    -- special behavior
+        RecStmt l stmts       -> liftM (RecStmt l) $ mapM fix stmts
       where fix x = applyFixities fixs x
 
 instance AppFixity Binds where
     applyFixities fixs bs = case bs of
-        BDecls decls        -> liftM BDecls $ appFixDecls fixs decls  -- special behavior
-        IPBinds ips         -> liftM IPBinds $ mapM fix ips
+        BDecls l decls        -> liftM (BDecls l) $ appFixDecls Nothing fixs decls  -- special behavior
+        IPBinds l ips         -> liftM (IPBinds l) $ mapM fix ips
       where fix x = applyFixities fixs x
 
 
 instance AppFixity IPBind where
-    applyFixities fixs (IPBind loc n e) = liftM (IPBind loc n) $ applyFixities fixs e
+    applyFixities fixs (IPBind l n e) = liftM (IPBind l n) $ applyFixities fixs e
 
 instance AppFixity FieldUpdate where
-    applyFixities fixs (FieldUpdate n e) = liftM (FieldUpdate n) $ applyFixities fixs e
+    applyFixities fixs (FieldUpdate l n e) = liftM (FieldUpdate l n) $ applyFixities fixs e
     applyFixities _ fup = return fup
 
 instance AppFixity Alt where
-    applyFixities fixs (Alt loc p galts bs) =
-      liftM3 (Alt loc) (fix p) (fix galts) (return $ maybe Nothing fix bs)
+    applyFixities fixs (Alt l p galts bs) = liftM3 (Alt l) (fix p) (fix galts) (mapM fix bs)
       where fix x = applyFixities fixs x
 
 instance AppFixity QualStmt where
     applyFixities fixs qstmt = case qstmt of
-        QualStmt     s      -> liftM QualStmt $ fix s
-        ThenTrans    e      -> liftM ThenTrans $ fix e
-        ThenBy       e1 e2  -> liftM2 ThenBy (fix e1) (fix e2)
-        GroupBy      e      -> liftM GroupBy (fix e)
-        GroupUsing   e      -> liftM GroupUsing (fix e)
-        GroupByUsing e1 e2  -> liftM2 GroupByUsing (fix e1) (fix e2)
+        QualStmt     l s      -> liftM (QualStmt l) $ fix s
+        ThenTrans    l e      -> liftM (ThenTrans l) $ fix e
+        ThenBy       l e1 e2  -> liftM2 (ThenBy l) (fix e1) (fix e2)
+        GroupBy      l e      -> liftM (GroupBy l) (fix e)
+        GroupUsing   l e      -> liftM (GroupUsing l) (fix e)
+        GroupByUsing l e1 e2  -> liftM2 (GroupByUsing l) (fix e1) (fix e2)
       where fix x = applyFixities fixs x
 
 instance AppFixity Bracket where
     applyFixities fixs br = case br of
-        ExpBracket e    -> liftM ExpBracket $ fix e
-        PatBracket p    -> liftM PatBracket $ fix p
-        DeclBracket ds  -> liftM DeclBracket $ mapM fix ds
-        _               -> return br
+        ExpBracket l e    -> liftM (ExpBracket l) $ fix e
+        PatBracket l p    -> liftM (PatBracket l) $ fix p
+        DeclBracket l ds  -> liftM (DeclBracket l) $ mapM fix ds
+        _                 -> return br
       where fix x = applyFixities fixs x
 
 instance AppFixity Splice where
-    applyFixities fixs (ParenSplice e) = liftM ParenSplice $ applyFixities fixs e
+    applyFixities fixs (ParenSplice l e) = liftM (ParenSplice l) $ applyFixities fixs e
     applyFixities _ s = return s
 
 instance AppFixity XAttr where
-    applyFixities fixs (XAttr n e) = liftM (XAttr n) $ applyFixities fixs e
+    applyFixities fixs (XAttr l n e) = liftM (XAttr l n) $ applyFixities fixs e
 
 
 -- the boring boilerplate stuff for expressions too
 -- 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 -> m Exp
+leafFix :: Monad m => [Fixity] -> Exp SrcSpanInfo -> m (Exp SrcSpanInfo)
 leafFix fixs e' = case e' of
-    InfixApp e1 op e2       -> liftM2 (flip InfixApp op) (leafFix fixs e1) (fix e2)
-    App e1 e2               -> liftM2 App (fix e1) (fix e2)
-    NegApp e                -> liftM NegApp $ fix e
-    Lambda loc pats e       -> liftM2 (Lambda loc) (mapM fix pats) $ fix e
-    Let bs e                ->
-       let extraFix x = applyFixities (fixs++getBindFixities bs) x
-        in liftM2 Let (extraFix bs) $ extraFix e
-    If e a b                -> liftM3 If (fix e) (fix a) (fix b)
-    MultiIf alts            -> liftM MultiIf (mapM fix alts)
-    Case e alts             -> liftM2 Case (fix e) $ mapM fix alts
-    Do stmts                -> liftM Do $ mapM fix stmts
-    MDo stmts               -> liftM MDo $ mapM fix stmts
-    Tuple bx exps           -> liftM (Tuple bx) $ mapM fix exps
-    List exps               -> liftM List $ mapM fix  exps
-    ParArray exps           -> liftM ParArray $ mapM fix exps
-    Paren e                 -> liftM Paren $ fix e
-    LeftSection e op        -> liftM (flip LeftSection op) (fix e)
-    RightSection op e       -> liftM (RightSection op) $ fix e
-    RecConstr n fups        -> liftM (RecConstr n) $ mapM fix fups
-    RecUpdate e fups        -> liftM2 RecUpdate (fix e) $ mapM fix fups
-    EnumFrom e              -> liftM EnumFrom $ fix e
-    EnumFromTo e1 e2        -> liftM2 EnumFromTo (fix e1) (fix e2)
-    EnumFromThen e1 e2      -> liftM2 EnumFromThen (fix e1) (fix e2)
-    EnumFromThenTo e1 e2 e3 -> liftM3 EnumFromThenTo (fix e1) (fix e2) (fix e3)
-    ParArrayFromTo e1 e2     -> liftM2 ParArrayFromTo (fix e1) (fix e2)
-    ParArrayFromThenTo e1 e2 e3 -> liftM3 ParArrayFromThenTo (fix e1) (fix e2) (fix e3)
-    ListComp e quals        -> liftM2 ListComp (fix e) $ mapM fix quals
-    ParComp  e qualss       -> liftM2 ParComp (fix e) $ mapM (mapM fix) qualss
-    ParArrayComp  e qualss  -> liftM2 ParArrayComp (fix e) $ mapM (mapM fix) qualss
-    ExpTypeSig loc e t      -> liftM (flip (ExpTypeSig loc) t) (fix e)
-    BracketExp b            -> liftM BracketExp $ fix b
-    SpliceExp s             -> liftM SpliceExp $ fix s
-    XTag loc n ats mexp cs  -> liftM3 (XTag loc n) (mapM fix ats) (mapM fix mexp) (mapM fix cs)
-    XETag loc n ats mexp    -> liftM2 (XETag loc n) (mapM fix ats) (mapM fix mexp)
-    XExpTag e               -> liftM XExpTag $ fix e
-    XChildTag loc cs        -> liftM (XChildTag loc) $ mapM fix cs
-    Proc loc p e            -> liftM2 (Proc loc) (fix p) (fix e)
-    LeftArrApp e1 e2        -> liftM2 LeftArrApp (fix e1) (fix e2)
-    RightArrApp e1 e2       -> liftM2 RightArrApp (fix e1) (fix e2)
-    LeftArrHighApp e1 e2    -> liftM2 LeftArrHighApp (fix e1) (fix e2)
-    RightArrHighApp e1 e2   -> liftM2 RightArrHighApp (fix e1) (fix e2)
-    CorePragma s e          -> liftM (CorePragma s) (fix e)
-    SCCPragma s e           -> liftM (SCCPragma s) (fix e)
-    GenPragma s ab cd e     -> liftM (GenPragma s ab cd) (fix e)
-    LCase alts              -> liftM LCase $ mapM fix alts
+    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)
+    NegApp l e                -> liftM (NegApp l) $ fix e
+    Lambda l pats e           -> liftM2 (Lambda l) (mapM fix pats) $ fix e
+    Let l bs e                ->
+        let extraFix x = applyFixities (fixs ++ getBindFixities bs) x
+         in liftM2 (Let l) (extraFix bs) $ extraFix e
+    If l e a b                -> liftM3 (If l) (fix e) (fix a) (fix b)
+    MultiIf l alts            -> liftM (MultiIf l) (mapM fix alts)
+    Case l e alts             -> liftM2 (Case l) (fix e) $ mapM fix alts
+    Do l stmts                -> liftM (Do l) $ mapM fix stmts
+    MDo l stmts               -> liftM (MDo l) $ mapM fix stmts
+    Tuple l bx exps           -> liftM (Tuple l bx) $ mapM fix exps
+    List l exps               -> liftM (List l) $ mapM fix  exps
+    Paren l e                 -> liftM (Paren l) $ fix e
+    LeftSection l e op        -> liftM (flip (LeftSection l) op) (fix e)
+    RightSection l op e       -> liftM (RightSection l op) $ fix e
+    RecConstr l n fups        -> liftM (RecConstr l n) $ mapM fix fups
+    RecUpdate l e fups        -> liftM2 (RecUpdate l) (fix e) $ mapM fix fups
+    EnumFrom l e              -> liftM (EnumFrom l) $ fix e
+    EnumFromTo l e1 e2        -> liftM2 (EnumFromTo l) (fix e1) (fix e2)
+    EnumFromThen l e1 e2      -> liftM2 (EnumFromThen l) (fix e1) (fix e2)
+    EnumFromThenTo l e1 e2 e3 -> liftM3 (EnumFromThenTo l) (fix e1) (fix e2) (fix e3)
+    ListComp l e quals        -> liftM2 (ListComp l) (fix e) $ mapM fix quals
+    ParComp  l e qualss       -> liftM2 (ParComp l) (fix e) $ mapM (mapM fix) qualss
+    ExpTypeSig l e t          -> liftM (flip (ExpTypeSig l) t) (fix e)
+    BracketExp l b            -> liftM (BracketExp l) $ fix b
+    SpliceExp l s             -> liftM (SpliceExp l) $ fix s
+    XTag l n ats mexp cs      -> liftM3 (XTag l n) (mapM fix ats) (mapM fix mexp) (mapM fix cs)
+    XETag l n ats mexp        -> liftM2 (XETag l n) (mapM fix ats) (mapM fix mexp)
+    XExpTag l e               -> liftM (XExpTag l) $ fix e
+    XChildTag l cs            -> liftM (XChildTag l) $ mapM fix cs
+    Proc l p e                -> liftM2 (Proc l) (fix p) (fix e)
+    LeftArrApp l e1 e2        -> liftM2 (LeftArrApp l) (fix e1) (fix e2)
+    RightArrApp l e1 e2       -> liftM2 (RightArrApp l) (fix e1) (fix e2)
+    LeftArrHighApp l e1 e2    -> liftM2 (LeftArrHighApp l) (fix e1) (fix e2)
+    RightArrHighApp l e1 e2   -> liftM2 (RightArrHighApp l) (fix e1) (fix e2)
+    CorePragma l s e          -> liftM (CorePragma l s) (fix e)
+    SCCPragma l s e           -> liftM (SCCPragma l s) (fix e)
+    GenPragma l s ab cd e     -> liftM (GenPragma l s ab cd) (fix e)
+    LCase l alts              -> liftM (LCase l) $ mapM fix alts
 
-    _                       -> return e'
+    _                         -> return e'
   where
     fix x = applyFixities fixs x
 
-leafFixP :: Monad m => [Fixity] -> Pat -> m Pat
+leafFixP :: Monad m => [Fixity] -> Pat SrcSpanInfo -> m (Pat SrcSpanInfo)
 leafFixP fixs p' = case p' of
-        PInfixApp p1 op p2    -> liftM2 (flip PInfixApp op) (leafFixP fixs p1) (fix p2)
-        PApp n ps             -> liftM (PApp n) $ mapM fix ps
-        PTuple bx ps          -> liftM (PTuple bx) $ mapM fix ps
-        PList ps              -> liftM PList $ mapM fix ps
-        PParen p              -> liftM PParen $ fix p
-        PRec n pfs            -> liftM (PRec n) $ mapM fix pfs
-        PAsPat n p            -> liftM (PAsPat n) $ fix p
-        PIrrPat p             -> liftM PIrrPat $ fix p
-        PatTypeSig loc p t    -> liftM (flip (PatTypeSig loc) t) (fix p)
-        PViewPat e p          -> liftM2 PViewPat (fix e) (fix p)
-        PRPat rps             -> liftM PRPat $ mapM fix rps
-        PXTag loc n ats mp ps -> liftM3 (PXTag loc n) (mapM fix ats) (mapM fix mp) (mapM fix ps)
-        PXETag loc n ats mp   -> liftM2 (PXETag loc n) (mapM fix ats) (mapM fix mp)
-        PXPatTag p            -> liftM PXPatTag $ fix p
-        PXRPats rps           -> liftM PXRPats $ mapM fix rps
-        PBangPat p            -> liftM PBangPat $ fix p
-        _                     -> return p'
+        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
+        PTuple l bx ps          -> liftM (PTuple l bx) $ mapM fix ps
+        PList l ps              -> liftM (PList l) $ mapM fix ps
+        PParen l p              -> liftM (PParen l) $ fix p
+        PRec l n pfs            -> liftM (PRec l n) $ mapM fix pfs
+        PAsPat l n p            -> liftM (PAsPat l n) $ fix p
+        PIrrPat l p             -> liftM (PIrrPat l) $ fix p
+        PatTypeSig l p t        -> liftM (flip (PatTypeSig l) t) (fix p)
+        PViewPat l e p          -> liftM2 (PViewPat l) (fix e) (fix p)
+        PRPat l rps             -> liftM (PRPat l) $ mapM fix rps
+        PXTag l n ats mp ps     -> liftM3 (PXTag l n) (mapM fix ats) (mapM fix mp) (mapM fix ps)
+        PXETag l n ats mp       -> liftM2 (PXETag l n) (mapM fix ats) (mapM fix mp)
+        PXPatTag l p            -> liftM (PXPatTag l) $ fix p
+        PXRPats l rps           -> liftM (PXRPats l) $ mapM fix rps
+        PBangPat l p            -> liftM (PBangPat l) $ fix p
+        _                       -> return p'
       where fix x = applyFixities fixs x
diff --git a/src/Language/Haskell/Exts/InternalLexer.hs b/src/Language/Haskell/Exts/InternalLexer.hs
--- a/src/Language/Haskell/Exts/InternalLexer.hs
+++ b/src/Language/Haskell/Exts/InternalLexer.hs
@@ -36,6 +36,7 @@
 
 data Token
         = VarId String
+        | LabelVarId String
         | QVarId (String,String)
         | IDupVarId (String)        -- duplicable implicit parameter
         | ILinVarId (String)        -- linear implicit parameter
@@ -88,6 +89,7 @@
         | LeftArrow
         | RightArrow
         | At
+        | TApp -- '@' but have to check for preceeding whitespace
         | Tilde
         | DoubleArrow
         | Minus
@@ -142,6 +144,7 @@
         | GENERATED
         | CORE
         | UNPACK
+        | NOUNPACK
         | OPTIONS (Maybe String,String)
 --        | CFILES  String
 --        | INCLUDE String
@@ -330,6 +333,7 @@
  ( "generated",         GENERATED       ),
  ( "core",              CORE            ),
  ( "unpack",            UNPACK          ),
+ ( "nounpack",          NOUNPACK        ),
  ( "language",          LANGUAGE        ),
  ( "minimal",           MINIMAL         ),
  ( "no_overlap",        NO_OVERLAP      ),
@@ -734,6 +738,20 @@
 
         ':':']':_ | ParallelArrays `elem` exts -> discard 2 >> return ParArrayRightSquare
 
+        -- Lexed seperately to deal with visible type applciation
+
+        '@':_ | TypeApplications `elem` exts -> do
+                                                c <- getLastChar
+                                                if isIdent c
+                                                  then discard 1 >> return At
+                                                  else discard 1 >> return TApp
+
+        '#':_ | OverloadedLabels `elem` exts -> do
+                                                  discard 1
+                                                  [ident] <- lexIdents
+                                                  return $ LabelVarId ident
+
+
         c:_ | isDigit c -> lexDecimalOrFloat
 
             | isUpper c -> lexConIdOrQual ""
@@ -801,8 +819,8 @@
                         idents <- lexIdents
                         return $ ident : idents
                  '#':_ | MagicHash `elem` exts -> do
-                        discard 1
-                        return [ident ++ "#"]
+                        hashes <- lexWhile (== '#')
+                        return [ident ++ hashes]
                  _ -> return [ident]
 
             lexQuasiQuote :: Char -> Lex a Token
@@ -1247,6 +1265,7 @@
 showToken :: Token -> String
 showToken t = case t of
   VarId s           -> s
+  LabelVarId s      -> '#':s
   QVarId (q,s)      -> q ++ '.':s
   IDupVarId s       -> '?':s
   ILinVarId s       -> '%':s
@@ -1293,6 +1312,7 @@
   LeftArrow         -> "<-"
   RightArrow        -> "->"
   At                -> "@"
+  TApp              -> "@"
   Tilde             -> "~"
   DoubleArrow       -> "=>"
   Minus             -> "-"
@@ -1337,6 +1357,7 @@
   GENERATED         -> "{-# GENERATED"
   CORE              -> "{-# CORE"
   UNPACK            -> "{-# UNPACK"
+  NOUNPACK          -> "{-# NOUNPACK"
   OPTIONS (mt,_)    -> "{-# OPTIONS" ++ maybe "" (':':) mt ++ " ..."
 --  CFILES  s         -> "{-# CFILES ..."
 --  INCLUDE s         -> "{-# INCLUDE ..."
diff --git a/src/Language/Haskell/Exts/InternalParser.hs b/src/Language/Haskell/Exts/InternalParser.hs
new file mode 100644
--- /dev/null
+++ b/src/Language/Haskell/Exts/InternalParser.hs
@@ -0,0 +1,28478 @@
+{-# OPTIONS_GHC -w #-}
+{-# 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
+import Control.Applicative(Applicative(..))
+import Control.Monad (ap)
+
+-- parser produced by Happy Version 1.19.5
+
+data HappyAbsSyn 
+	= HappyTerminal (Loc Token)
+	| HappyErrorToken Int
+	| HappyAbsSyn14 ([Module L])
+	| HappyAbsSyn15 ([[ModulePragma L] -> [S] -> L -> Module L])
+	| HappyAbsSyn16 (Module L)
+	| HappyAbsSyn17 (PExp L)
+	| HappyAbsSyn18 (([ModulePragma L],[S],L))
+	| HappyAbsSyn19 (([ModulePragma L],[S],Maybe L))
+	| HappyAbsSyn20 (ModulePragma L)
+	| HappyAbsSyn21 (([Name L],[S]))
+	| HappyAbsSyn22 ([ModulePragma L] -> [S] -> L -> Module L)
+	| HappyAbsSyn23 (Maybe (ModuleHead L))
+	| HappyAbsSyn24 (Maybe (WarningText L))
+	| HappyAbsSyn25 (([ImportDecl L],[Decl L],[S],L))
+	| HappyAbsSyn26 (([ImportDecl L],[Decl L],[S]))
+	| HappyAbsSyn27 ([S])
+	| HappyAbsSyn29 (Maybe (ExportSpecList L))
+	| HappyAbsSyn30 (ExportSpecList L)
+	| HappyAbsSyn32 (([ExportSpec L],[S]))
+	| HappyAbsSyn33 (ExportSpec L)
+	| HappyAbsSyn34 (QName L)
+	| HappyAbsSyn35 (([ImportDecl L],[S]))
+	| HappyAbsSyn36 (ImportDecl L)
+	| HappyAbsSyn37 ((Bool,[S]))
+	| HappyAbsSyn40 ((Maybe String,[S]))
+	| HappyAbsSyn41 ((Maybe (ModuleName L),[S],Maybe L))
+	| HappyAbsSyn42 (Maybe (ImportSpecList L))
+	| HappyAbsSyn43 (ImportSpecList L)
+	| HappyAbsSyn44 ((Bool, Maybe L,[S]))
+	| HappyAbsSyn45 (([ImportSpec L],[S]))
+	| HappyAbsSyn46 (ImportSpec L)
+	| HappyAbsSyn47 (([CName L],[S]))
+	| HappyAbsSyn48 (CName L)
+	| HappyAbsSyn49 (Decl L)
+	| HappyAbsSyn50 ((Maybe Int, [S]))
+	| HappyAbsSyn51 (Assoc L)
+	| HappyAbsSyn52 (([Op L],[S],L))
+	| HappyAbsSyn53 (Maybe (InjectivityInfo L))
+	| HappyAbsSyn54 (InjectivityInfo L)
+	| HappyAbsSyn55 ([Name L])
+	| HappyAbsSyn56 (([Decl L],[S]))
+	| HappyAbsSyn59 (Maybe (ResultSig L))
+	| HappyAbsSyn61 ((Maybe (ResultSig L), Maybe (InjectivityInfo L)))
+	| HappyAbsSyn62 ((Maybe (ResultSig L), Maybe (S, Type L), Maybe (InjectivityInfo L)))
+	| HappyAbsSyn64 ([(Maybe String, L)])
+	| HappyAbsSyn65 ((Maybe String, L))
+	| HappyAbsSyn66 (Maybe (Overlap L))
+	| HappyAbsSyn67 (Maybe ([TypeEqn L], S))
+	| HappyAbsSyn68 ([TypeEqn L])
+	| HappyAbsSyn70 (TypeEqn L)
+	| HappyAbsSyn71 (DataOrNew L)
+	| HappyAbsSyn72 (([Type L],[S]))
+	| HappyAbsSyn76 (Binds L)
+	| HappyAbsSyn81 (Type L)
+	| HappyAbsSyn82 (Maybe (BooleanFormula L))
+	| HappyAbsSyn83 (BooleanFormula L)
+	| HappyAbsSyn87 (([Name L],[S],L))
+	| HappyAbsSyn88 (CallConv L)
+	| HappyAbsSyn89 (Maybe (Safety L))
+	| HappyAbsSyn90 ((Maybe String, Name L, Type L, [S]))
+	| HappyAbsSyn91 ([Rule L])
+	| HappyAbsSyn92 (Rule L)
+	| HappyAbsSyn93 (Maybe (Activation L))
+	| HappyAbsSyn94 ((Maybe [RuleVar L],[S]))
+	| HappyAbsSyn95 ([RuleVar L])
+	| HappyAbsSyn96 (RuleVar L)
+	| HappyAbsSyn97 (([([Name L],String)],[S]))
+	| HappyAbsSyn98 ((([Name L], String),[S]))
+	| HappyAbsSyn100 (Name L)
+	| HappyAbsSyn101 (Annotation L)
+	| HappyAbsSyn103 (PType L)
+	| HappyAbsSyn110 (Promoted L)
+	| HappyAbsSyn111 ((Maybe (L -> BangType L,S), Maybe (Unpackedness L)))
+	| HappyAbsSyn112 ((L -> BangType L, S))
+	| HappyAbsSyn113 (Unpackedness L)
+	| HappyAbsSyn119 (PContext L)
+	| HappyAbsSyn120 (([PType L],[S]))
+	| HappyAbsSyn122 (([TyVarBind L],Maybe L))
+	| HappyAbsSyn123 (TyVarBind L)
+	| HappyAbsSyn124 (([Name L],Maybe L))
+	| HappyAbsSyn125 (([Name L],L))
+	| HappyAbsSyn126 (([FunDep L],[S],Maybe L))
+	| HappyAbsSyn127 (([FunDep L],[S],L))
+	| HappyAbsSyn128 (FunDep L)
+	| HappyAbsSyn129 (([GadtDecl L],[S],Maybe L))
+	| HappyAbsSyn130 (([GadtDecl L],[S]))
+	| HappyAbsSyn132 ([GadtDecl L])
+	| HappyAbsSyn133 (([QualConDecl L],[S],Maybe L))
+	| HappyAbsSyn134 (([QualConDecl L],[S],L))
+	| HappyAbsSyn135 (QualConDecl L)
+	| HappyAbsSyn136 ((Maybe [TyVarBind L], [S], Maybe L))
+	| HappyAbsSyn137 (ConDecl L)
+	| HappyAbsSyn138 ((Name L, [Type L], L))
+	| HappyAbsSyn139 (([FieldDecl L],[S]))
+	| HappyAbsSyn140 (FieldDecl L)
+	| HappyAbsSyn141 (Maybe (Deriving L))
+	| HappyAbsSyn142 (([InstRule L],[S]))
+	| HappyAbsSyn143 (InstHead L)
+	| HappyAbsSyn144 (Kind L)
+	| HappyAbsSyn149 (([Kind L], [S]))
+	| HappyAbsSyn150 ((Maybe (Kind L), [S]))
+	| HappyAbsSyn151 ((Maybe [ClassDecl L],[S],Maybe L))
+	| HappyAbsSyn152 (([ClassDecl L],[S]))
+	| HappyAbsSyn154 (ClassDecl L)
+	| HappyAbsSyn157 ((Maybe [InstDecl L],[S],Maybe L))
+	| HappyAbsSyn158 (([InstDecl L],[S]))
+	| HappyAbsSyn160 (InstDecl L)
+	| HappyAbsSyn163 ((Maybe (Binds L),[S]))
+	| HappyAbsSyn164 ((Maybe (Type L, S)))
+	| HappyAbsSyn165 (Rhs L)
+	| HappyAbsSyn166 (([GuardedRhs L],L))
+	| HappyAbsSyn167 (GuardedRhs L)
+	| HappyAbsSyn168 (Exp L)
+	| HappyAbsSyn179 ([Pat L])
+	| HappyAbsSyn180 (Pat L)
+	| HappyAbsSyn186 (([Maybe (PExp L)],[S]))
+	| HappyAbsSyn188 (([PExp L],[S]))
+	| HappyAbsSyn191 ([PExp L])
+	| HappyAbsSyn193 (XName L)
+	| HappyAbsSyn194 (Loc String)
+	| HappyAbsSyn196 ([ParseXAttr L])
+	| HappyAbsSyn197 (ParseXAttr L)
+	| HappyAbsSyn198 (Maybe (PExp L))
+	| HappyAbsSyn199 (L -> PExp L)
+	| HappyAbsSyn201 (([[QualStmt L]],[S]))
+	| HappyAbsSyn202 (([QualStmt L],[S]))
+	| HappyAbsSyn203 (QualStmt L)
+	| HappyAbsSyn205 (([Stmt L],[S]))
+	| HappyAbsSyn206 (Stmt L)
+	| HappyAbsSyn208 (([Alt L],L,[S]))
+	| HappyAbsSyn209 (([Alt L],[S]))
+	| HappyAbsSyn211 (Alt L)
+	| HappyAbsSyn216 (([GuardedRhs L], L, [S]))
+	| HappyAbsSyn217 (([GuardedRhs L], [S]))
+	| HappyAbsSyn219 (([Stmt L],L,[S]))
+	| HappyAbsSyn223 (([PFieldUpdate L],[S]))
+	| HappyAbsSyn224 (PFieldUpdate L)
+	| HappyAbsSyn225 (([IPBind L],[S]))
+	| HappyAbsSyn227 (IPBind L)
+	| HappyAbsSyn232 (IPName L)
+	| HappyAbsSyn240 (Op L)
+	| HappyAbsSyn241 (QOp L)
+	| HappyAbsSyn257 (Literal L)
+	| HappyAbsSyn258 (S)
+	| HappyAbsSyn264 (PatternSynDirection L)
+	| HappyAbsSyn266 ((Maybe [TyVarBind L], [S], Maybe (Context L), Maybe (Context L), Type L ))
+	| HappyAbsSyn267 (ModuleName L)
+	| HappyAbsSyn274 (([ImportDecl L],[S],L))
+	| HappyAbsSyn275 ((([ModulePragma L], [S], L), Maybe (ModuleName L)))
+	| HappyAbsSyn276 ((([ModulePragma L], [S], L), Maybe (ModuleHead L)))
+	| HappyAbsSyn277 ((([ModulePragma L], [S], L), Maybe (ModuleHead L), Maybe ([ImportDecl L],[S],L)))
+
+{- to allow type-synonyms as our monads (likely
+ - with explicitly-specified bind and return)
+ - in Haskell98, it seems that with
+ - /type M a = .../, then /(HappyReduction M)/
+ - is not allowed.  But Happy is a
+ - code-generator that can just substitute it.
+type HappyReduction m = 
+	   Int 
+	-> (Loc Token)
+	-> HappyState (Loc Token) (HappyStk HappyAbsSyn -> m HappyAbsSyn)
+	-> [HappyState (Loc Token) (HappyStk HappyAbsSyn -> m HappyAbsSyn)] 
+	-> HappyStk HappyAbsSyn 
+	-> m HappyAbsSyn
+-}
+
+action_0,
+ action_1,
+ action_2,
+ action_3,
+ action_4,
+ action_5,
+ action_6,
+ action_7,
+ action_8,
+ action_9,
+ action_10,
+ action_11,
+ action_12,
+ action_13,
+ action_14,
+ action_15,
+ action_16,
+ action_17,
+ action_18,
+ action_19,
+ action_20,
+ action_21,
+ action_22,
+ action_23,
+ action_24,
+ action_25,
+ action_26,
+ action_27,
+ action_28,
+ action_29,
+ action_30,
+ action_31,
+ action_32,
+ action_33,
+ action_34,
+ action_35,
+ action_36,
+ action_37,
+ action_38,
+ action_39,
+ action_40,
+ action_41,
+ action_42,
+ action_43,
+ action_44,
+ action_45,
+ action_46,
+ action_47,
+ action_48,
+ action_49,
+ action_50,
+ action_51,
+ action_52,
+ action_53,
+ action_54,
+ action_55,
+ action_56,
+ action_57,
+ action_58,
+ action_59,
+ action_60,
+ action_61,
+ action_62,
+ action_63,
+ action_64,
+ action_65,
+ action_66,
+ action_67,
+ action_68,
+ action_69,
+ action_70,
+ action_71,
+ action_72,
+ action_73,
+ action_74,
+ action_75,
+ action_76,
+ action_77,
+ action_78,
+ action_79,
+ action_80,
+ action_81,
+ action_82,
+ action_83,
+ action_84,
+ action_85,
+ action_86,
+ action_87,
+ action_88,
+ action_89,
+ action_90,
+ action_91,
+ action_92,
+ action_93,
+ action_94,
+ action_95,
+ action_96,
+ action_97,
+ action_98,
+ action_99,
+ action_100,
+ action_101,
+ action_102,
+ action_103,
+ action_104,
+ action_105,
+ action_106,
+ action_107,
+ action_108,
+ action_109,
+ action_110,
+ action_111,
+ action_112,
+ action_113,
+ action_114,
+ action_115,
+ action_116,
+ action_117,
+ action_118,
+ action_119,
+ action_120,
+ action_121,
+ action_122,
+ action_123,
+ action_124,
+ action_125,
+ action_126,
+ action_127,
+ action_128,
+ action_129,
+ action_130,
+ action_131,
+ action_132,
+ action_133,
+ action_134,
+ action_135,
+ action_136,
+ action_137,
+ action_138,
+ action_139,
+ action_140,
+ action_141,
+ action_142,
+ action_143,
+ action_144,
+ action_145,
+ action_146,
+ action_147,
+ action_148,
+ action_149,
+ action_150,
+ action_151,
+ action_152,
+ action_153,
+ action_154,
+ action_155,
+ action_156,
+ action_157,
+ action_158,
+ action_159,
+ action_160,
+ action_161,
+ action_162,
+ action_163,
+ action_164,
+ action_165,
+ action_166,
+ action_167,
+ action_168,
+ action_169,
+ action_170,
+ action_171,
+ action_172,
+ action_173,
+ action_174,
+ action_175,
+ action_176,
+ action_177,
+ action_178,
+ action_179,
+ action_180,
+ action_181,
+ action_182,
+ action_183,
+ action_184,
+ action_185,
+ action_186,
+ action_187,
+ action_188,
+ action_189,
+ action_190,
+ action_191,
+ action_192,
+ action_193,
+ action_194,
+ action_195,
+ action_196,
+ action_197,
+ action_198,
+ action_199,
+ action_200,
+ action_201,
+ action_202,
+ action_203,
+ action_204,
+ action_205,
+ action_206,
+ action_207,
+ action_208,
+ action_209,
+ action_210,
+ action_211,
+ action_212,
+ action_213,
+ action_214,
+ action_215,
+ action_216,
+ action_217,
+ action_218,
+ action_219,
+ action_220,
+ action_221,
+ action_222,
+ action_223,
+ action_224,
+ action_225,
+ action_226,
+ action_227,
+ action_228,
+ action_229,
+ action_230,
+ action_231,
+ action_232,
+ action_233,
+ action_234,
+ action_235,
+ action_236,
+ action_237,
+ action_238,
+ action_239,
+ action_240,
+ action_241,
+ action_242,
+ action_243,
+ action_244,
+ action_245,
+ action_246,
+ action_247,
+ action_248,
+ action_249,
+ action_250,
+ action_251,
+ action_252,
+ action_253,
+ action_254,
+ action_255,
+ action_256,
+ action_257,
+ action_258,
+ action_259,
+ action_260,
+ action_261,
+ action_262,
+ action_263,
+ action_264,
+ action_265,
+ action_266,
+ action_267,
+ action_268,
+ action_269,
+ action_270,
+ action_271,
+ action_272,
+ action_273,
+ action_274,
+ action_275,
+ action_276,
+ action_277,
+ action_278,
+ action_279,
+ action_280,
+ action_281,
+ action_282,
+ action_283,
+ action_284,
+ action_285,
+ action_286,
+ action_287,
+ action_288,
+ action_289,
+ action_290,
+ action_291,
+ action_292,
+ action_293,
+ action_294,
+ action_295,
+ action_296,
+ action_297,
+ action_298,
+ action_299,
+ action_300,
+ action_301,
+ action_302,
+ action_303,
+ action_304,
+ action_305,
+ action_306,
+ action_307,
+ action_308,
+ action_309,
+ action_310,
+ action_311,
+ action_312,
+ action_313,
+ action_314,
+ action_315,
+ action_316,
+ action_317,
+ action_318,
+ action_319,
+ action_320,
+ action_321,
+ action_322,
+ action_323,
+ action_324,
+ action_325,
+ action_326,
+ action_327,
+ action_328,
+ action_329,
+ action_330,
+ action_331,
+ action_332,
+ action_333,
+ action_334,
+ action_335,
+ action_336,
+ action_337,
+ action_338,
+ action_339,
+ action_340,
+ action_341,
+ action_342,
+ action_343,
+ action_344,
+ action_345,
+ action_346,
+ action_347,
+ action_348,
+ action_349,
+ action_350,
+ action_351,
+ action_352,
+ action_353,
+ action_354,
+ action_355,
+ action_356,
+ action_357,
+ action_358,
+ action_359,
+ action_360,
+ action_361,
+ action_362,
+ action_363,
+ action_364,
+ action_365,
+ action_366,
+ action_367,
+ action_368,
+ action_369,
+ action_370,
+ action_371,
+ action_372,
+ action_373,
+ action_374,
+ action_375,
+ action_376,
+ action_377,
+ action_378,
+ action_379,
+ action_380,
+ action_381,
+ action_382,
+ action_383,
+ action_384,
+ action_385,
+ action_386,
+ action_387,
+ action_388,
+ action_389,
+ action_390,
+ action_391,
+ action_392,
+ action_393,
+ action_394,
+ action_395,
+ action_396,
+ action_397,
+ action_398,
+ action_399,
+ action_400,
+ action_401,
+ action_402,
+ action_403,
+ action_404,
+ action_405,
+ action_406,
+ action_407,
+ action_408,
+ action_409,
+ action_410,
+ action_411,
+ action_412,
+ action_413,
+ action_414,
+ action_415,
+ action_416,
+ action_417,
+ action_418,
+ action_419,
+ action_420,
+ action_421,
+ action_422,
+ action_423,
+ action_424,
+ action_425,
+ action_426,
+ action_427,
+ action_428,
+ action_429,
+ action_430,
+ action_431,
+ action_432,
+ action_433,
+ action_434,
+ action_435,
+ action_436,
+ action_437,
+ action_438,
+ action_439,
+ action_440,
+ action_441,
+ action_442,
+ action_443,
+ action_444,
+ action_445,
+ action_446,
+ action_447,
+ action_448,
+ action_449,
+ action_450,
+ action_451,
+ action_452,
+ action_453,
+ action_454,
+ action_455,
+ action_456,
+ action_457,
+ action_458,
+ action_459,
+ action_460,
+ action_461,
+ action_462,
+ action_463,
+ action_464,
+ action_465,
+ action_466,
+ action_467,
+ action_468,
+ action_469,
+ action_470,
+ action_471,
+ action_472,
+ action_473,
+ action_474,
+ action_475,
+ action_476,
+ action_477,
+ action_478,
+ action_479,
+ action_480,
+ action_481,
+ action_482,
+ action_483,
+ action_484,
+ action_485,
+ action_486,
+ action_487,
+ action_488,
+ action_489,
+ action_490,
+ action_491,
+ action_492,
+ action_493,
+ action_494,
+ action_495,
+ action_496,
+ action_497,
+ action_498,
+ action_499,
+ action_500,
+ action_501,
+ action_502,
+ action_503,
+ action_504,
+ action_505,
+ action_506,
+ action_507,
+ action_508,
+ action_509,
+ action_510,
+ action_511,
+ action_512,
+ action_513,
+ action_514,
+ action_515,
+ action_516,
+ action_517,
+ action_518,
+ action_519,
+ action_520,
+ action_521,
+ action_522,
+ action_523,
+ action_524,
+ action_525,
+ action_526,
+ action_527,
+ action_528,
+ action_529,
+ action_530,
+ action_531,
+ action_532,
+ action_533,
+ action_534,
+ action_535,
+ action_536,
+ action_537,
+ action_538,
+ action_539,
+ action_540,
+ action_541,
+ action_542,
+ action_543,
+ action_544,
+ action_545,
+ action_546,
+ action_547,
+ action_548,
+ action_549,
+ action_550,
+ action_551,
+ action_552,
+ action_553,
+ action_554,
+ action_555,
+ action_556,
+ action_557,
+ action_558,
+ action_559,
+ action_560,
+ action_561,
+ action_562,
+ action_563,
+ action_564,
+ action_565,
+ action_566,
+ action_567,
+ action_568,
+ action_569,
+ action_570,
+ action_571,
+ action_572,
+ action_573,
+ action_574,
+ action_575,
+ action_576,
+ action_577,
+ action_578,
+ action_579,
+ action_580,
+ action_581,
+ action_582,
+ action_583,
+ action_584,
+ action_585,
+ action_586,
+ action_587,
+ action_588,
+ action_589,
+ action_590,
+ action_591,
+ action_592,
+ action_593,
+ action_594,
+ action_595,
+ action_596,
+ action_597,
+ action_598,
+ action_599,
+ action_600,
+ action_601,
+ action_602,
+ action_603,
+ action_604,
+ action_605,
+ action_606,
+ action_607,
+ action_608,
+ action_609,
+ action_610,
+ action_611,
+ action_612,
+ action_613,
+ action_614,
+ action_615,
+ action_616,
+ action_617,
+ action_618,
+ action_619,
+ action_620,
+ action_621,
+ action_622,
+ action_623,
+ action_624,
+ action_625,
+ action_626,
+ action_627,
+ action_628,
+ action_629,
+ action_630,
+ action_631,
+ action_632,
+ action_633,
+ action_634,
+ action_635,
+ action_636,
+ action_637,
+ action_638,
+ action_639,
+ action_640,
+ action_641,
+ action_642,
+ action_643,
+ action_644,
+ action_645,
+ action_646,
+ action_647,
+ action_648,
+ action_649,
+ action_650,
+ action_651,
+ action_652,
+ action_653,
+ action_654,
+ action_655,
+ action_656,
+ action_657,
+ action_658,
+ action_659,
+ action_660,
+ action_661,
+ action_662,
+ action_663,
+ action_664,
+ action_665,
+ action_666,
+ action_667,
+ action_668,
+ action_669,
+ action_670,
+ action_671,
+ action_672,
+ action_673,
+ action_674,
+ action_675,
+ action_676,
+ action_677,
+ action_678,
+ action_679,
+ action_680,
+ action_681,
+ action_682,
+ action_683,
+ action_684,
+ action_685,
+ action_686,
+ action_687,
+ action_688,
+ action_689,
+ action_690,
+ action_691,
+ action_692,
+ action_693,
+ action_694,
+ action_695,
+ action_696,
+ action_697,
+ action_698,
+ action_699,
+ action_700,
+ action_701,
+ action_702,
+ action_703,
+ action_704,
+ action_705,
+ action_706,
+ action_707,
+ action_708,
+ action_709,
+ action_710,
+ action_711,
+ action_712,
+ action_713,
+ action_714,
+ action_715,
+ action_716,
+ action_717,
+ action_718,
+ action_719,
+ action_720,
+ action_721,
+ action_722,
+ action_723,
+ action_724,
+ action_725,
+ action_726,
+ action_727,
+ action_728,
+ action_729,
+ action_730,
+ action_731,
+ action_732,
+ action_733,
+ action_734,
+ action_735,
+ action_736,
+ action_737,
+ action_738,
+ action_739,
+ action_740,
+ action_741,
+ action_742,
+ action_743,
+ action_744,
+ action_745,
+ action_746,
+ action_747,
+ action_748,
+ action_749,
+ action_750,
+ action_751,
+ action_752,
+ action_753,
+ action_754,
+ action_755,
+ action_756,
+ action_757,
+ action_758,
+ action_759,
+ action_760,
+ action_761,
+ action_762,
+ action_763,
+ action_764,
+ action_765,
+ action_766,
+ action_767,
+ action_768,
+ action_769,
+ action_770,
+ action_771,
+ action_772,
+ action_773,
+ action_774,
+ action_775,
+ action_776,
+ action_777,
+ action_778,
+ action_779,
+ action_780,
+ action_781,
+ action_782,
+ action_783,
+ action_784,
+ action_785,
+ action_786,
+ action_787,
+ action_788,
+ action_789,
+ action_790,
+ action_791,
+ action_792,
+ action_793,
+ action_794,
+ action_795,
+ action_796,
+ action_797,
+ action_798,
+ action_799,
+ action_800,
+ action_801,
+ action_802,
+ action_803,
+ action_804,
+ action_805,
+ action_806,
+ action_807,
+ action_808,
+ action_809,
+ action_810,
+ action_811,
+ action_812,
+ action_813,
+ action_814,
+ action_815,
+ action_816,
+ action_817,
+ action_818,
+ action_819,
+ action_820,
+ action_821,
+ action_822,
+ action_823,
+ action_824,
+ action_825,
+ action_826,
+ action_827,
+ action_828,
+ action_829,
+ action_830,
+ action_831,
+ action_832,
+ action_833,
+ action_834,
+ action_835,
+ action_836,
+ action_837,
+ action_838,
+ action_839,
+ action_840,
+ action_841,
+ action_842,
+ action_843,
+ action_844,
+ action_845,
+ action_846,
+ action_847,
+ action_848,
+ action_849,
+ action_850,
+ action_851,
+ action_852,
+ action_853,
+ action_854,
+ action_855,
+ action_856,
+ action_857,
+ action_858,
+ action_859,
+ action_860,
+ action_861,
+ action_862,
+ action_863,
+ action_864,
+ action_865,
+ action_866,
+ action_867,
+ action_868,
+ action_869,
+ action_870,
+ action_871,
+ action_872,
+ action_873,
+ action_874,
+ action_875,
+ action_876,
+ action_877,
+ action_878,
+ action_879,
+ action_880,
+ action_881,
+ action_882,
+ action_883,
+ action_884,
+ action_885,
+ action_886,
+ action_887,
+ action_888,
+ action_889,
+ action_890,
+ action_891,
+ action_892,
+ action_893,
+ action_894,
+ action_895,
+ action_896,
+ action_897,
+ action_898,
+ action_899,
+ action_900,
+ action_901,
+ action_902,
+ action_903,
+ action_904,
+ action_905,
+ action_906,
+ action_907,
+ action_908,
+ action_909,
+ action_910,
+ action_911,
+ action_912,
+ action_913,
+ action_914,
+ action_915,
+ action_916,
+ action_917,
+ action_918,
+ action_919,
+ action_920,
+ action_921,
+ action_922,
+ action_923,
+ action_924,
+ action_925,
+ action_926,
+ action_927,
+ action_928,
+ action_929,
+ action_930,
+ action_931,
+ action_932,
+ action_933,
+ action_934,
+ action_935,
+ action_936,
+ action_937,
+ action_938,
+ action_939,
+ action_940,
+ action_941,
+ action_942,
+ action_943,
+ action_944,
+ action_945,
+ action_946,
+ action_947,
+ action_948,
+ action_949,
+ action_950,
+ action_951,
+ action_952,
+ action_953,
+ action_954,
+ action_955,
+ action_956,
+ action_957,
+ action_958,
+ action_959,
+ action_960,
+ action_961,
+ action_962,
+ action_963,
+ action_964,
+ action_965,
+ action_966,
+ action_967,
+ action_968,
+ action_969,
+ action_970,
+ action_971,
+ action_972,
+ action_973,
+ action_974,
+ action_975,
+ action_976,
+ action_977,
+ action_978,
+ action_979,
+ action_980,
+ action_981,
+ action_982,
+ action_983,
+ action_984,
+ action_985,
+ action_986,
+ action_987,
+ action_988,
+ action_989,
+ action_990,
+ action_991,
+ action_992,
+ action_993,
+ action_994,
+ action_995,
+ action_996,
+ action_997,
+ action_998,
+ action_999,
+ action_1000,
+ action_1001,
+ action_1002,
+ action_1003,
+ action_1004,
+ action_1005,
+ action_1006,
+ action_1007,
+ action_1008,
+ action_1009,
+ action_1010,
+ action_1011,
+ action_1012,
+ action_1013,
+ action_1014,
+ action_1015,
+ action_1016,
+ action_1017,
+ action_1018,
+ action_1019,
+ action_1020,
+ action_1021,
+ action_1022,
+ action_1023,
+ action_1024,
+ action_1025,
+ action_1026,
+ action_1027,
+ action_1028,
+ action_1029,
+ action_1030,
+ action_1031,
+ action_1032,
+ action_1033,
+ action_1034,
+ action_1035,
+ action_1036,
+ action_1037,
+ action_1038,
+ action_1039,
+ action_1040,
+ action_1041,
+ action_1042,
+ action_1043,
+ action_1044,
+ action_1045,
+ action_1046,
+ action_1047,
+ action_1048,
+ action_1049,
+ action_1050,
+ action_1051,
+ action_1052,
+ action_1053,
+ action_1054,
+ action_1055,
+ action_1056,
+ action_1057,
+ action_1058,
+ action_1059,
+ action_1060,
+ action_1061,
+ action_1062,
+ action_1063,
+ action_1064,
+ action_1065,
+ action_1066,
+ action_1067,
+ action_1068,
+ action_1069,
+ action_1070,
+ action_1071,
+ action_1072,
+ action_1073,
+ action_1074,
+ action_1075,
+ action_1076,
+ action_1077,
+ action_1078,
+ action_1079,
+ action_1080,
+ action_1081,
+ action_1082,
+ action_1083,
+ action_1084,
+ action_1085,
+ action_1086,
+ action_1087,
+ action_1088,
+ action_1089,
+ action_1090,
+ action_1091,
+ action_1092,
+ action_1093,
+ action_1094,
+ action_1095,
+ action_1096,
+ action_1097,
+ action_1098,
+ action_1099,
+ action_1100,
+ action_1101,
+ action_1102,
+ action_1103,
+ action_1104,
+ action_1105,
+ action_1106,
+ action_1107,
+ action_1108,
+ action_1109,
+ action_1110,
+ action_1111,
+ action_1112,
+ action_1113,
+ action_1114,
+ action_1115,
+ action_1116,
+ action_1117,
+ action_1118,
+ action_1119,
+ action_1120,
+ action_1121,
+ action_1122,
+ action_1123,
+ action_1124,
+ action_1125,
+ action_1126,
+ action_1127,
+ action_1128,
+ action_1129,
+ action_1130,
+ action_1131,
+ action_1132,
+ action_1133,
+ action_1134,
+ action_1135,
+ action_1136,
+ action_1137,
+ action_1138,
+ action_1139,
+ action_1140,
+ action_1141,
+ action_1142,
+ action_1143,
+ action_1144,
+ action_1145,
+ action_1146,
+ action_1147,
+ action_1148,
+ action_1149,
+ action_1150,
+ action_1151,
+ action_1152,
+ action_1153,
+ action_1154,
+ action_1155,
+ action_1156,
+ action_1157,
+ action_1158,
+ action_1159,
+ action_1160,
+ action_1161,
+ action_1162,
+ action_1163,
+ action_1164,
+ action_1165,
+ action_1166,
+ action_1167,
+ action_1168,
+ action_1169,
+ action_1170,
+ action_1171,
+ action_1172,
+ action_1173,
+ action_1174,
+ action_1175,
+ action_1176,
+ action_1177,
+ action_1178,
+ action_1179,
+ action_1180,
+ action_1181,
+ action_1182,
+ action_1183,
+ action_1184,
+ action_1185,
+ action_1186,
+ action_1187,
+ action_1188,
+ action_1189,
+ action_1190,
+ action_1191,
+ action_1192,
+ action_1193,
+ action_1194,
+ action_1195,
+ action_1196,
+ action_1197,
+ action_1198,
+ action_1199,
+ action_1200,
+ action_1201,
+ action_1202,
+ action_1203,
+ action_1204,
+ action_1205,
+ action_1206,
+ action_1207,
+ action_1208,
+ action_1209,
+ action_1210,
+ action_1211,
+ action_1212,
+ action_1213,
+ action_1214,
+ action_1215,
+ action_1216,
+ action_1217,
+ action_1218,
+ action_1219,
+ action_1220,
+ action_1221,
+ action_1222,
+ action_1223,
+ action_1224,
+ action_1225,
+ action_1226,
+ action_1227,
+ action_1228,
+ action_1229,
+ action_1230,
+ action_1231,
+ action_1232,
+ action_1233,
+ action_1234,
+ action_1235,
+ action_1236,
+ action_1237,
+ action_1238,
+ action_1239,
+ action_1240,
+ action_1241,
+ action_1242,
+ action_1243,
+ action_1244,
+ action_1245,
+ action_1246,
+ action_1247,
+ action_1248,
+ action_1249,
+ action_1250,
+ action_1251,
+ action_1252,
+ action_1253,
+ action_1254,
+ action_1255,
+ action_1256,
+ action_1257,
+ action_1258,
+ action_1259,
+ action_1260,
+ action_1261,
+ action_1262,
+ action_1263,
+ action_1264,
+ action_1265,
+ action_1266,
+ action_1267,
+ action_1268,
+ action_1269,
+ action_1270,
+ action_1271,
+ action_1272,
+ action_1273,
+ action_1274,
+ action_1275,
+ action_1276,
+ action_1277,
+ action_1278,
+ action_1279,
+ action_1280,
+ action_1281,
+ action_1282,
+ action_1283,
+ action_1284,
+ action_1285,
+ action_1286,
+ action_1287,
+ action_1288,
+ action_1289,
+ action_1290,
+ action_1291,
+ action_1292,
+ action_1293,
+ action_1294,
+ action_1295,
+ action_1296,
+ action_1297,
+ action_1298,
+ action_1299,
+ action_1300,
+ action_1301,
+ action_1302,
+ action_1303,
+ action_1304,
+ action_1305,
+ action_1306,
+ action_1307,
+ action_1308,
+ action_1309,
+ action_1310,
+ action_1311,
+ action_1312,
+ action_1313,
+ action_1314,
+ action_1315,
+ action_1316,
+ action_1317,
+ action_1318,
+ action_1319,
+ action_1320,
+ action_1321,
+ action_1322,
+ action_1323,
+ action_1324,
+ action_1325,
+ action_1326,
+ action_1327,
+ action_1328 :: () => Int -> ({-HappyReduction (P) = -}
+	   Int 
+	-> (Loc Token)
+	-> HappyState (Loc Token) (HappyStk HappyAbsSyn -> (P) HappyAbsSyn)
+	-> [HappyState (Loc Token) (HappyStk HappyAbsSyn -> (P) HappyAbsSyn)] 
+	-> HappyStk HappyAbsSyn 
+	-> (P) HappyAbsSyn)
+
+happyReduce_11,
+ happyReduce_12,
+ happyReduce_13,
+ happyReduce_14,
+ happyReduce_15,
+ happyReduce_16,
+ happyReduce_17,
+ happyReduce_18,
+ happyReduce_19,
+ happyReduce_20,
+ happyReduce_21,
+ happyReduce_22,
+ happyReduce_23,
+ happyReduce_24,
+ happyReduce_25,
+ happyReduce_26,
+ happyReduce_27,
+ happyReduce_28,
+ happyReduce_29,
+ happyReduce_30,
+ happyReduce_31,
+ happyReduce_32,
+ happyReduce_33,
+ happyReduce_34,
+ happyReduce_35,
+ happyReduce_36,
+ happyReduce_37,
+ happyReduce_38,
+ happyReduce_39,
+ happyReduce_40,
+ happyReduce_41,
+ happyReduce_42,
+ happyReduce_43,
+ happyReduce_44,
+ happyReduce_45,
+ happyReduce_46,
+ happyReduce_47,
+ happyReduce_48,
+ happyReduce_49,
+ happyReduce_50,
+ happyReduce_51,
+ happyReduce_52,
+ happyReduce_53,
+ happyReduce_54,
+ happyReduce_55,
+ happyReduce_56,
+ happyReduce_57,
+ happyReduce_58,
+ happyReduce_59,
+ happyReduce_60,
+ happyReduce_61,
+ happyReduce_62,
+ happyReduce_63,
+ happyReduce_64,
+ happyReduce_65,
+ happyReduce_66,
+ happyReduce_67,
+ happyReduce_68,
+ happyReduce_69,
+ happyReduce_70,
+ happyReduce_71,
+ happyReduce_72,
+ happyReduce_73,
+ happyReduce_74,
+ happyReduce_75,
+ happyReduce_76,
+ happyReduce_77,
+ happyReduce_78,
+ happyReduce_79,
+ happyReduce_80,
+ happyReduce_81,
+ happyReduce_82,
+ happyReduce_83,
+ happyReduce_84,
+ happyReduce_85,
+ happyReduce_86,
+ happyReduce_87,
+ happyReduce_88,
+ happyReduce_89,
+ happyReduce_90,
+ happyReduce_91,
+ happyReduce_92,
+ happyReduce_93,
+ happyReduce_94,
+ happyReduce_95,
+ happyReduce_96,
+ happyReduce_97,
+ happyReduce_98,
+ happyReduce_99,
+ happyReduce_100,
+ happyReduce_101,
+ happyReduce_102,
+ happyReduce_103,
+ happyReduce_104,
+ happyReduce_105,
+ happyReduce_106,
+ happyReduce_107,
+ happyReduce_108,
+ happyReduce_109,
+ happyReduce_110,
+ happyReduce_111,
+ happyReduce_112,
+ happyReduce_113,
+ happyReduce_114,
+ happyReduce_115,
+ happyReduce_116,
+ happyReduce_117,
+ happyReduce_118,
+ happyReduce_119,
+ happyReduce_120,
+ happyReduce_121,
+ happyReduce_122,
+ happyReduce_123,
+ happyReduce_124,
+ happyReduce_125,
+ happyReduce_126,
+ happyReduce_127,
+ happyReduce_128,
+ happyReduce_129,
+ happyReduce_130,
+ happyReduce_131,
+ happyReduce_132,
+ happyReduce_133,
+ happyReduce_134,
+ happyReduce_135,
+ happyReduce_136,
+ happyReduce_137,
+ happyReduce_138,
+ happyReduce_139,
+ happyReduce_140,
+ happyReduce_141,
+ happyReduce_142,
+ happyReduce_143,
+ happyReduce_144,
+ happyReduce_145,
+ happyReduce_146,
+ happyReduce_147,
+ happyReduce_148,
+ happyReduce_149,
+ happyReduce_150,
+ happyReduce_151,
+ happyReduce_152,
+ happyReduce_153,
+ happyReduce_154,
+ happyReduce_155,
+ happyReduce_156,
+ happyReduce_157,
+ happyReduce_158,
+ happyReduce_159,
+ happyReduce_160,
+ happyReduce_161,
+ happyReduce_162,
+ happyReduce_163,
+ happyReduce_164,
+ happyReduce_165,
+ happyReduce_166,
+ happyReduce_167,
+ happyReduce_168,
+ happyReduce_169,
+ happyReduce_170,
+ happyReduce_171,
+ happyReduce_172,
+ happyReduce_173,
+ happyReduce_174,
+ happyReduce_175,
+ happyReduce_176,
+ happyReduce_177,
+ happyReduce_178,
+ happyReduce_179,
+ happyReduce_180,
+ happyReduce_181,
+ happyReduce_182,
+ happyReduce_183,
+ happyReduce_184,
+ happyReduce_185,
+ happyReduce_186,
+ happyReduce_187,
+ happyReduce_188,
+ happyReduce_189,
+ happyReduce_190,
+ happyReduce_191,
+ happyReduce_192,
+ happyReduce_193,
+ happyReduce_194,
+ happyReduce_195,
+ happyReduce_196,
+ happyReduce_197,
+ happyReduce_198,
+ happyReduce_199,
+ happyReduce_200,
+ happyReduce_201,
+ happyReduce_202,
+ happyReduce_203,
+ happyReduce_204,
+ happyReduce_205,
+ happyReduce_206,
+ happyReduce_207,
+ happyReduce_208,
+ happyReduce_209,
+ happyReduce_210,
+ happyReduce_211,
+ happyReduce_212,
+ happyReduce_213,
+ happyReduce_214,
+ happyReduce_215,
+ happyReduce_216,
+ happyReduce_217,
+ happyReduce_218,
+ happyReduce_219,
+ happyReduce_220,
+ happyReduce_221,
+ happyReduce_222,
+ happyReduce_223,
+ happyReduce_224,
+ happyReduce_225,
+ happyReduce_226,
+ happyReduce_227,
+ happyReduce_228,
+ happyReduce_229,
+ happyReduce_230,
+ happyReduce_231,
+ happyReduce_232,
+ happyReduce_233,
+ happyReduce_234,
+ happyReduce_235,
+ happyReduce_236,
+ happyReduce_237,
+ happyReduce_238,
+ happyReduce_239,
+ happyReduce_240,
+ happyReduce_241,
+ happyReduce_242,
+ happyReduce_243,
+ happyReduce_244,
+ happyReduce_245,
+ happyReduce_246,
+ happyReduce_247,
+ happyReduce_248,
+ happyReduce_249,
+ happyReduce_250,
+ happyReduce_251,
+ happyReduce_252,
+ happyReduce_253,
+ happyReduce_254,
+ happyReduce_255,
+ happyReduce_256,
+ happyReduce_257,
+ happyReduce_258,
+ happyReduce_259,
+ happyReduce_260,
+ happyReduce_261,
+ happyReduce_262,
+ happyReduce_263,
+ happyReduce_264,
+ happyReduce_265,
+ happyReduce_266,
+ happyReduce_267,
+ happyReduce_268,
+ happyReduce_269,
+ happyReduce_270,
+ happyReduce_271,
+ happyReduce_272,
+ happyReduce_273,
+ happyReduce_274,
+ happyReduce_275,
+ happyReduce_276,
+ happyReduce_277,
+ happyReduce_278,
+ happyReduce_279,
+ happyReduce_280,
+ happyReduce_281,
+ happyReduce_282,
+ happyReduce_283,
+ happyReduce_284,
+ happyReduce_285,
+ happyReduce_286,
+ happyReduce_287,
+ happyReduce_288,
+ happyReduce_289,
+ happyReduce_290,
+ happyReduce_291,
+ happyReduce_292,
+ happyReduce_293,
+ happyReduce_294,
+ happyReduce_295,
+ happyReduce_296,
+ happyReduce_297,
+ happyReduce_298,
+ happyReduce_299,
+ happyReduce_300,
+ happyReduce_301,
+ happyReduce_302,
+ happyReduce_303,
+ happyReduce_304,
+ happyReduce_305,
+ happyReduce_306,
+ happyReduce_307,
+ happyReduce_308,
+ happyReduce_309,
+ happyReduce_310,
+ happyReduce_311,
+ happyReduce_312,
+ happyReduce_313,
+ happyReduce_314,
+ happyReduce_315,
+ happyReduce_316,
+ happyReduce_317,
+ happyReduce_318,
+ happyReduce_319,
+ happyReduce_320,
+ happyReduce_321,
+ happyReduce_322,
+ happyReduce_323,
+ happyReduce_324,
+ happyReduce_325,
+ happyReduce_326,
+ happyReduce_327,
+ happyReduce_328,
+ happyReduce_329,
+ happyReduce_330,
+ happyReduce_331,
+ happyReduce_332,
+ happyReduce_333,
+ happyReduce_334,
+ happyReduce_335,
+ happyReduce_336,
+ happyReduce_337,
+ happyReduce_338,
+ happyReduce_339,
+ happyReduce_340,
+ happyReduce_341,
+ happyReduce_342,
+ happyReduce_343,
+ happyReduce_344,
+ happyReduce_345,
+ happyReduce_346,
+ happyReduce_347,
+ happyReduce_348,
+ happyReduce_349,
+ happyReduce_350,
+ happyReduce_351,
+ happyReduce_352,
+ happyReduce_353,
+ happyReduce_354,
+ happyReduce_355,
+ happyReduce_356,
+ happyReduce_357,
+ happyReduce_358,
+ happyReduce_359,
+ happyReduce_360,
+ happyReduce_361,
+ happyReduce_362,
+ happyReduce_363,
+ happyReduce_364,
+ happyReduce_365,
+ happyReduce_366,
+ happyReduce_367,
+ happyReduce_368,
+ happyReduce_369,
+ happyReduce_370,
+ happyReduce_371,
+ happyReduce_372,
+ happyReduce_373,
+ happyReduce_374,
+ happyReduce_375,
+ happyReduce_376,
+ happyReduce_377,
+ happyReduce_378,
+ happyReduce_379,
+ happyReduce_380,
+ happyReduce_381,
+ happyReduce_382,
+ happyReduce_383,
+ happyReduce_384,
+ happyReduce_385,
+ happyReduce_386,
+ happyReduce_387,
+ happyReduce_388,
+ happyReduce_389,
+ happyReduce_390,
+ happyReduce_391,
+ happyReduce_392,
+ happyReduce_393,
+ happyReduce_394,
+ happyReduce_395,
+ happyReduce_396,
+ happyReduce_397,
+ happyReduce_398,
+ happyReduce_399,
+ happyReduce_400,
+ happyReduce_401,
+ happyReduce_402,
+ happyReduce_403,
+ happyReduce_404,
+ happyReduce_405,
+ happyReduce_406,
+ happyReduce_407,
+ happyReduce_408,
+ happyReduce_409,
+ happyReduce_410,
+ happyReduce_411,
+ happyReduce_412,
+ happyReduce_413,
+ happyReduce_414,
+ happyReduce_415,
+ happyReduce_416,
+ happyReduce_417,
+ happyReduce_418,
+ happyReduce_419,
+ happyReduce_420,
+ happyReduce_421,
+ happyReduce_422,
+ happyReduce_423,
+ happyReduce_424,
+ happyReduce_425,
+ happyReduce_426,
+ happyReduce_427,
+ happyReduce_428,
+ happyReduce_429,
+ happyReduce_430,
+ happyReduce_431,
+ happyReduce_432,
+ happyReduce_433,
+ happyReduce_434,
+ happyReduce_435,
+ happyReduce_436,
+ happyReduce_437,
+ happyReduce_438,
+ happyReduce_439,
+ happyReduce_440,
+ happyReduce_441,
+ happyReduce_442,
+ happyReduce_443,
+ happyReduce_444,
+ happyReduce_445,
+ happyReduce_446,
+ happyReduce_447,
+ happyReduce_448,
+ happyReduce_449,
+ happyReduce_450,
+ happyReduce_451,
+ happyReduce_452,
+ happyReduce_453,
+ happyReduce_454,
+ happyReduce_455,
+ happyReduce_456,
+ happyReduce_457,
+ happyReduce_458,
+ happyReduce_459,
+ happyReduce_460,
+ happyReduce_461,
+ happyReduce_462,
+ happyReduce_463,
+ happyReduce_464,
+ happyReduce_465,
+ happyReduce_466,
+ happyReduce_467,
+ happyReduce_468,
+ happyReduce_469,
+ happyReduce_470,
+ happyReduce_471,
+ happyReduce_472,
+ happyReduce_473,
+ happyReduce_474,
+ happyReduce_475,
+ happyReduce_476,
+ happyReduce_477,
+ happyReduce_478,
+ happyReduce_479,
+ happyReduce_480,
+ happyReduce_481,
+ happyReduce_482,
+ happyReduce_483,
+ happyReduce_484,
+ happyReduce_485,
+ happyReduce_486,
+ happyReduce_487,
+ happyReduce_488,
+ happyReduce_489,
+ happyReduce_490,
+ happyReduce_491,
+ happyReduce_492,
+ happyReduce_493,
+ happyReduce_494,
+ happyReduce_495,
+ happyReduce_496,
+ happyReduce_497,
+ happyReduce_498,
+ happyReduce_499,
+ happyReduce_500,
+ happyReduce_501,
+ happyReduce_502,
+ happyReduce_503,
+ happyReduce_504,
+ happyReduce_505,
+ happyReduce_506,
+ happyReduce_507,
+ happyReduce_508,
+ happyReduce_509,
+ happyReduce_510,
+ happyReduce_511,
+ happyReduce_512,
+ happyReduce_513,
+ happyReduce_514,
+ happyReduce_515,
+ happyReduce_516,
+ happyReduce_517,
+ happyReduce_518,
+ happyReduce_519,
+ happyReduce_520,
+ happyReduce_521,
+ happyReduce_522,
+ happyReduce_523,
+ happyReduce_524,
+ happyReduce_525,
+ happyReduce_526,
+ happyReduce_527,
+ happyReduce_528,
+ happyReduce_529,
+ happyReduce_530,
+ happyReduce_531,
+ happyReduce_532,
+ happyReduce_533,
+ happyReduce_534,
+ happyReduce_535,
+ happyReduce_536,
+ happyReduce_537,
+ happyReduce_538,
+ happyReduce_539,
+ happyReduce_540,
+ happyReduce_541,
+ happyReduce_542,
+ happyReduce_543,
+ happyReduce_544,
+ happyReduce_545,
+ happyReduce_546,
+ happyReduce_547,
+ happyReduce_548,
+ happyReduce_549,
+ happyReduce_550,
+ happyReduce_551,
+ happyReduce_552,
+ happyReduce_553,
+ happyReduce_554,
+ happyReduce_555,
+ happyReduce_556,
+ happyReduce_557,
+ happyReduce_558,
+ happyReduce_559,
+ happyReduce_560,
+ happyReduce_561,
+ happyReduce_562,
+ happyReduce_563,
+ happyReduce_564,
+ happyReduce_565,
+ happyReduce_566,
+ happyReduce_567,
+ happyReduce_568,
+ happyReduce_569,
+ happyReduce_570,
+ happyReduce_571,
+ happyReduce_572,
+ happyReduce_573,
+ happyReduce_574,
+ happyReduce_575,
+ happyReduce_576,
+ happyReduce_577,
+ happyReduce_578,
+ happyReduce_579,
+ happyReduce_580,
+ happyReduce_581,
+ happyReduce_582,
+ happyReduce_583,
+ happyReduce_584,
+ happyReduce_585,
+ happyReduce_586,
+ happyReduce_587,
+ happyReduce_588,
+ happyReduce_589,
+ happyReduce_590,
+ happyReduce_591,
+ happyReduce_592,
+ happyReduce_593,
+ happyReduce_594,
+ happyReduce_595,
+ happyReduce_596,
+ happyReduce_597,
+ happyReduce_598,
+ happyReduce_599,
+ happyReduce_600,
+ happyReduce_601,
+ happyReduce_602,
+ happyReduce_603,
+ happyReduce_604,
+ happyReduce_605,
+ happyReduce_606,
+ happyReduce_607,
+ happyReduce_608,
+ happyReduce_609,
+ happyReduce_610,
+ happyReduce_611,
+ happyReduce_612,
+ happyReduce_613,
+ happyReduce_614,
+ happyReduce_615,
+ happyReduce_616,
+ happyReduce_617,
+ happyReduce_618,
+ happyReduce_619,
+ happyReduce_620,
+ happyReduce_621,
+ happyReduce_622,
+ happyReduce_623,
+ happyReduce_624,
+ happyReduce_625,
+ happyReduce_626,
+ happyReduce_627,
+ happyReduce_628,
+ happyReduce_629,
+ happyReduce_630,
+ happyReduce_631,
+ happyReduce_632,
+ happyReduce_633,
+ happyReduce_634,
+ happyReduce_635,
+ happyReduce_636,
+ happyReduce_637,
+ happyReduce_638,
+ happyReduce_639,
+ happyReduce_640,
+ happyReduce_641,
+ happyReduce_642,
+ happyReduce_643,
+ happyReduce_644,
+ happyReduce_645,
+ happyReduce_646,
+ happyReduce_647,
+ happyReduce_648,
+ happyReduce_649,
+ happyReduce_650,
+ happyReduce_651,
+ happyReduce_652,
+ happyReduce_653,
+ happyReduce_654,
+ happyReduce_655,
+ happyReduce_656,
+ happyReduce_657,
+ happyReduce_658,
+ happyReduce_659,
+ happyReduce_660,
+ happyReduce_661,
+ happyReduce_662,
+ happyReduce_663,
+ happyReduce_664,
+ happyReduce_665,
+ happyReduce_666,
+ happyReduce_667,
+ happyReduce_668,
+ happyReduce_669,
+ happyReduce_670,
+ happyReduce_671,
+ happyReduce_672,
+ happyReduce_673,
+ happyReduce_674,
+ happyReduce_675,
+ happyReduce_676,
+ happyReduce_677,
+ happyReduce_678,
+ happyReduce_679,
+ happyReduce_680,
+ happyReduce_681,
+ happyReduce_682,
+ happyReduce_683,
+ happyReduce_684,
+ happyReduce_685,
+ happyReduce_686,
+ happyReduce_687,
+ happyReduce_688,
+ happyReduce_689,
+ happyReduce_690,
+ happyReduce_691,
+ happyReduce_692,
+ happyReduce_693,
+ happyReduce_694,
+ happyReduce_695,
+ happyReduce_696,
+ happyReduce_697,
+ happyReduce_698,
+ happyReduce_699,
+ happyReduce_700,
+ happyReduce_701,
+ happyReduce_702,
+ happyReduce_703,
+ happyReduce_704,
+ happyReduce_705,
+ happyReduce_706,
+ happyReduce_707,
+ happyReduce_708,
+ happyReduce_709,
+ happyReduce_710,
+ happyReduce_711,
+ happyReduce_712,
+ happyReduce_713,
+ happyReduce_714,
+ happyReduce_715,
+ happyReduce_716,
+ happyReduce_717,
+ happyReduce_718,
+ happyReduce_719,
+ happyReduce_720,
+ happyReduce_721,
+ happyReduce_722,
+ happyReduce_723,
+ happyReduce_724,
+ happyReduce_725,
+ happyReduce_726,
+ happyReduce_727,
+ happyReduce_728,
+ happyReduce_729,
+ happyReduce_730,
+ happyReduce_731,
+ happyReduce_732,
+ happyReduce_733,
+ happyReduce_734,
+ happyReduce_735,
+ happyReduce_736,
+ happyReduce_737,
+ happyReduce_738,
+ happyReduce_739,
+ happyReduce_740,
+ happyReduce_741,
+ happyReduce_742,
+ happyReduce_743,
+ happyReduce_744,
+ happyReduce_745,
+ happyReduce_746,
+ happyReduce_747,
+ happyReduce_748,
+ happyReduce_749,
+ happyReduce_750,
+ happyReduce_751 :: () => ({-HappyReduction (P) = -}
+	   Int 
+	-> (Loc Token)
+	-> HappyState (Loc Token) (HappyStk HappyAbsSyn -> (P) HappyAbsSyn)
+	-> [HappyState (Loc Token) (HappyStk HappyAbsSyn -> (P) HappyAbsSyn)] 
+	-> HappyStk HappyAbsSyn 
+	-> (P) HappyAbsSyn)
+
+action_0 (16) = happyGoto action_162
+action_0 (18) = happyGoto action_163
+action_0 (258) = happyGoto action_13
+action_0 _ = happyReduce_714
+
+action_1 (278) = happyShift action_49
+action_1 (279) = happyShift action_50
+action_1 (280) = happyShift action_51
+action_1 (281) = happyShift action_52
+action_1 (282) = happyShift action_53
+action_1 (283) = happyShift action_54
+action_1 (289) = happyShift action_55
+action_1 (290) = happyShift action_56
+action_1 (291) = happyShift action_57
+action_1 (292) = happyShift action_58
+action_1 (293) = happyShift action_59
+action_1 (294) = happyShift action_60
+action_1 (295) = happyShift action_61
+action_1 (296) = happyShift action_62
+action_1 (297) = happyShift action_63
+action_1 (298) = happyShift action_64
+action_1 (299) = happyShift action_65
+action_1 (301) = happyShift action_66
+action_1 (307) = happyShift action_67
+action_1 (309) = happyShift action_68
+action_1 (312) = happyShift action_69
+action_1 (319) = happyShift action_70
+action_1 (324) = happyShift action_71
+action_1 (325) = happyShift action_72
+action_1 (327) = happyShift action_73
+action_1 (334) = happyShift action_75
+action_1 (337) = happyShift action_76
+action_1 (338) = happyShift action_77
+action_1 (339) = happyShift action_78
+action_1 (340) = happyShift action_79
+action_1 (341) = happyShift action_80
+action_1 (342) = happyShift action_81
+action_1 (344) = happyShift action_82
+action_1 (345) = happyShift action_83
+action_1 (346) = happyShift action_84
+action_1 (348) = happyShift action_85
+action_1 (350) = happyShift action_86
+action_1 (351) = happyShift action_87
+action_1 (358) = happyShift action_88
+action_1 (359) = happyShift action_89
+action_1 (360) = happyShift action_90
+action_1 (361) = happyShift action_91
+action_1 (362) = happyShift action_92
+action_1 (363) = happyShift action_93
+action_1 (364) = happyShift action_94
+action_1 (365) = happyShift action_95
+action_1 (366) = happyShift action_96
+action_1 (367) = happyShift action_97
+action_1 (368) = happyShift action_98
+action_1 (369) = happyShift action_99
+action_1 (370) = happyShift action_100
+action_1 (371) = happyShift action_101
+action_1 (373) = happyShift action_102
+action_1 (378) = happyShift action_103
+action_1 (380) = happyShift action_104
+action_1 (381) = happyShift action_105
+action_1 (383) = happyShift action_106
+action_1 (384) = happyShift action_107
+action_1 (391) = happyShift action_159
+action_1 (392) = happyShift action_109
+action_1 (396) = happyShift action_110
+action_1 (402) = happyShift action_112
+action_1 (403) = happyShift action_113
+action_1 (411) = happyShift action_114
+action_1 (412) = happyShift action_115
+action_1 (413) = happyShift action_116
+action_1 (168) = happyGoto action_160
+action_1 (169) = happyGoto action_161
+action_1 (170) = happyGoto action_25
+action_1 (171) = happyGoto action_26
+action_1 (172) = happyGoto action_27
+action_1 (173) = happyGoto action_28
+action_1 (176) = happyGoto action_29
+action_1 (177) = happyGoto action_30
+action_1 (178) = happyGoto action_31
+action_1 (181) = happyGoto action_32
+action_1 (182) = happyGoto action_33
+action_1 (183) = happyGoto action_34
+action_1 (190) = happyGoto action_35
+action_1 (228) = happyGoto action_38
+action_1 (231) = happyGoto action_39
+action_1 (232) = happyGoto action_40
+action_1 (234) = happyGoto action_41
+action_1 (244) = happyGoto action_42
+action_1 (245) = happyGoto action_43
+action_1 (246) = happyGoto action_44
+action_1 (247) = happyGoto action_45
+action_1 (248) = happyGoto action_46
+action_1 (249) = happyGoto action_47
+action_1 (257) = happyGoto action_48
+action_1 _ = happyFail
+
+action_2 (278) = happyShift action_49
+action_2 (279) = happyShift action_50
+action_2 (280) = happyShift action_51
+action_2 (281) = happyShift action_52
+action_2 (282) = happyShift action_53
+action_2 (283) = happyShift action_54
+action_2 (289) = happyShift action_55
+action_2 (290) = happyShift action_56
+action_2 (291) = happyShift action_57
+action_2 (292) = happyShift action_58
+action_2 (293) = happyShift action_59
+action_2 (294) = happyShift action_60
+action_2 (295) = happyShift action_61
+action_2 (296) = happyShift action_62
+action_2 (297) = happyShift action_63
+action_2 (298) = happyShift action_64
+action_2 (299) = happyShift action_65
+action_2 (301) = happyShift action_66
+action_2 (307) = happyShift action_67
+action_2 (309) = happyShift action_68
+action_2 (312) = happyShift action_69
+action_2 (319) = happyShift action_70
+action_2 (324) = happyShift action_71
+action_2 (325) = happyShift action_72
+action_2 (327) = happyShift action_73
+action_2 (328) = happyShift action_74
+action_2 (334) = happyShift action_75
+action_2 (337) = happyShift action_76
+action_2 (338) = happyShift action_77
+action_2 (339) = happyShift action_78
+action_2 (340) = happyShift action_79
+action_2 (341) = happyShift action_80
+action_2 (342) = happyShift action_81
+action_2 (344) = happyShift action_82
+action_2 (345) = happyShift action_83
+action_2 (346) = happyShift action_84
+action_2 (348) = happyShift action_85
+action_2 (350) = happyShift action_86
+action_2 (351) = happyShift action_87
+action_2 (358) = happyShift action_88
+action_2 (359) = happyShift action_89
+action_2 (360) = happyShift action_90
+action_2 (361) = happyShift action_91
+action_2 (362) = happyShift action_92
+action_2 (363) = happyShift action_93
+action_2 (364) = happyShift action_94
+action_2 (365) = happyShift action_95
+action_2 (366) = happyShift action_96
+action_2 (367) = happyShift action_97
+action_2 (368) = happyShift action_98
+action_2 (369) = happyShift action_99
+action_2 (370) = happyShift action_100
+action_2 (371) = happyShift action_101
+action_2 (373) = happyShift action_102
+action_2 (378) = happyShift action_103
+action_2 (380) = happyShift action_104
+action_2 (381) = happyShift action_105
+action_2 (383) = happyShift action_106
+action_2 (384) = happyShift action_107
+action_2 (391) = happyShift action_159
+action_2 (392) = happyShift action_109
+action_2 (396) = happyShift action_110
+action_2 (402) = happyShift action_112
+action_2 (403) = happyShift action_113
+action_2 (411) = happyShift action_114
+action_2 (412) = happyShift action_115
+action_2 (413) = happyShift action_116
+action_2 (169) = happyGoto action_157
+action_2 (170) = happyGoto action_25
+action_2 (171) = happyGoto action_26
+action_2 (172) = happyGoto action_27
+action_2 (173) = happyGoto action_28
+action_2 (176) = happyGoto action_29
+action_2 (177) = happyGoto action_30
+action_2 (178) = happyGoto action_31
+action_2 (181) = happyGoto action_32
+action_2 (182) = happyGoto action_33
+action_2 (183) = happyGoto action_34
+action_2 (190) = happyGoto action_35
+action_2 (215) = happyGoto action_158
+action_2 (228) = happyGoto action_38
+action_2 (231) = happyGoto action_39
+action_2 (232) = happyGoto action_40
+action_2 (234) = happyGoto action_41
+action_2 (244) = happyGoto action_42
+action_2 (245) = happyGoto action_43
+action_2 (246) = happyGoto action_44
+action_2 (247) = happyGoto action_45
+action_2 (248) = happyGoto action_46
+action_2 (249) = happyGoto action_47
+action_2 (257) = happyGoto action_48
+action_2 _ = happyFail
+
+action_3 (304) = happyShift action_156
+action_3 (25) = happyGoto action_154
+action_3 (258) = happyGoto action_155
+action_3 _ = happyReduce_714
+
+action_4 (278) = happyShift action_49
+action_4 (280) = happyShift action_51
+action_4 (281) = happyShift action_52
+action_4 (282) = happyShift action_53
+action_4 (283) = happyShift action_54
+action_4 (289) = happyShift action_135
+action_4 (292) = happyShift action_136
+action_4 (299) = happyShift action_137
+action_4 (301) = happyShift action_138
+action_4 (307) = happyShift action_139
+action_4 (309) = happyShift action_140
+action_4 (312) = happyShift action_141
+action_4 (325) = happyShift action_142
+action_4 (328) = happyShift action_143
+action_4 (337) = happyShift action_144
+action_4 (338) = happyShift action_145
+action_4 (344) = happyShift action_146
+action_4 (346) = happyShift action_147
+action_4 (358) = happyShift action_88
+action_4 (359) = happyShift action_148
+action_4 (360) = happyShift action_149
+action_4 (361) = happyShift action_150
+action_4 (363) = happyShift action_93
+action_4 (364) = happyShift action_94
+action_4 (365) = happyShift action_95
+action_4 (366) = happyShift action_96
+action_4 (367) = happyShift action_97
+action_4 (368) = happyShift action_98
+action_4 (369) = happyShift action_99
+action_4 (370) = happyShift action_100
+action_4 (371) = happyShift action_101
+action_4 (381) = happyShift action_151
+action_4 (383) = happyShift action_106
+action_4 (402) = happyShift action_112
+action_4 (416) = happyShift action_152
+action_4 (417) = happyShift action_153
+action_4 (103) = happyGoto action_117
+action_4 (105) = happyGoto action_118
+action_4 (108) = happyGoto action_119
+action_4 (109) = happyGoto action_120
+action_4 (110) = happyGoto action_121
+action_4 (111) = happyGoto action_122
+action_4 (112) = happyGoto action_123
+action_4 (113) = happyGoto action_124
+action_4 (114) = happyGoto action_125
+action_4 (115) = happyGoto action_126
+action_4 (117) = happyGoto action_127
+action_4 (118) = happyGoto action_128
+action_4 (119) = happyGoto action_129
+action_4 (232) = happyGoto action_130
+action_4 (245) = happyGoto action_131
+action_4 (247) = happyGoto action_45
+action_4 (248) = happyGoto action_132
+action_4 (249) = happyGoto action_47
+action_4 (270) = happyGoto action_133
+action_4 (271) = happyGoto action_134
+action_4 _ = happyFail
+
+action_5 (278) = happyShift action_49
+action_5 (279) = happyShift action_50
+action_5 (280) = happyShift action_51
+action_5 (281) = happyShift action_52
+action_5 (282) = happyShift action_53
+action_5 (283) = happyShift action_54
+action_5 (289) = happyShift action_55
+action_5 (290) = happyShift action_56
+action_5 (291) = happyShift action_57
+action_5 (292) = happyShift action_58
+action_5 (293) = happyShift action_59
+action_5 (294) = happyShift action_60
+action_5 (295) = happyShift action_61
+action_5 (296) = happyShift action_62
+action_5 (297) = happyShift action_63
+action_5 (298) = happyShift action_64
+action_5 (299) = happyShift action_65
+action_5 (301) = happyShift action_66
+action_5 (307) = happyShift action_67
+action_5 (309) = happyShift action_68
+action_5 (312) = happyShift action_69
+action_5 (319) = happyShift action_70
+action_5 (324) = happyShift action_71
+action_5 (325) = happyShift action_72
+action_5 (327) = happyShift action_73
+action_5 (328) = happyShift action_74
+action_5 (334) = happyShift action_75
+action_5 (337) = happyShift action_76
+action_5 (338) = happyShift action_77
+action_5 (339) = happyShift action_78
+action_5 (340) = happyShift action_79
+action_5 (341) = happyShift action_80
+action_5 (342) = happyShift action_81
+action_5 (344) = happyShift action_82
+action_5 (345) = happyShift action_83
+action_5 (346) = happyShift action_84
+action_5 (348) = happyShift action_85
+action_5 (350) = happyShift action_86
+action_5 (351) = happyShift action_87
+action_5 (358) = happyShift action_88
+action_5 (359) = happyShift action_89
+action_5 (360) = happyShift action_90
+action_5 (361) = happyShift action_91
+action_5 (362) = happyShift action_92
+action_5 (363) = happyShift action_93
+action_5 (364) = happyShift action_94
+action_5 (365) = happyShift action_95
+action_5 (366) = happyShift action_96
+action_5 (367) = happyShift action_97
+action_5 (368) = happyShift action_98
+action_5 (369) = happyShift action_99
+action_5 (370) = happyShift action_100
+action_5 (371) = happyShift action_101
+action_5 (373) = happyShift action_102
+action_5 (378) = happyShift action_103
+action_5 (380) = happyShift action_104
+action_5 (381) = happyShift action_105
+action_5 (383) = happyShift action_106
+action_5 (384) = happyShift action_107
+action_5 (391) = happyShift action_108
+action_5 (392) = happyShift action_109
+action_5 (396) = happyShift action_110
+action_5 (397) = happyShift action_111
+action_5 (402) = happyShift action_112
+action_5 (403) = happyShift action_113
+action_5 (411) = happyShift action_114
+action_5 (412) = happyShift action_115
+action_5 (413) = happyShift action_116
+action_5 (168) = happyGoto action_23
+action_5 (169) = happyGoto action_24
+action_5 (170) = happyGoto action_25
+action_5 (171) = happyGoto action_26
+action_5 (172) = happyGoto action_27
+action_5 (173) = happyGoto action_28
+action_5 (176) = happyGoto action_29
+action_5 (177) = happyGoto action_30
+action_5 (178) = happyGoto action_31
+action_5 (181) = happyGoto action_32
+action_5 (182) = happyGoto action_33
+action_5 (183) = happyGoto action_34
+action_5 (190) = happyGoto action_35
+action_5 (215) = happyGoto action_36
+action_5 (222) = happyGoto action_37
+action_5 (228) = happyGoto action_38
+action_5 (231) = happyGoto action_39
+action_5 (232) = happyGoto action_40
+action_5 (234) = happyGoto action_41
+action_5 (244) = happyGoto action_42
+action_5 (245) = happyGoto action_43
+action_5 (246) = happyGoto action_44
+action_5 (247) = happyGoto action_45
+action_5 (248) = happyGoto action_46
+action_5 (249) = happyGoto action_47
+action_5 (257) = happyGoto action_48
+action_5 _ = happyFail
+
+action_6 (385) = happyShift action_22
+action_6 (36) = happyGoto action_21
+action_6 _ = happyFail
+
+action_7 (18) = happyGoto action_20
+action_7 (258) = happyGoto action_13
+action_7 _ = happyReduce_714
+
+action_8 (18) = happyGoto action_18
+action_8 (258) = happyGoto action_13
+action_8 (277) = happyGoto action_19
+action_8 _ = happyReduce_714
+
+action_9 (18) = happyGoto action_16
+action_9 (258) = happyGoto action_13
+action_9 (276) = happyGoto action_17
+action_9 _ = happyReduce_714
+
+action_10 (18) = happyGoto action_14
+action_10 (258) = happyGoto action_13
+action_10 (275) = happyGoto action_15
+action_10 _ = happyReduce_714
+
+action_11 (18) = happyGoto action_12
+action_11 (258) = happyGoto action_13
+action_11 _ = happyFail
+
+action_12 (393) = happyShift action_169
+action_12 (15) = happyGoto action_383
+action_12 (22) = happyGoto action_384
+action_12 (23) = happyGoto action_166
+action_12 _ = happyFail
+
+action_13 (418) = happyShift action_380
+action_13 (419) = happyShift action_381
+action_13 (420) = happyShift action_382
+action_13 (19) = happyGoto action_378
+action_13 (20) = happyGoto action_379
+action_13 _ = happyReduce_21
+
+action_14 (393) = happyShift action_377
+action_14 _ = happyReduce_748
+
+action_15 (1) = happyAccept
+action_15 _ = happyFail
+
+action_16 (393) = happyShift action_169
+action_16 (23) = happyGoto action_376
+action_16 _ = happyReduce_29
+
+action_17 (1) = happyAccept
+action_17 _ = happyFail
+
+action_18 (393) = happyShift action_169
+action_18 (23) = happyGoto action_375
+action_18 _ = happyReduce_29
+
+action_19 (1) = happyAccept
+action_19 _ = happyFail
+
+action_20 (1) = happyAccept
+action_20 _ = happyFail
+
+action_21 (426) = happyAccept
+action_21 _ = happyFail
+
+action_22 (409) = happyShift action_374
+action_22 (37) = happyGoto action_373
+action_22 _ = happyReduce_64
+
+action_23 _ = happyReduce_616
+
+action_24 (321) = happyReduce_600
+action_24 _ = happyReduce_400
+
+action_25 _ = happyReduce_402
+
+action_26 _ = happyReduce_408
+
+action_27 (285) = happyShift action_211
+action_27 (286) = happyShift action_186
+action_27 (287) = happyShift action_212
+action_27 (288) = happyShift action_187
+action_27 (313) = happyShift action_367
+action_27 (314) = happyShift action_214
+action_27 (316) = happyShift action_190
+action_27 (317) = happyShift action_368
+action_27 (327) = happyShift action_216
+action_27 (328) = happyShift action_340
+action_27 (329) = happyShift action_218
+action_27 (330) = happyShift action_369
+action_27 (331) = happyShift action_370
+action_27 (332) = happyShift action_371
+action_27 (333) = happyShift action_372
+action_27 (236) = happyGoto action_363
+action_27 (239) = happyGoto action_364
+action_27 (241) = happyGoto action_365
+action_27 (243) = happyGoto action_226
+action_27 (250) = happyGoto action_183
+action_27 (251) = happyGoto action_184
+action_27 (252) = happyGoto action_366
+action_27 (254) = happyGoto action_208
+action_27 (255) = happyGoto action_209
+action_27 (256) = happyGoto action_210
+action_27 _ = happyReduce_409
+
+action_28 _ = happyReduce_411
+
+action_29 _ = happyReduce_413
+
+action_30 _ = happyReduce_419
+
+action_31 (278) = happyShift action_49
+action_31 (279) = happyShift action_50
+action_31 (280) = happyShift action_51
+action_31 (281) = happyShift action_52
+action_31 (282) = happyShift action_53
+action_31 (283) = happyShift action_54
+action_31 (289) = happyShift action_55
+action_31 (290) = happyShift action_56
+action_31 (291) = happyShift action_57
+action_31 (292) = happyShift action_58
+action_31 (293) = happyShift action_59
+action_31 (294) = happyShift action_60
+action_31 (295) = happyShift action_61
+action_31 (296) = happyShift action_62
+action_31 (297) = happyShift action_63
+action_31 (298) = happyShift action_64
+action_31 (299) = happyShift action_65
+action_31 (301) = happyShift action_66
+action_31 (307) = happyShift action_67
+action_31 (309) = happyShift action_68
+action_31 (312) = happyShift action_69
+action_31 (324) = happyShift action_71
+action_31 (325) = happyShift action_72
+action_31 (334) = happyShift action_75
+action_31 (337) = happyShift action_76
+action_31 (338) = happyShift action_77
+action_31 (339) = happyShift action_78
+action_31 (340) = happyShift action_79
+action_31 (341) = happyShift action_80
+action_31 (342) = happyShift action_81
+action_31 (344) = happyShift action_82
+action_31 (345) = happyShift action_83
+action_31 (346) = happyShift action_84
+action_31 (348) = happyShift action_85
+action_31 (350) = happyShift action_86
+action_31 (351) = happyShift action_87
+action_31 (358) = happyShift action_88
+action_31 (359) = happyShift action_89
+action_31 (360) = happyShift action_90
+action_31 (361) = happyShift action_91
+action_31 (362) = happyShift action_92
+action_31 (363) = happyShift action_93
+action_31 (364) = happyShift action_94
+action_31 (365) = happyShift action_95
+action_31 (366) = happyShift action_96
+action_31 (367) = happyShift action_97
+action_31 (368) = happyShift action_98
+action_31 (369) = happyShift action_99
+action_31 (370) = happyShift action_100
+action_31 (371) = happyShift action_101
+action_31 (380) = happyShift action_104
+action_31 (381) = happyShift action_105
+action_31 (383) = happyShift action_106
+action_31 (402) = happyShift action_112
+action_31 (403) = happyShift action_113
+action_31 (181) = happyGoto action_362
+action_31 (182) = happyGoto action_33
+action_31 (183) = happyGoto action_34
+action_31 (190) = happyGoto action_35
+action_31 (228) = happyGoto action_38
+action_31 (231) = happyGoto action_39
+action_31 (232) = happyGoto action_40
+action_31 (234) = happyGoto action_41
+action_31 (244) = happyGoto action_42
+action_31 (245) = happyGoto action_43
+action_31 (246) = happyGoto action_44
+action_31 (247) = happyGoto action_45
+action_31 (248) = happyGoto action_46
+action_31 (249) = happyGoto action_47
+action_31 (257) = happyGoto action_48
+action_31 _ = happyReduce_429
+
+action_32 _ = happyReduce_434
+
+action_33 (304) = happyShift action_361
+action_33 _ = happyReduce_443
+
+action_34 _ = happyReduce_446
+
+action_35 _ = happyReduce_465
+
+action_36 (321) = happyShift action_360
+action_36 _ = happyFail
+
+action_37 (426) = happyAccept
+action_37 _ = happyFail
+
+action_38 _ = happyReduce_449
+
+action_39 (323) = happyShift action_358
+action_39 (336) = happyShift action_359
+action_39 _ = happyReduce_448
+
+action_40 _ = happyReduce_447
+
+action_41 _ = happyReduce_632
+
+action_42 _ = happyReduce_637
+
+action_43 _ = happyReduce_677
+
+action_44 _ = happyReduce_662
+
+action_45 _ = happyReduce_639
+
+action_46 _ = happyReduce_642
+
+action_47 _ = happyReduce_687
+
+action_48 _ = happyReduce_450
+
+action_49 _ = happyReduce_664
+
+action_50 _ = happyReduce_663
+
+action_51 _ = happyReduce_685
+
+action_52 _ = happyReduce_686
+
+action_53 _ = happyReduce_689
+
+action_54 _ = happyReduce_688
+
+action_55 _ = happyReduce_704
+
+action_56 _ = happyReduce_706
+
+action_57 _ = happyReduce_705
+
+action_58 _ = happyReduce_707
+
+action_59 _ = happyReduce_708
+
+action_60 _ = happyReduce_709
+
+action_61 _ = happyReduce_710
+
+action_62 _ = happyReduce_711
+
+action_63 _ = happyReduce_712
+
+action_64 _ = happyReduce_713
+
+action_65 (278) = happyShift action_49
+action_65 (279) = happyShift action_50
+action_65 (280) = happyShift action_51
+action_65 (281) = happyShift action_52
+action_65 (282) = happyShift action_53
+action_65 (283) = happyShift action_54
+action_65 (285) = happyShift action_211
+action_65 (286) = happyShift action_186
+action_65 (287) = happyShift action_212
+action_65 (288) = happyShift action_187
+action_65 (289) = happyShift action_55
+action_65 (290) = happyShift action_56
+action_65 (291) = happyShift action_57
+action_65 (292) = happyShift action_58
+action_65 (293) = happyShift action_59
+action_65 (294) = happyShift action_60
+action_65 (295) = happyShift action_61
+action_65 (296) = happyShift action_62
+action_65 (297) = happyShift action_63
+action_65 (298) = happyShift action_64
+action_65 (299) = happyShift action_65
+action_65 (300) = happyShift action_356
+action_65 (301) = happyShift action_66
+action_65 (307) = happyShift action_67
+action_65 (309) = happyShift action_68
+action_65 (311) = happyShift action_202
+action_65 (312) = happyShift action_69
+action_65 (313) = happyShift action_339
+action_65 (314) = happyShift action_214
+action_65 (316) = happyShift action_190
+action_65 (319) = happyShift action_70
+action_65 (324) = happyShift action_71
+action_65 (325) = happyShift action_72
+action_65 (327) = happyShift action_357
+action_65 (328) = happyShift action_340
+action_65 (329) = happyShift action_218
+action_65 (334) = happyShift action_75
+action_65 (337) = happyShift action_76
+action_65 (338) = happyShift action_77
+action_65 (339) = happyShift action_78
+action_65 (340) = happyShift action_79
+action_65 (341) = happyShift action_80
+action_65 (342) = happyShift action_81
+action_65 (344) = happyShift action_82
+action_65 (345) = happyShift action_83
+action_65 (346) = happyShift action_84
+action_65 (348) = happyShift action_85
+action_65 (350) = happyShift action_86
+action_65 (351) = happyShift action_87
+action_65 (358) = happyShift action_88
+action_65 (359) = happyShift action_89
+action_65 (360) = happyShift action_90
+action_65 (361) = happyShift action_91
+action_65 (362) = happyShift action_92
+action_65 (363) = happyShift action_93
+action_65 (364) = happyShift action_94
+action_65 (365) = happyShift action_95
+action_65 (366) = happyShift action_96
+action_65 (367) = happyShift action_97
+action_65 (368) = happyShift action_98
+action_65 (369) = happyShift action_99
+action_65 (370) = happyShift action_100
+action_65 (371) = happyShift action_101
+action_65 (373) = happyShift action_102
+action_65 (378) = happyShift action_103
+action_65 (380) = happyShift action_104
+action_65 (381) = happyShift action_105
+action_65 (383) = happyShift action_106
+action_65 (384) = happyShift action_107
+action_65 (391) = happyShift action_159
+action_65 (392) = happyShift action_109
+action_65 (396) = happyShift action_110
+action_65 (402) = happyShift action_112
+action_65 (403) = happyShift action_113
+action_65 (411) = happyShift action_114
+action_65 (412) = happyShift action_115
+action_65 (413) = happyShift action_116
+action_65 (169) = happyGoto action_348
+action_65 (170) = happyGoto action_25
+action_65 (171) = happyGoto action_26
+action_65 (172) = happyGoto action_27
+action_65 (173) = happyGoto action_28
+action_65 (176) = happyGoto action_29
+action_65 (177) = happyGoto action_30
+action_65 (178) = happyGoto action_31
+action_65 (181) = happyGoto action_32
+action_65 (182) = happyGoto action_33
+action_65 (183) = happyGoto action_34
+action_65 (184) = happyGoto action_349
+action_65 (185) = happyGoto action_350
+action_65 (189) = happyGoto action_351
+action_65 (190) = happyGoto action_35
+action_65 (228) = happyGoto action_38
+action_65 (231) = happyGoto action_39
+action_65 (232) = happyGoto action_40
+action_65 (234) = happyGoto action_41
+action_65 (237) = happyGoto action_333
+action_65 (239) = happyGoto action_334
+action_65 (242) = happyGoto action_335
+action_65 (243) = happyGoto action_352
+action_65 (244) = happyGoto action_42
+action_65 (245) = happyGoto action_43
+action_65 (246) = happyGoto action_44
+action_65 (247) = happyGoto action_45
+action_65 (248) = happyGoto action_46
+action_65 (249) = happyGoto action_47
+action_65 (250) = happyGoto action_183
+action_65 (251) = happyGoto action_184
+action_65 (252) = happyGoto action_353
+action_65 (253) = happyGoto action_336
+action_65 (254) = happyGoto action_208
+action_65 (255) = happyGoto action_354
+action_65 (256) = happyGoto action_355
+action_65 (257) = happyGoto action_48
+action_65 _ = happyFail
+
+action_66 (278) = happyShift action_49
+action_66 (279) = happyShift action_50
+action_66 (280) = happyShift action_51
+action_66 (281) = happyShift action_52
+action_66 (282) = happyShift action_53
+action_66 (283) = happyShift action_54
+action_66 (285) = happyShift action_211
+action_66 (286) = happyShift action_186
+action_66 (287) = happyShift action_212
+action_66 (288) = happyShift action_187
+action_66 (289) = happyShift action_55
+action_66 (290) = happyShift action_56
+action_66 (291) = happyShift action_57
+action_66 (292) = happyShift action_58
+action_66 (293) = happyShift action_59
+action_66 (294) = happyShift action_60
+action_66 (295) = happyShift action_61
+action_66 (296) = happyShift action_62
+action_66 (297) = happyShift action_63
+action_66 (298) = happyShift action_64
+action_66 (299) = happyShift action_65
+action_66 (301) = happyShift action_66
+action_66 (302) = happyShift action_347
+action_66 (307) = happyShift action_67
+action_66 (309) = happyShift action_68
+action_66 (311) = happyShift action_202
+action_66 (312) = happyShift action_69
+action_66 (313) = happyShift action_339
+action_66 (314) = happyShift action_214
+action_66 (316) = happyShift action_190
+action_66 (319) = happyShift action_70
+action_66 (324) = happyShift action_71
+action_66 (325) = happyShift action_72
+action_66 (327) = happyShift action_73
+action_66 (328) = happyShift action_340
+action_66 (329) = happyShift action_218
+action_66 (334) = happyShift action_75
+action_66 (337) = happyShift action_76
+action_66 (338) = happyShift action_77
+action_66 (339) = happyShift action_78
+action_66 (340) = happyShift action_79
+action_66 (341) = happyShift action_80
+action_66 (342) = happyShift action_81
+action_66 (344) = happyShift action_82
+action_66 (345) = happyShift action_83
+action_66 (346) = happyShift action_84
+action_66 (348) = happyShift action_85
+action_66 (350) = happyShift action_86
+action_66 (351) = happyShift action_87
+action_66 (358) = happyShift action_88
+action_66 (359) = happyShift action_89
+action_66 (360) = happyShift action_90
+action_66 (361) = happyShift action_91
+action_66 (362) = happyShift action_92
+action_66 (363) = happyShift action_93
+action_66 (364) = happyShift action_94
+action_66 (365) = happyShift action_95
+action_66 (366) = happyShift action_96
+action_66 (367) = happyShift action_97
+action_66 (368) = happyShift action_98
+action_66 (369) = happyShift action_99
+action_66 (370) = happyShift action_100
+action_66 (371) = happyShift action_101
+action_66 (373) = happyShift action_102
+action_66 (378) = happyShift action_103
+action_66 (380) = happyShift action_104
+action_66 (381) = happyShift action_105
+action_66 (383) = happyShift action_106
+action_66 (384) = happyShift action_107
+action_66 (391) = happyShift action_159
+action_66 (392) = happyShift action_109
+action_66 (396) = happyShift action_110
+action_66 (402) = happyShift action_112
+action_66 (403) = happyShift action_113
+action_66 (411) = happyShift action_114
+action_66 (412) = happyShift action_115
+action_66 (413) = happyShift action_116
+action_66 (169) = happyGoto action_329
+action_66 (170) = happyGoto action_25
+action_66 (171) = happyGoto action_26
+action_66 (172) = happyGoto action_27
+action_66 (173) = happyGoto action_28
+action_66 (176) = happyGoto action_29
+action_66 (177) = happyGoto action_30
+action_66 (178) = happyGoto action_31
+action_66 (181) = happyGoto action_32
+action_66 (182) = happyGoto action_33
+action_66 (183) = happyGoto action_34
+action_66 (184) = happyGoto action_345
+action_66 (185) = happyGoto action_346
+action_66 (190) = happyGoto action_35
+action_66 (228) = happyGoto action_38
+action_66 (231) = happyGoto action_39
+action_66 (232) = happyGoto action_40
+action_66 (234) = happyGoto action_41
+action_66 (237) = happyGoto action_333
+action_66 (239) = happyGoto action_334
+action_66 (242) = happyGoto action_335
+action_66 (243) = happyGoto action_226
+action_66 (244) = happyGoto action_42
+action_66 (245) = happyGoto action_43
+action_66 (246) = happyGoto action_44
+action_66 (247) = happyGoto action_45
+action_66 (248) = happyGoto action_46
+action_66 (249) = happyGoto action_47
+action_66 (250) = happyGoto action_183
+action_66 (251) = happyGoto action_184
+action_66 (253) = happyGoto action_336
+action_66 (255) = happyGoto action_337
+action_66 (256) = happyGoto action_338
+action_66 (257) = happyGoto action_48
+action_66 _ = happyFail
+
+action_67 (278) = happyShift action_49
+action_67 (279) = happyShift action_50
+action_67 (280) = happyShift action_51
+action_67 (281) = happyShift action_52
+action_67 (282) = happyShift action_53
+action_67 (283) = happyShift action_54
+action_67 (285) = happyShift action_211
+action_67 (286) = happyShift action_186
+action_67 (287) = happyShift action_212
+action_67 (288) = happyShift action_187
+action_67 (289) = happyShift action_55
+action_67 (290) = happyShift action_56
+action_67 (291) = happyShift action_57
+action_67 (292) = happyShift action_58
+action_67 (293) = happyShift action_59
+action_67 (294) = happyShift action_60
+action_67 (295) = happyShift action_61
+action_67 (296) = happyShift action_62
+action_67 (297) = happyShift action_63
+action_67 (298) = happyShift action_64
+action_67 (299) = happyShift action_65
+action_67 (301) = happyShift action_66
+action_67 (307) = happyShift action_67
+action_67 (308) = happyShift action_344
+action_67 (309) = happyShift action_68
+action_67 (312) = happyShift action_69
+action_67 (313) = happyShift action_339
+action_67 (314) = happyShift action_214
+action_67 (316) = happyShift action_190
+action_67 (319) = happyShift action_70
+action_67 (324) = happyShift action_71
+action_67 (325) = happyShift action_72
+action_67 (327) = happyShift action_73
+action_67 (328) = happyShift action_340
+action_67 (329) = happyShift action_218
+action_67 (334) = happyShift action_75
+action_67 (337) = happyShift action_76
+action_67 (338) = happyShift action_77
+action_67 (339) = happyShift action_78
+action_67 (340) = happyShift action_79
+action_67 (341) = happyShift action_80
+action_67 (342) = happyShift action_81
+action_67 (344) = happyShift action_82
+action_67 (345) = happyShift action_83
+action_67 (346) = happyShift action_84
+action_67 (348) = happyShift action_85
+action_67 (350) = happyShift action_86
+action_67 (351) = happyShift action_87
+action_67 (358) = happyShift action_88
+action_67 (359) = happyShift action_89
+action_67 (360) = happyShift action_90
+action_67 (361) = happyShift action_91
+action_67 (362) = happyShift action_92
+action_67 (363) = happyShift action_93
+action_67 (364) = happyShift action_94
+action_67 (365) = happyShift action_95
+action_67 (366) = happyShift action_96
+action_67 (367) = happyShift action_97
+action_67 (368) = happyShift action_98
+action_67 (369) = happyShift action_99
+action_67 (370) = happyShift action_100
+action_67 (371) = happyShift action_101
+action_67 (373) = happyShift action_102
+action_67 (378) = happyShift action_103
+action_67 (380) = happyShift action_104
+action_67 (381) = happyShift action_105
+action_67 (383) = happyShift action_106
+action_67 (384) = happyShift action_107
+action_67 (391) = happyShift action_159
+action_67 (392) = happyShift action_109
+action_67 (396) = happyShift action_110
+action_67 (402) = happyShift action_112
+action_67 (403) = happyShift action_113
+action_67 (411) = happyShift action_114
+action_67 (412) = happyShift action_115
+action_67 (413) = happyShift action_116
+action_67 (169) = happyGoto action_329
+action_67 (170) = happyGoto action_25
+action_67 (171) = happyGoto action_26
+action_67 (172) = happyGoto action_27
+action_67 (173) = happyGoto action_28
+action_67 (176) = happyGoto action_29
+action_67 (177) = happyGoto action_30
+action_67 (178) = happyGoto action_31
+action_67 (181) = happyGoto action_32
+action_67 (182) = happyGoto action_33
+action_67 (183) = happyGoto action_34
+action_67 (185) = happyGoto action_341
+action_67 (190) = happyGoto action_35
+action_67 (199) = happyGoto action_342
+action_67 (200) = happyGoto action_343
+action_67 (228) = happyGoto action_38
+action_67 (231) = happyGoto action_39
+action_67 (232) = happyGoto action_40
+action_67 (234) = happyGoto action_41
+action_67 (237) = happyGoto action_333
+action_67 (239) = happyGoto action_334
+action_67 (242) = happyGoto action_335
+action_67 (243) = happyGoto action_226
+action_67 (244) = happyGoto action_42
+action_67 (245) = happyGoto action_43
+action_67 (246) = happyGoto action_44
+action_67 (247) = happyGoto action_45
+action_67 (248) = happyGoto action_46
+action_67 (249) = happyGoto action_47
+action_67 (250) = happyGoto action_183
+action_67 (251) = happyGoto action_184
+action_67 (253) = happyGoto action_336
+action_67 (255) = happyGoto action_337
+action_67 (256) = happyGoto action_338
+action_67 (257) = happyGoto action_48
+action_67 _ = happyFail
+
+action_68 (278) = happyShift action_49
+action_68 (279) = happyShift action_50
+action_68 (280) = happyShift action_51
+action_68 (281) = happyShift action_52
+action_68 (282) = happyShift action_53
+action_68 (283) = happyShift action_54
+action_68 (285) = happyShift action_211
+action_68 (286) = happyShift action_186
+action_68 (287) = happyShift action_212
+action_68 (288) = happyShift action_187
+action_68 (289) = happyShift action_55
+action_68 (290) = happyShift action_56
+action_68 (291) = happyShift action_57
+action_68 (292) = happyShift action_58
+action_68 (293) = happyShift action_59
+action_68 (294) = happyShift action_60
+action_68 (295) = happyShift action_61
+action_68 (296) = happyShift action_62
+action_68 (297) = happyShift action_63
+action_68 (298) = happyShift action_64
+action_68 (299) = happyShift action_65
+action_68 (301) = happyShift action_66
+action_68 (307) = happyShift action_67
+action_68 (309) = happyShift action_68
+action_68 (312) = happyShift action_69
+action_68 (313) = happyShift action_339
+action_68 (314) = happyShift action_214
+action_68 (316) = happyShift action_190
+action_68 (319) = happyShift action_70
+action_68 (324) = happyShift action_71
+action_68 (325) = happyShift action_72
+action_68 (327) = happyShift action_73
+action_68 (328) = happyShift action_340
+action_68 (329) = happyShift action_218
+action_68 (334) = happyShift action_75
+action_68 (337) = happyShift action_76
+action_68 (338) = happyShift action_77
+action_68 (339) = happyShift action_78
+action_68 (340) = happyShift action_79
+action_68 (341) = happyShift action_80
+action_68 (342) = happyShift action_81
+action_68 (344) = happyShift action_82
+action_68 (345) = happyShift action_83
+action_68 (346) = happyShift action_84
+action_68 (348) = happyShift action_85
+action_68 (350) = happyShift action_86
+action_68 (351) = happyShift action_87
+action_68 (358) = happyShift action_88
+action_68 (359) = happyShift action_89
+action_68 (360) = happyShift action_90
+action_68 (361) = happyShift action_91
+action_68 (362) = happyShift action_92
+action_68 (363) = happyShift action_93
+action_68 (364) = happyShift action_94
+action_68 (365) = happyShift action_95
+action_68 (366) = happyShift action_96
+action_68 (367) = happyShift action_97
+action_68 (368) = happyShift action_98
+action_68 (369) = happyShift action_99
+action_68 (370) = happyShift action_100
+action_68 (371) = happyShift action_101
+action_68 (373) = happyShift action_102
+action_68 (378) = happyShift action_103
+action_68 (380) = happyShift action_104
+action_68 (381) = happyShift action_105
+action_68 (383) = happyShift action_106
+action_68 (384) = happyShift action_107
+action_68 (391) = happyShift action_159
+action_68 (392) = happyShift action_109
+action_68 (396) = happyShift action_110
+action_68 (402) = happyShift action_112
+action_68 (403) = happyShift action_113
+action_68 (411) = happyShift action_114
+action_68 (412) = happyShift action_115
+action_68 (413) = happyShift action_116
+action_68 (169) = happyGoto action_329
+action_68 (170) = happyGoto action_25
+action_68 (171) = happyGoto action_26
+action_68 (172) = happyGoto action_27
+action_68 (173) = happyGoto action_28
+action_68 (176) = happyGoto action_29
+action_68 (177) = happyGoto action_30
+action_68 (178) = happyGoto action_31
+action_68 (181) = happyGoto action_32
+action_68 (182) = happyGoto action_33
+action_68 (183) = happyGoto action_34
+action_68 (185) = happyGoto action_330
+action_68 (190) = happyGoto action_35
+action_68 (200) = happyGoto action_331
+action_68 (207) = happyGoto action_332
+action_68 (228) = happyGoto action_38
+action_68 (231) = happyGoto action_39
+action_68 (232) = happyGoto action_40
+action_68 (234) = happyGoto action_41
+action_68 (237) = happyGoto action_333
+action_68 (239) = happyGoto action_334
+action_68 (242) = happyGoto action_335
+action_68 (243) = happyGoto action_226
+action_68 (244) = happyGoto action_42
+action_68 (245) = happyGoto action_43
+action_68 (246) = happyGoto action_44
+action_68 (247) = happyGoto action_45
+action_68 (248) = happyGoto action_46
+action_68 (249) = happyGoto action_47
+action_68 (250) = happyGoto action_183
+action_68 (251) = happyGoto action_184
+action_68 (253) = happyGoto action_336
+action_68 (255) = happyGoto action_337
+action_68 (256) = happyGoto action_338
+action_68 (257) = happyGoto action_48
+action_68 _ = happyReduce_583
+
+action_69 _ = happyReduce_461
+
+action_70 (278) = happyShift action_49
+action_70 (279) = happyShift action_50
+action_70 (280) = happyShift action_51
+action_70 (281) = happyShift action_52
+action_70 (282) = happyShift action_53
+action_70 (283) = happyShift action_54
+action_70 (289) = happyShift action_55
+action_70 (290) = happyShift action_56
+action_70 (291) = happyShift action_57
+action_70 (292) = happyShift action_58
+action_70 (293) = happyShift action_59
+action_70 (294) = happyShift action_60
+action_70 (295) = happyShift action_61
+action_70 (296) = happyShift action_62
+action_70 (297) = happyShift action_63
+action_70 (298) = happyShift action_64
+action_70 (299) = happyShift action_65
+action_70 (301) = happyShift action_66
+action_70 (307) = happyShift action_67
+action_70 (309) = happyShift action_68
+action_70 (312) = happyShift action_69
+action_70 (324) = happyShift action_71
+action_70 (325) = happyShift action_72
+action_70 (328) = happyShift action_242
+action_70 (334) = happyShift action_75
+action_70 (337) = happyShift action_76
+action_70 (338) = happyShift action_77
+action_70 (339) = happyShift action_78
+action_70 (340) = happyShift action_79
+action_70 (341) = happyShift action_80
+action_70 (342) = happyShift action_81
+action_70 (344) = happyShift action_82
+action_70 (345) = happyShift action_83
+action_70 (346) = happyShift action_84
+action_70 (348) = happyShift action_85
+action_70 (350) = happyShift action_86
+action_70 (351) = happyShift action_87
+action_70 (358) = happyShift action_88
+action_70 (359) = happyShift action_89
+action_70 (360) = happyShift action_90
+action_70 (361) = happyShift action_91
+action_70 (362) = happyShift action_92
+action_70 (363) = happyShift action_93
+action_70 (364) = happyShift action_94
+action_70 (365) = happyShift action_95
+action_70 (366) = happyShift action_96
+action_70 (367) = happyShift action_97
+action_70 (368) = happyShift action_98
+action_70 (369) = happyShift action_99
+action_70 (370) = happyShift action_100
+action_70 (371) = happyShift action_101
+action_70 (373) = happyShift action_328
+action_70 (380) = happyShift action_104
+action_70 (381) = happyShift action_105
+action_70 (383) = happyShift action_106
+action_70 (402) = happyShift action_112
+action_70 (403) = happyShift action_113
+action_70 (179) = happyGoto action_326
+action_70 (180) = happyGoto action_327
+action_70 (181) = happyGoto action_241
+action_70 (182) = happyGoto action_33
+action_70 (183) = happyGoto action_34
+action_70 (190) = happyGoto action_35
+action_70 (228) = happyGoto action_38
+action_70 (231) = happyGoto action_39
+action_70 (232) = happyGoto action_40
+action_70 (234) = happyGoto action_41
+action_70 (244) = happyGoto action_42
+action_70 (245) = happyGoto action_43
+action_70 (246) = happyGoto action_44
+action_70 (247) = happyGoto action_45
+action_70 (248) = happyGoto action_46
+action_70 (249) = happyGoto action_47
+action_70 (257) = happyGoto action_48
+action_70 _ = happyFail
+
+action_71 (278) = happyShift action_49
+action_71 (282) = happyShift action_53
+action_71 (283) = happyShift action_54
+action_71 (289) = happyShift action_135
+action_71 (292) = happyShift action_136
+action_71 (299) = happyShift action_137
+action_71 (301) = happyShift action_138
+action_71 (307) = happyShift action_139
+action_71 (309) = happyShift action_140
+action_71 (312) = happyShift action_141
+action_71 (325) = happyShift action_142
+action_71 (328) = happyShift action_143
+action_71 (337) = happyShift action_144
+action_71 (338) = happyShift action_145
+action_71 (344) = happyShift action_146
+action_71 (346) = happyShift action_147
+action_71 (358) = happyShift action_88
+action_71 (359) = happyShift action_148
+action_71 (360) = happyShift action_149
+action_71 (361) = happyShift action_150
+action_71 (363) = happyShift action_93
+action_71 (364) = happyShift action_94
+action_71 (365) = happyShift action_95
+action_71 (366) = happyShift action_96
+action_71 (367) = happyShift action_97
+action_71 (368) = happyShift action_98
+action_71 (369) = happyShift action_99
+action_71 (370) = happyShift action_100
+action_71 (371) = happyShift action_101
+action_71 (383) = happyShift action_106
+action_71 (402) = happyShift action_112
+action_71 (416) = happyShift action_152
+action_71 (417) = happyShift action_153
+action_71 (107) = happyGoto action_324
+action_71 (109) = happyGoto action_325
+action_71 (110) = happyGoto action_121
+action_71 (111) = happyGoto action_122
+action_71 (112) = happyGoto action_123
+action_71 (113) = happyGoto action_124
+action_71 (114) = happyGoto action_125
+action_71 (115) = happyGoto action_126
+action_71 (245) = happyGoto action_131
+action_71 (248) = happyGoto action_132
+action_71 (249) = happyGoto action_47
+action_71 (270) = happyGoto action_133
+action_71 (271) = happyGoto action_134
+action_71 _ = happyFail
+
+action_72 (278) = happyShift action_49
+action_72 (279) = happyShift action_50
+action_72 (280) = happyShift action_51
+action_72 (281) = happyShift action_52
+action_72 (282) = happyShift action_53
+action_72 (283) = happyShift action_54
+action_72 (289) = happyShift action_55
+action_72 (290) = happyShift action_56
+action_72 (291) = happyShift action_57
+action_72 (292) = happyShift action_58
+action_72 (293) = happyShift action_59
+action_72 (294) = happyShift action_60
+action_72 (295) = happyShift action_61
+action_72 (296) = happyShift action_62
+action_72 (297) = happyShift action_63
+action_72 (298) = happyShift action_64
+action_72 (299) = happyShift action_65
+action_72 (301) = happyShift action_66
+action_72 (307) = happyShift action_67
+action_72 (309) = happyShift action_68
+action_72 (312) = happyShift action_69
+action_72 (324) = happyShift action_71
+action_72 (325) = happyShift action_72
+action_72 (334) = happyShift action_75
+action_72 (337) = happyShift action_76
+action_72 (338) = happyShift action_77
+action_72 (339) = happyShift action_78
+action_72 (340) = happyShift action_79
+action_72 (341) = happyShift action_80
+action_72 (342) = happyShift action_81
+action_72 (344) = happyShift action_82
+action_72 (345) = happyShift action_83
+action_72 (346) = happyShift action_84
+action_72 (348) = happyShift action_85
+action_72 (350) = happyShift action_86
+action_72 (351) = happyShift action_87
+action_72 (358) = happyShift action_88
+action_72 (359) = happyShift action_89
+action_72 (360) = happyShift action_90
+action_72 (361) = happyShift action_91
+action_72 (362) = happyShift action_92
+action_72 (363) = happyShift action_93
+action_72 (364) = happyShift action_94
+action_72 (365) = happyShift action_95
+action_72 (366) = happyShift action_96
+action_72 (367) = happyShift action_97
+action_72 (368) = happyShift action_98
+action_72 (369) = happyShift action_99
+action_72 (370) = happyShift action_100
+action_72 (371) = happyShift action_101
+action_72 (380) = happyShift action_104
+action_72 (381) = happyShift action_105
+action_72 (383) = happyShift action_106
+action_72 (402) = happyShift action_112
+action_72 (403) = happyShift action_113
+action_72 (181) = happyGoto action_323
+action_72 (182) = happyGoto action_33
+action_72 (183) = happyGoto action_34
+action_72 (190) = happyGoto action_35
+action_72 (228) = happyGoto action_38
+action_72 (231) = happyGoto action_39
+action_72 (232) = happyGoto action_40
+action_72 (234) = happyGoto action_41
+action_72 (244) = happyGoto action_42
+action_72 (245) = happyGoto action_43
+action_72 (246) = happyGoto action_44
+action_72 (247) = happyGoto action_45
+action_72 (248) = happyGoto action_46
+action_72 (249) = happyGoto action_47
+action_72 (257) = happyGoto action_48
+action_72 _ = happyFail
+
+action_73 (278) = happyShift action_49
+action_73 (279) = happyShift action_50
+action_73 (280) = happyShift action_51
+action_73 (281) = happyShift action_52
+action_73 (282) = happyShift action_53
+action_73 (283) = happyShift action_54
+action_73 (289) = happyShift action_55
+action_73 (290) = happyShift action_56
+action_73 (291) = happyShift action_57
+action_73 (292) = happyShift action_58
+action_73 (293) = happyShift action_59
+action_73 (294) = happyShift action_60
+action_73 (295) = happyShift action_61
+action_73 (296) = happyShift action_62
+action_73 (297) = happyShift action_63
+action_73 (298) = happyShift action_64
+action_73 (299) = happyShift action_65
+action_73 (301) = happyShift action_66
+action_73 (307) = happyShift action_67
+action_73 (309) = happyShift action_68
+action_73 (312) = happyShift action_69
+action_73 (324) = happyShift action_71
+action_73 (325) = happyShift action_72
+action_73 (334) = happyShift action_75
+action_73 (337) = happyShift action_76
+action_73 (338) = happyShift action_77
+action_73 (339) = happyShift action_78
+action_73 (340) = happyShift action_79
+action_73 (341) = happyShift action_80
+action_73 (342) = happyShift action_81
+action_73 (344) = happyShift action_82
+action_73 (345) = happyShift action_83
+action_73 (346) = happyShift action_84
+action_73 (348) = happyShift action_85
+action_73 (350) = happyShift action_86
+action_73 (351) = happyShift action_87
+action_73 (358) = happyShift action_88
+action_73 (359) = happyShift action_89
+action_73 (360) = happyShift action_90
+action_73 (361) = happyShift action_91
+action_73 (362) = happyShift action_92
+action_73 (363) = happyShift action_93
+action_73 (364) = happyShift action_94
+action_73 (365) = happyShift action_95
+action_73 (366) = happyShift action_96
+action_73 (367) = happyShift action_97
+action_73 (368) = happyShift action_98
+action_73 (369) = happyShift action_99
+action_73 (370) = happyShift action_100
+action_73 (371) = happyShift action_101
+action_73 (380) = happyShift action_104
+action_73 (381) = happyShift action_105
+action_73 (383) = happyShift action_106
+action_73 (402) = happyShift action_112
+action_73 (403) = happyShift action_113
+action_73 (178) = happyGoto action_322
+action_73 (181) = happyGoto action_32
+action_73 (182) = happyGoto action_33
+action_73 (183) = happyGoto action_34
+action_73 (190) = happyGoto action_35
+action_73 (228) = happyGoto action_38
+action_73 (231) = happyGoto action_39
+action_73 (232) = happyGoto action_40
+action_73 (234) = happyGoto action_41
+action_73 (244) = happyGoto action_42
+action_73 (245) = happyGoto action_43
+action_73 (246) = happyGoto action_44
+action_73 (247) = happyGoto action_45
+action_73 (248) = happyGoto action_46
+action_73 (249) = happyGoto action_47
+action_73 (257) = happyGoto action_48
+action_73 _ = happyFail
+
+action_74 (278) = happyShift action_49
+action_74 (279) = happyShift action_50
+action_74 (280) = happyShift action_51
+action_74 (281) = happyShift action_52
+action_74 (282) = happyShift action_53
+action_74 (283) = happyShift action_54
+action_74 (289) = happyShift action_55
+action_74 (290) = happyShift action_56
+action_74 (291) = happyShift action_57
+action_74 (292) = happyShift action_58
+action_74 (293) = happyShift action_59
+action_74 (294) = happyShift action_60
+action_74 (295) = happyShift action_61
+action_74 (296) = happyShift action_62
+action_74 (297) = happyShift action_63
+action_74 (298) = happyShift action_64
+action_74 (299) = happyShift action_65
+action_74 (301) = happyShift action_66
+action_74 (307) = happyShift action_67
+action_74 (309) = happyShift action_68
+action_74 (312) = happyShift action_69
+action_74 (324) = happyShift action_71
+action_74 (325) = happyShift action_72
+action_74 (334) = happyShift action_75
+action_74 (337) = happyShift action_76
+action_74 (338) = happyShift action_77
+action_74 (339) = happyShift action_78
+action_74 (340) = happyShift action_79
+action_74 (341) = happyShift action_80
+action_74 (342) = happyShift action_81
+action_74 (344) = happyShift action_82
+action_74 (345) = happyShift action_83
+action_74 (346) = happyShift action_84
+action_74 (348) = happyShift action_85
+action_74 (350) = happyShift action_86
+action_74 (351) = happyShift action_87
+action_74 (358) = happyShift action_88
+action_74 (359) = happyShift action_89
+action_74 (360) = happyShift action_90
+action_74 (361) = happyShift action_91
+action_74 (362) = happyShift action_92
+action_74 (363) = happyShift action_93
+action_74 (364) = happyShift action_94
+action_74 (365) = happyShift action_95
+action_74 (366) = happyShift action_96
+action_74 (367) = happyShift action_97
+action_74 (368) = happyShift action_98
+action_74 (369) = happyShift action_99
+action_74 (370) = happyShift action_100
+action_74 (371) = happyShift action_101
+action_74 (380) = happyShift action_104
+action_74 (381) = happyShift action_105
+action_74 (383) = happyShift action_106
+action_74 (402) = happyShift action_112
+action_74 (403) = happyShift action_113
+action_74 (181) = happyGoto action_321
+action_74 (182) = happyGoto action_33
+action_74 (183) = happyGoto action_34
+action_74 (190) = happyGoto action_35
+action_74 (228) = happyGoto action_38
+action_74 (231) = happyGoto action_39
+action_74 (232) = happyGoto action_40
+action_74 (234) = happyGoto action_41
+action_74 (244) = happyGoto action_42
+action_74 (245) = happyGoto action_43
+action_74 (246) = happyGoto action_44
+action_74 (247) = happyGoto action_45
+action_74 (248) = happyGoto action_46
+action_74 (249) = happyGoto action_47
+action_74 (257) = happyGoto action_48
+action_74 _ = happyFail
+
+action_75 (278) = happyShift action_49
+action_75 (279) = happyShift action_50
+action_75 (280) = happyShift action_51
+action_75 (281) = happyShift action_52
+action_75 (282) = happyShift action_53
+action_75 (283) = happyShift action_54
+action_75 (289) = happyShift action_55
+action_75 (290) = happyShift action_56
+action_75 (291) = happyShift action_57
+action_75 (292) = happyShift action_58
+action_75 (293) = happyShift action_59
+action_75 (294) = happyShift action_60
+action_75 (295) = happyShift action_61
+action_75 (296) = happyShift action_62
+action_75 (297) = happyShift action_63
+action_75 (298) = happyShift action_64
+action_75 (299) = happyShift action_65
+action_75 (301) = happyShift action_66
+action_75 (307) = happyShift action_67
+action_75 (309) = happyShift action_68
+action_75 (312) = happyShift action_69
+action_75 (319) = happyShift action_70
+action_75 (324) = happyShift action_71
+action_75 (325) = happyShift action_72
+action_75 (327) = happyShift action_73
+action_75 (334) = happyShift action_75
+action_75 (337) = happyShift action_76
+action_75 (338) = happyShift action_77
+action_75 (339) = happyShift action_78
+action_75 (340) = happyShift action_79
+action_75 (341) = happyShift action_80
+action_75 (342) = happyShift action_81
+action_75 (344) = happyShift action_82
+action_75 (345) = happyShift action_83
+action_75 (346) = happyShift action_84
+action_75 (348) = happyShift action_85
+action_75 (350) = happyShift action_86
+action_75 (351) = happyShift action_87
+action_75 (358) = happyShift action_88
+action_75 (359) = happyShift action_89
+action_75 (360) = happyShift action_90
+action_75 (361) = happyShift action_91
+action_75 (362) = happyShift action_92
+action_75 (363) = happyShift action_93
+action_75 (364) = happyShift action_94
+action_75 (365) = happyShift action_95
+action_75 (366) = happyShift action_96
+action_75 (367) = happyShift action_97
+action_75 (368) = happyShift action_98
+action_75 (369) = happyShift action_99
+action_75 (370) = happyShift action_100
+action_75 (371) = happyShift action_101
+action_75 (373) = happyShift action_102
+action_75 (378) = happyShift action_103
+action_75 (380) = happyShift action_104
+action_75 (381) = happyShift action_105
+action_75 (383) = happyShift action_106
+action_75 (384) = happyShift action_107
+action_75 (391) = happyShift action_159
+action_75 (392) = happyShift action_109
+action_75 (396) = happyShift action_110
+action_75 (402) = happyShift action_112
+action_75 (403) = happyShift action_113
+action_75 (411) = happyShift action_114
+action_75 (412) = happyShift action_115
+action_75 (413) = happyShift action_116
+action_75 (169) = happyGoto action_319
+action_75 (170) = happyGoto action_25
+action_75 (171) = happyGoto action_26
+action_75 (172) = happyGoto action_27
+action_75 (173) = happyGoto action_28
+action_75 (176) = happyGoto action_29
+action_75 (177) = happyGoto action_30
+action_75 (178) = happyGoto action_31
+action_75 (181) = happyGoto action_32
+action_75 (182) = happyGoto action_33
+action_75 (183) = happyGoto action_34
+action_75 (188) = happyGoto action_320
+action_75 (190) = happyGoto action_35
+action_75 (228) = happyGoto action_38
+action_75 (231) = happyGoto action_39
+action_75 (232) = happyGoto action_40
+action_75 (234) = happyGoto action_41
+action_75 (244) = happyGoto action_42
+action_75 (245) = happyGoto action_43
+action_75 (246) = happyGoto action_44
+action_75 (247) = happyGoto action_45
+action_75 (248) = happyGoto action_46
+action_75 (249) = happyGoto action_47
+action_75 (257) = happyGoto action_48
+action_75 _ = happyFail
+
+action_76 _ = happyReduce_466
+
+action_77 (278) = happyShift action_49
+action_77 (279) = happyShift action_50
+action_77 (280) = happyShift action_51
+action_77 (281) = happyShift action_52
+action_77 (282) = happyShift action_53
+action_77 (283) = happyShift action_54
+action_77 (289) = happyShift action_55
+action_77 (290) = happyShift action_56
+action_77 (291) = happyShift action_57
+action_77 (292) = happyShift action_58
+action_77 (293) = happyShift action_59
+action_77 (294) = happyShift action_60
+action_77 (295) = happyShift action_61
+action_77 (296) = happyShift action_62
+action_77 (297) = happyShift action_63
+action_77 (298) = happyShift action_64
+action_77 (299) = happyShift action_65
+action_77 (301) = happyShift action_66
+action_77 (307) = happyShift action_67
+action_77 (309) = happyShift action_68
+action_77 (312) = happyShift action_69
+action_77 (319) = happyShift action_70
+action_77 (324) = happyShift action_71
+action_77 (325) = happyShift action_72
+action_77 (327) = happyShift action_73
+action_77 (334) = happyShift action_75
+action_77 (337) = happyShift action_76
+action_77 (338) = happyShift action_77
+action_77 (339) = happyShift action_78
+action_77 (340) = happyShift action_79
+action_77 (341) = happyShift action_80
+action_77 (342) = happyShift action_81
+action_77 (344) = happyShift action_82
+action_77 (345) = happyShift action_83
+action_77 (346) = happyShift action_84
+action_77 (348) = happyShift action_85
+action_77 (350) = happyShift action_86
+action_77 (351) = happyShift action_87
+action_77 (358) = happyShift action_88
+action_77 (359) = happyShift action_89
+action_77 (360) = happyShift action_90
+action_77 (361) = happyShift action_91
+action_77 (362) = happyShift action_92
+action_77 (363) = happyShift action_93
+action_77 (364) = happyShift action_94
+action_77 (365) = happyShift action_95
+action_77 (366) = happyShift action_96
+action_77 (367) = happyShift action_97
+action_77 (368) = happyShift action_98
+action_77 (369) = happyShift action_99
+action_77 (370) = happyShift action_100
+action_77 (371) = happyShift action_101
+action_77 (373) = happyShift action_102
+action_77 (378) = happyShift action_103
+action_77 (380) = happyShift action_104
+action_77 (381) = happyShift action_105
+action_77 (383) = happyShift action_106
+action_77 (384) = happyShift action_107
+action_77 (391) = happyShift action_159
+action_77 (392) = happyShift action_109
+action_77 (396) = happyShift action_110
+action_77 (402) = happyShift action_112
+action_77 (403) = happyShift action_113
+action_77 (411) = happyShift action_114
+action_77 (412) = happyShift action_115
+action_77 (413) = happyShift action_116
+action_77 (168) = happyGoto action_318
+action_77 (169) = happyGoto action_161
+action_77 (170) = happyGoto action_25
+action_77 (171) = happyGoto action_26
+action_77 (172) = happyGoto action_27
+action_77 (173) = happyGoto action_28
+action_77 (176) = happyGoto action_29
+action_77 (177) = happyGoto action_30
+action_77 (178) = happyGoto action_31
+action_77 (181) = happyGoto action_32
+action_77 (182) = happyGoto action_33
+action_77 (183) = happyGoto action_34
+action_77 (190) = happyGoto action_35
+action_77 (228) = happyGoto action_38
+action_77 (231) = happyGoto action_39
+action_77 (232) = happyGoto action_40
+action_77 (234) = happyGoto action_41
+action_77 (244) = happyGoto action_42
+action_77 (245) = happyGoto action_43
+action_77 (246) = happyGoto action_44
+action_77 (247) = happyGoto action_45
+action_77 (248) = happyGoto action_46
+action_77 (249) = happyGoto action_47
+action_77 (257) = happyGoto action_48
+action_77 _ = happyFail
+
+action_78 (278) = happyShift action_49
+action_78 (279) = happyShift action_50
+action_78 (280) = happyShift action_51
+action_78 (281) = happyShift action_52
+action_78 (282) = happyShift action_53
+action_78 (283) = happyShift action_54
+action_78 (289) = happyShift action_55
+action_78 (290) = happyShift action_56
+action_78 (291) = happyShift action_57
+action_78 (292) = happyShift action_58
+action_78 (293) = happyShift action_59
+action_78 (294) = happyShift action_60
+action_78 (295) = happyShift action_61
+action_78 (296) = happyShift action_62
+action_78 (297) = happyShift action_63
+action_78 (298) = happyShift action_64
+action_78 (299) = happyShift action_65
+action_78 (301) = happyShift action_66
+action_78 (307) = happyShift action_67
+action_78 (309) = happyShift action_68
+action_78 (312) = happyShift action_69
+action_78 (319) = happyShift action_70
+action_78 (324) = happyShift action_71
+action_78 (325) = happyShift action_72
+action_78 (327) = happyShift action_73
+action_78 (334) = happyShift action_75
+action_78 (337) = happyShift action_76
+action_78 (338) = happyShift action_77
+action_78 (339) = happyShift action_78
+action_78 (340) = happyShift action_79
+action_78 (341) = happyShift action_80
+action_78 (342) = happyShift action_81
+action_78 (344) = happyShift action_82
+action_78 (345) = happyShift action_83
+action_78 (346) = happyShift action_84
+action_78 (348) = happyShift action_85
+action_78 (350) = happyShift action_86
+action_78 (351) = happyShift action_87
+action_78 (358) = happyShift action_88
+action_78 (359) = happyShift action_89
+action_78 (360) = happyShift action_90
+action_78 (361) = happyShift action_91
+action_78 (362) = happyShift action_92
+action_78 (363) = happyShift action_93
+action_78 (364) = happyShift action_94
+action_78 (365) = happyShift action_95
+action_78 (366) = happyShift action_96
+action_78 (367) = happyShift action_97
+action_78 (368) = happyShift action_98
+action_78 (369) = happyShift action_99
+action_78 (370) = happyShift action_100
+action_78 (371) = happyShift action_101
+action_78 (373) = happyShift action_102
+action_78 (378) = happyShift action_103
+action_78 (380) = happyShift action_104
+action_78 (381) = happyShift action_105
+action_78 (383) = happyShift action_106
+action_78 (384) = happyShift action_107
+action_78 (391) = happyShift action_159
+action_78 (392) = happyShift action_109
+action_78 (396) = happyShift action_110
+action_78 (402) = happyShift action_112
+action_78 (403) = happyShift action_113
+action_78 (411) = happyShift action_114
+action_78 (412) = happyShift action_115
+action_78 (413) = happyShift action_116
+action_78 (168) = happyGoto action_317
+action_78 (169) = happyGoto action_161
+action_78 (170) = happyGoto action_25
+action_78 (171) = happyGoto action_26
+action_78 (172) = happyGoto action_27
+action_78 (173) = happyGoto action_28
+action_78 (176) = happyGoto action_29
+action_78 (177) = happyGoto action_30
+action_78 (178) = happyGoto action_31
+action_78 (181) = happyGoto action_32
+action_78 (182) = happyGoto action_33
+action_78 (183) = happyGoto action_34
+action_78 (190) = happyGoto action_35
+action_78 (228) = happyGoto action_38
+action_78 (231) = happyGoto action_39
+action_78 (232) = happyGoto action_40
+action_78 (234) = happyGoto action_41
+action_78 (244) = happyGoto action_42
+action_78 (245) = happyGoto action_43
+action_78 (246) = happyGoto action_44
+action_78 (247) = happyGoto action_45
+action_78 (248) = happyGoto action_46
+action_78 (249) = happyGoto action_47
+action_78 (257) = happyGoto action_48
+action_78 _ = happyFail
+
+action_79 (278) = happyShift action_49
+action_79 (279) = happyShift action_50
+action_79 (280) = happyShift action_51
+action_79 (281) = happyShift action_52
+action_79 (282) = happyShift action_53
+action_79 (283) = happyShift action_54
+action_79 (289) = happyShift action_55
+action_79 (290) = happyShift action_56
+action_79 (291) = happyShift action_57
+action_79 (292) = happyShift action_58
+action_79 (293) = happyShift action_59
+action_79 (294) = happyShift action_60
+action_79 (295) = happyShift action_61
+action_79 (296) = happyShift action_62
+action_79 (297) = happyShift action_63
+action_79 (298) = happyShift action_64
+action_79 (299) = happyShift action_65
+action_79 (301) = happyShift action_66
+action_79 (307) = happyShift action_67
+action_79 (309) = happyShift action_68
+action_79 (312) = happyShift action_69
+action_79 (319) = happyShift action_70
+action_79 (324) = happyShift action_71
+action_79 (325) = happyShift action_72
+action_79 (327) = happyShift action_73
+action_79 (334) = happyShift action_75
+action_79 (337) = happyShift action_76
+action_79 (338) = happyShift action_77
+action_79 (339) = happyShift action_78
+action_79 (340) = happyShift action_79
+action_79 (341) = happyShift action_80
+action_79 (342) = happyShift action_81
+action_79 (344) = happyShift action_82
+action_79 (345) = happyShift action_83
+action_79 (346) = happyShift action_84
+action_79 (348) = happyShift action_85
+action_79 (350) = happyShift action_86
+action_79 (351) = happyShift action_87
+action_79 (358) = happyShift action_88
+action_79 (359) = happyShift action_89
+action_79 (360) = happyShift action_90
+action_79 (361) = happyShift action_91
+action_79 (362) = happyShift action_92
+action_79 (363) = happyShift action_93
+action_79 (364) = happyShift action_94
+action_79 (365) = happyShift action_95
+action_79 (366) = happyShift action_96
+action_79 (367) = happyShift action_97
+action_79 (368) = happyShift action_98
+action_79 (369) = happyShift action_99
+action_79 (370) = happyShift action_100
+action_79 (371) = happyShift action_101
+action_79 (373) = happyShift action_102
+action_79 (378) = happyShift action_103
+action_79 (380) = happyShift action_104
+action_79 (381) = happyShift action_105
+action_79 (383) = happyShift action_106
+action_79 (384) = happyShift action_107
+action_79 (391) = happyShift action_159
+action_79 (392) = happyShift action_109
+action_79 (396) = happyShift action_110
+action_79 (402) = happyShift action_112
+action_79 (403) = happyShift action_113
+action_79 (411) = happyShift action_114
+action_79 (412) = happyShift action_115
+action_79 (413) = happyShift action_116
+action_79 (170) = happyGoto action_315
+action_79 (171) = happyGoto action_26
+action_79 (172) = happyGoto action_316
+action_79 (173) = happyGoto action_28
+action_79 (176) = happyGoto action_29
+action_79 (177) = happyGoto action_30
+action_79 (178) = happyGoto action_31
+action_79 (181) = happyGoto action_32
+action_79 (182) = happyGoto action_33
+action_79 (183) = happyGoto action_34
+action_79 (190) = happyGoto action_35
+action_79 (228) = happyGoto action_38
+action_79 (231) = happyGoto action_39
+action_79 (232) = happyGoto action_40
+action_79 (234) = happyGoto action_41
+action_79 (244) = happyGoto action_42
+action_79 (245) = happyGoto action_43
+action_79 (246) = happyGoto action_44
+action_79 (247) = happyGoto action_45
+action_79 (248) = happyGoto action_46
+action_79 (249) = happyGoto action_47
+action_79 (257) = happyGoto action_48
+action_79 _ = happyFail
+
+action_80 (278) = happyShift action_49
+action_80 (280) = happyShift action_51
+action_80 (281) = happyShift action_52
+action_80 (282) = happyShift action_53
+action_80 (283) = happyShift action_54
+action_80 (289) = happyShift action_135
+action_80 (292) = happyShift action_136
+action_80 (299) = happyShift action_137
+action_80 (301) = happyShift action_138
+action_80 (307) = happyShift action_139
+action_80 (309) = happyShift action_140
+action_80 (312) = happyShift action_141
+action_80 (325) = happyShift action_142
+action_80 (328) = happyShift action_143
+action_80 (337) = happyShift action_144
+action_80 (338) = happyShift action_145
+action_80 (344) = happyShift action_146
+action_80 (346) = happyShift action_147
+action_80 (358) = happyShift action_88
+action_80 (359) = happyShift action_148
+action_80 (360) = happyShift action_149
+action_80 (361) = happyShift action_150
+action_80 (363) = happyShift action_93
+action_80 (364) = happyShift action_94
+action_80 (365) = happyShift action_95
+action_80 (366) = happyShift action_96
+action_80 (367) = happyShift action_97
+action_80 (368) = happyShift action_98
+action_80 (369) = happyShift action_99
+action_80 (370) = happyShift action_100
+action_80 (371) = happyShift action_101
+action_80 (381) = happyShift action_151
+action_80 (383) = happyShift action_106
+action_80 (402) = happyShift action_112
+action_80 (416) = happyShift action_152
+action_80 (417) = happyShift action_153
+action_80 (103) = happyGoto action_117
+action_80 (105) = happyGoto action_118
+action_80 (108) = happyGoto action_119
+action_80 (109) = happyGoto action_120
+action_80 (110) = happyGoto action_121
+action_80 (111) = happyGoto action_122
+action_80 (112) = happyGoto action_123
+action_80 (113) = happyGoto action_124
+action_80 (114) = happyGoto action_125
+action_80 (115) = happyGoto action_126
+action_80 (117) = happyGoto action_314
+action_80 (118) = happyGoto action_128
+action_80 (119) = happyGoto action_129
+action_80 (232) = happyGoto action_130
+action_80 (245) = happyGoto action_131
+action_80 (247) = happyGoto action_45
+action_80 (248) = happyGoto action_132
+action_80 (249) = happyGoto action_47
+action_80 (270) = happyGoto action_133
+action_80 (271) = happyGoto action_134
+action_80 _ = happyFail
+
+action_81 (258) = happyGoto action_313
+action_81 _ = happyReduce_714
+
+action_82 (278) = happyShift action_49
+action_82 (279) = happyShift action_50
+action_82 (282) = happyShift action_53
+action_82 (283) = happyShift action_54
+action_82 (299) = happyShift action_312
+action_82 (358) = happyShift action_88
+action_82 (359) = happyShift action_89
+action_82 (360) = happyShift action_90
+action_82 (361) = happyShift action_91
+action_82 (362) = happyShift action_92
+action_82 (363) = happyShift action_93
+action_82 (364) = happyShift action_94
+action_82 (365) = happyShift action_95
+action_82 (366) = happyShift action_96
+action_82 (367) = happyShift action_97
+action_82 (368) = happyShift action_98
+action_82 (369) = happyShift action_99
+action_82 (370) = happyShift action_100
+action_82 (371) = happyShift action_101
+action_82 (380) = happyShift action_104
+action_82 (381) = happyShift action_105
+action_82 (383) = happyShift action_106
+action_82 (402) = happyShift action_112
+action_82 (403) = happyShift action_113
+action_82 (231) = happyGoto action_310
+action_82 (234) = happyGoto action_311
+action_82 (244) = happyGoto action_42
+action_82 (245) = happyGoto action_43
+action_82 (246) = happyGoto action_44
+action_82 (248) = happyGoto action_46
+action_82 (249) = happyGoto action_47
+action_82 _ = happyFail
+
+action_83 (278) = happyShift action_49
+action_83 (282) = happyShift action_53
+action_83 (283) = happyShift action_54
+action_83 (299) = happyShift action_307
+action_83 (301) = happyShift action_308
+action_83 (307) = happyShift action_309
+action_83 (358) = happyShift action_88
+action_83 (359) = happyShift action_148
+action_83 (360) = happyShift action_149
+action_83 (361) = happyShift action_150
+action_83 (363) = happyShift action_93
+action_83 (364) = happyShift action_94
+action_83 (365) = happyShift action_95
+action_83 (366) = happyShift action_96
+action_83 (367) = happyShift action_97
+action_83 (368) = happyShift action_98
+action_83 (369) = happyShift action_99
+action_83 (370) = happyShift action_100
+action_83 (371) = happyShift action_101
+action_83 (383) = happyShift action_106
+action_83 (402) = happyShift action_112
+action_83 (114) = happyGoto action_305
+action_83 (115) = happyGoto action_126
+action_83 (245) = happyGoto action_131
+action_83 (248) = happyGoto action_132
+action_83 (249) = happyGoto action_47
+action_83 (270) = happyGoto action_306
+action_83 (271) = happyGoto action_134
+action_83 _ = happyFail
+
+action_84 _ = happyReduce_476
+
+action_85 (278) = happyShift action_256
+action_85 (282) = happyShift action_257
+action_85 (284) = happyShift action_258
+action_85 (357) = happyShift action_259
+action_85 (358) = happyShift action_260
+action_85 (359) = happyShift action_261
+action_85 (360) = happyShift action_262
+action_85 (361) = happyShift action_263
+action_85 (362) = happyShift action_264
+action_85 (363) = happyShift action_265
+action_85 (364) = happyShift action_266
+action_85 (365) = happyShift action_267
+action_85 (366) = happyShift action_268
+action_85 (367) = happyShift action_269
+action_85 (368) = happyShift action_270
+action_85 (369) = happyShift action_271
+action_85 (370) = happyShift action_272
+action_85 (371) = happyShift action_273
+action_85 (372) = happyShift action_274
+action_85 (373) = happyShift action_275
+action_85 (374) = happyShift action_276
+action_85 (375) = happyShift action_277
+action_85 (376) = happyShift action_278
+action_85 (377) = happyShift action_279
+action_85 (378) = happyShift action_280
+action_85 (379) = happyShift action_281
+action_85 (380) = happyShift action_282
+action_85 (381) = happyShift action_283
+action_85 (382) = happyShift action_284
+action_85 (383) = happyShift action_285
+action_85 (384) = happyShift action_286
+action_85 (385) = happyShift action_287
+action_85 (386) = happyShift action_288
+action_85 (387) = happyShift action_289
+action_85 (388) = happyShift action_290
+action_85 (389) = happyShift action_291
+action_85 (390) = happyShift action_292
+action_85 (391) = happyShift action_293
+action_85 (392) = happyShift action_294
+action_85 (393) = happyShift action_295
+action_85 (394) = happyShift action_296
+action_85 (395) = happyShift action_297
+action_85 (396) = happyShift action_298
+action_85 (397) = happyShift action_299
+action_85 (398) = happyShift action_300
+action_85 (399) = happyShift action_301
+action_85 (400) = happyShift action_302
+action_85 (401) = happyShift action_303
+action_85 (402) = happyShift action_304
+action_85 (193) = happyGoto action_253
+action_85 (194) = happyGoto action_254
+action_85 (195) = happyGoto action_255
+action_85 _ = happyFail
+
+action_86 (278) = happyShift action_49
+action_86 (279) = happyShift action_50
+action_86 (280) = happyShift action_51
+action_86 (281) = happyShift action_52
+action_86 (282) = happyShift action_53
+action_86 (283) = happyShift action_54
+action_86 (289) = happyShift action_55
+action_86 (290) = happyShift action_56
+action_86 (291) = happyShift action_57
+action_86 (292) = happyShift action_58
+action_86 (293) = happyShift action_59
+action_86 (294) = happyShift action_60
+action_86 (295) = happyShift action_61
+action_86 (296) = happyShift action_62
+action_86 (297) = happyShift action_63
+action_86 (298) = happyShift action_64
+action_86 (299) = happyShift action_65
+action_86 (301) = happyShift action_66
+action_86 (307) = happyShift action_67
+action_86 (309) = happyShift action_68
+action_86 (312) = happyShift action_69
+action_86 (319) = happyShift action_70
+action_86 (324) = happyShift action_71
+action_86 (325) = happyShift action_72
+action_86 (327) = happyShift action_73
+action_86 (334) = happyShift action_75
+action_86 (337) = happyShift action_76
+action_86 (338) = happyShift action_77
+action_86 (339) = happyShift action_78
+action_86 (340) = happyShift action_79
+action_86 (341) = happyShift action_80
+action_86 (342) = happyShift action_81
+action_86 (344) = happyShift action_82
+action_86 (345) = happyShift action_83
+action_86 (346) = happyShift action_84
+action_86 (348) = happyShift action_85
+action_86 (350) = happyShift action_86
+action_86 (351) = happyShift action_87
+action_86 (358) = happyShift action_88
+action_86 (359) = happyShift action_89
+action_86 (360) = happyShift action_90
+action_86 (361) = happyShift action_91
+action_86 (362) = happyShift action_92
+action_86 (363) = happyShift action_93
+action_86 (364) = happyShift action_94
+action_86 (365) = happyShift action_95
+action_86 (366) = happyShift action_96
+action_86 (367) = happyShift action_97
+action_86 (368) = happyShift action_98
+action_86 (369) = happyShift action_99
+action_86 (370) = happyShift action_100
+action_86 (371) = happyShift action_101
+action_86 (373) = happyShift action_102
+action_86 (378) = happyShift action_103
+action_86 (380) = happyShift action_104
+action_86 (381) = happyShift action_105
+action_86 (383) = happyShift action_106
+action_86 (384) = happyShift action_107
+action_86 (391) = happyShift action_159
+action_86 (392) = happyShift action_109
+action_86 (396) = happyShift action_110
+action_86 (402) = happyShift action_112
+action_86 (403) = happyShift action_113
+action_86 (411) = happyShift action_114
+action_86 (412) = happyShift action_115
+action_86 (413) = happyShift action_116
+action_86 (169) = happyGoto action_252
+action_86 (170) = happyGoto action_25
+action_86 (171) = happyGoto action_26
+action_86 (172) = happyGoto action_27
+action_86 (173) = happyGoto action_28
+action_86 (176) = happyGoto action_29
+action_86 (177) = happyGoto action_30
+action_86 (178) = happyGoto action_31
+action_86 (181) = happyGoto action_32
+action_86 (182) = happyGoto action_33
+action_86 (183) = happyGoto action_34
+action_86 (190) = happyGoto action_35
+action_86 (228) = happyGoto action_38
+action_86 (231) = happyGoto action_39
+action_86 (232) = happyGoto action_40
+action_86 (234) = happyGoto action_41
+action_86 (244) = happyGoto action_42
+action_86 (245) = happyGoto action_43
+action_86 (246) = happyGoto action_44
+action_86 (247) = happyGoto action_45
+action_86 (248) = happyGoto action_46
+action_86 (249) = happyGoto action_47
+action_86 (257) = happyGoto action_48
+action_86 _ = happyFail
+
+action_87 (191) = happyGoto action_251
+action_87 _ = happyReduce_497
+
+action_88 _ = happyReduce_668
+
+action_89 _ = happyReduce_678
+
+action_90 _ = happyReduce_679
+
+action_91 _ = happyReduce_681
+
+action_92 _ = happyReduce_680
+
+action_93 _ = happyReduce_669
+
+action_94 _ = happyReduce_670
+
+action_95 _ = happyReduce_671
+
+action_96 _ = happyReduce_672
+
+action_97 _ = happyReduce_673
+
+action_98 _ = happyReduce_674
+
+action_99 _ = happyReduce_675
+
+action_100 _ = happyReduce_676
+
+action_101 _ = happyReduce_665
+
+action_102 (278) = happyShift action_49
+action_102 (279) = happyShift action_50
+action_102 (280) = happyShift action_51
+action_102 (281) = happyShift action_52
+action_102 (282) = happyShift action_53
+action_102 (283) = happyShift action_54
+action_102 (289) = happyShift action_55
+action_102 (290) = happyShift action_56
+action_102 (291) = happyShift action_57
+action_102 (292) = happyShift action_58
+action_102 (293) = happyShift action_59
+action_102 (294) = happyShift action_60
+action_102 (295) = happyShift action_61
+action_102 (296) = happyShift action_62
+action_102 (297) = happyShift action_63
+action_102 (298) = happyShift action_64
+action_102 (299) = happyShift action_65
+action_102 (301) = happyShift action_66
+action_102 (307) = happyShift action_67
+action_102 (309) = happyShift action_68
+action_102 (312) = happyShift action_69
+action_102 (319) = happyShift action_70
+action_102 (324) = happyShift action_71
+action_102 (325) = happyShift action_72
+action_102 (327) = happyShift action_73
+action_102 (334) = happyShift action_75
+action_102 (337) = happyShift action_76
+action_102 (338) = happyShift action_77
+action_102 (339) = happyShift action_78
+action_102 (340) = happyShift action_79
+action_102 (341) = happyShift action_80
+action_102 (342) = happyShift action_81
+action_102 (344) = happyShift action_82
+action_102 (345) = happyShift action_83
+action_102 (346) = happyShift action_84
+action_102 (348) = happyShift action_85
+action_102 (350) = happyShift action_86
+action_102 (351) = happyShift action_87
+action_102 (358) = happyShift action_88
+action_102 (359) = happyShift action_89
+action_102 (360) = happyShift action_90
+action_102 (361) = happyShift action_91
+action_102 (362) = happyShift action_92
+action_102 (363) = happyShift action_93
+action_102 (364) = happyShift action_94
+action_102 (365) = happyShift action_95
+action_102 (366) = happyShift action_96
+action_102 (367) = happyShift action_97
+action_102 (368) = happyShift action_98
+action_102 (369) = happyShift action_99
+action_102 (370) = happyShift action_100
+action_102 (371) = happyShift action_101
+action_102 (373) = happyShift action_102
+action_102 (378) = happyShift action_103
+action_102 (380) = happyShift action_104
+action_102 (381) = happyShift action_105
+action_102 (383) = happyShift action_106
+action_102 (384) = happyShift action_107
+action_102 (391) = happyShift action_159
+action_102 (392) = happyShift action_109
+action_102 (396) = happyShift action_110
+action_102 (402) = happyShift action_112
+action_102 (403) = happyShift action_113
+action_102 (411) = happyShift action_114
+action_102 (412) = happyShift action_115
+action_102 (413) = happyShift action_116
+action_102 (169) = happyGoto action_250
+action_102 (170) = happyGoto action_25
+action_102 (171) = happyGoto action_26
+action_102 (172) = happyGoto action_27
+action_102 (173) = happyGoto action_28
+action_102 (176) = happyGoto action_29
+action_102 (177) = happyGoto action_30
+action_102 (178) = happyGoto action_31
+action_102 (181) = happyGoto action_32
+action_102 (182) = happyGoto action_33
+action_102 (183) = happyGoto action_34
+action_102 (190) = happyGoto action_35
+action_102 (228) = happyGoto action_38
+action_102 (231) = happyGoto action_39
+action_102 (232) = happyGoto action_40
+action_102 (234) = happyGoto action_41
+action_102 (244) = happyGoto action_42
+action_102 (245) = happyGoto action_43
+action_102 (246) = happyGoto action_44
+action_102 (247) = happyGoto action_45
+action_102 (248) = happyGoto action_46
+action_102 (249) = happyGoto action_47
+action_102 (257) = happyGoto action_48
+action_102 _ = happyFail
+
+action_103 (304) = happyShift action_239
+action_103 (219) = happyGoto action_249
+action_103 (258) = happyGoto action_238
+action_103 _ = happyReduce_714
+
+action_104 _ = happyReduce_683
+
+action_105 _ = happyReduce_682
+
+action_106 _ = happyReduce_667
+
+action_107 (278) = happyShift action_49
+action_107 (279) = happyShift action_50
+action_107 (280) = happyShift action_51
+action_107 (281) = happyShift action_52
+action_107 (282) = happyShift action_53
+action_107 (283) = happyShift action_54
+action_107 (289) = happyShift action_55
+action_107 (290) = happyShift action_56
+action_107 (291) = happyShift action_57
+action_107 (292) = happyShift action_58
+action_107 (293) = happyShift action_59
+action_107 (294) = happyShift action_60
+action_107 (295) = happyShift action_61
+action_107 (296) = happyShift action_62
+action_107 (297) = happyShift action_63
+action_107 (298) = happyShift action_64
+action_107 (299) = happyShift action_65
+action_107 (301) = happyShift action_66
+action_107 (304) = happyShift action_248
+action_107 (307) = happyShift action_67
+action_107 (309) = happyShift action_68
+action_107 (312) = happyShift action_69
+action_107 (319) = happyShift action_70
+action_107 (324) = happyShift action_71
+action_107 (325) = happyShift action_72
+action_107 (327) = happyShift action_73
+action_107 (334) = happyShift action_75
+action_107 (337) = happyShift action_76
+action_107 (338) = happyShift action_77
+action_107 (339) = happyShift action_78
+action_107 (340) = happyShift action_79
+action_107 (341) = happyShift action_80
+action_107 (342) = happyShift action_81
+action_107 (344) = happyShift action_82
+action_107 (345) = happyShift action_83
+action_107 (346) = happyShift action_84
+action_107 (348) = happyShift action_85
+action_107 (350) = happyShift action_86
+action_107 (351) = happyShift action_87
+action_107 (358) = happyShift action_88
+action_107 (359) = happyShift action_89
+action_107 (360) = happyShift action_90
+action_107 (361) = happyShift action_91
+action_107 (362) = happyShift action_92
+action_107 (363) = happyShift action_93
+action_107 (364) = happyShift action_94
+action_107 (365) = happyShift action_95
+action_107 (366) = happyShift action_96
+action_107 (367) = happyShift action_97
+action_107 (368) = happyShift action_98
+action_107 (369) = happyShift action_99
+action_107 (370) = happyShift action_100
+action_107 (371) = happyShift action_101
+action_107 (373) = happyShift action_102
+action_107 (378) = happyShift action_103
+action_107 (380) = happyShift action_104
+action_107 (381) = happyShift action_105
+action_107 (383) = happyShift action_106
+action_107 (384) = happyShift action_107
+action_107 (391) = happyShift action_159
+action_107 (392) = happyShift action_109
+action_107 (396) = happyShift action_110
+action_107 (402) = happyShift action_112
+action_107 (403) = happyShift action_113
+action_107 (411) = happyShift action_114
+action_107 (412) = happyShift action_115
+action_107 (413) = happyShift action_116
+action_107 (169) = happyGoto action_245
+action_107 (170) = happyGoto action_25
+action_107 (171) = happyGoto action_26
+action_107 (172) = happyGoto action_27
+action_107 (173) = happyGoto action_28
+action_107 (176) = happyGoto action_29
+action_107 (177) = happyGoto action_30
+action_107 (178) = happyGoto action_31
+action_107 (181) = happyGoto action_32
+action_107 (182) = happyGoto action_33
+action_107 (183) = happyGoto action_34
+action_107 (190) = happyGoto action_35
+action_107 (216) = happyGoto action_246
+action_107 (228) = happyGoto action_38
+action_107 (231) = happyGoto action_39
+action_107 (232) = happyGoto action_40
+action_107 (234) = happyGoto action_41
+action_107 (244) = happyGoto action_42
+action_107 (245) = happyGoto action_43
+action_107 (246) = happyGoto action_44
+action_107 (247) = happyGoto action_45
+action_107 (248) = happyGoto action_46
+action_107 (249) = happyGoto action_47
+action_107 (257) = happyGoto action_48
+action_107 (258) = happyGoto action_247
+action_107 _ = happyReduce_714
+
+action_108 (304) = happyShift action_173
+action_108 (76) = happyGoto action_170
+action_108 (86) = happyGoto action_244
+action_108 (258) = happyGoto action_172
+action_108 _ = happyReduce_714
+
+action_109 (304) = happyShift action_239
+action_109 (219) = happyGoto action_243
+action_109 (258) = happyGoto action_238
+action_109 _ = happyReduce_714
+
+action_110 (278) = happyShift action_49
+action_110 (279) = happyShift action_50
+action_110 (280) = happyShift action_51
+action_110 (281) = happyShift action_52
+action_110 (282) = happyShift action_53
+action_110 (283) = happyShift action_54
+action_110 (289) = happyShift action_55
+action_110 (290) = happyShift action_56
+action_110 (291) = happyShift action_57
+action_110 (292) = happyShift action_58
+action_110 (293) = happyShift action_59
+action_110 (294) = happyShift action_60
+action_110 (295) = happyShift action_61
+action_110 (296) = happyShift action_62
+action_110 (297) = happyShift action_63
+action_110 (298) = happyShift action_64
+action_110 (299) = happyShift action_65
+action_110 (301) = happyShift action_66
+action_110 (307) = happyShift action_67
+action_110 (309) = happyShift action_68
+action_110 (312) = happyShift action_69
+action_110 (324) = happyShift action_71
+action_110 (325) = happyShift action_72
+action_110 (328) = happyShift action_242
+action_110 (334) = happyShift action_75
+action_110 (337) = happyShift action_76
+action_110 (338) = happyShift action_77
+action_110 (339) = happyShift action_78
+action_110 (340) = happyShift action_79
+action_110 (341) = happyShift action_80
+action_110 (342) = happyShift action_81
+action_110 (344) = happyShift action_82
+action_110 (345) = happyShift action_83
+action_110 (346) = happyShift action_84
+action_110 (348) = happyShift action_85
+action_110 (350) = happyShift action_86
+action_110 (351) = happyShift action_87
+action_110 (358) = happyShift action_88
+action_110 (359) = happyShift action_89
+action_110 (360) = happyShift action_90
+action_110 (361) = happyShift action_91
+action_110 (362) = happyShift action_92
+action_110 (363) = happyShift action_93
+action_110 (364) = happyShift action_94
+action_110 (365) = happyShift action_95
+action_110 (366) = happyShift action_96
+action_110 (367) = happyShift action_97
+action_110 (368) = happyShift action_98
+action_110 (369) = happyShift action_99
+action_110 (370) = happyShift action_100
+action_110 (371) = happyShift action_101
+action_110 (380) = happyShift action_104
+action_110 (381) = happyShift action_105
+action_110 (383) = happyShift action_106
+action_110 (402) = happyShift action_112
+action_110 (403) = happyShift action_113
+action_110 (180) = happyGoto action_240
+action_110 (181) = happyGoto action_241
+action_110 (182) = happyGoto action_33
+action_110 (183) = happyGoto action_34
+action_110 (190) = happyGoto action_35
+action_110 (228) = happyGoto action_38
+action_110 (231) = happyGoto action_39
+action_110 (232) = happyGoto action_40
+action_110 (234) = happyGoto action_41
+action_110 (244) = happyGoto action_42
+action_110 (245) = happyGoto action_43
+action_110 (246) = happyGoto action_44
+action_110 (247) = happyGoto action_45
+action_110 (248) = happyGoto action_46
+action_110 (249) = happyGoto action_47
+action_110 (257) = happyGoto action_48
+action_110 _ = happyFail
+
+action_111 (304) = happyShift action_239
+action_111 (219) = happyGoto action_237
+action_111 (258) = happyGoto action_238
+action_111 _ = happyReduce_714
+
+action_112 _ = happyReduce_666
+
+action_113 _ = happyReduce_684
+
+action_114 (292) = happyShift action_236
+action_114 _ = happyFail
+
+action_115 (292) = happyShift action_235
+action_115 _ = happyFail
+
+action_116 (292) = happyShift action_234
+action_116 _ = happyFail
+
+action_117 _ = happyReduce_247
+
+action_118 _ = happyReduce_296
+
+action_119 (278) = happyShift action_49
+action_119 (282) = happyShift action_53
+action_119 (283) = happyShift action_54
+action_119 (285) = happyShift action_229
+action_119 (286) = happyShift action_186
+action_119 (288) = happyShift action_187
+action_119 (289) = happyShift action_135
+action_119 (292) = happyShift action_136
+action_119 (299) = happyShift action_137
+action_119 (301) = happyShift action_138
+action_119 (307) = happyShift action_139
+action_119 (309) = happyShift action_140
+action_119 (312) = happyShift action_141
+action_119 (313) = happyShift action_230
+action_119 (316) = happyShift action_190
+action_119 (322) = happyShift action_231
+action_119 (325) = happyShift action_142
+action_119 (326) = happyShift action_232
+action_119 (327) = happyShift action_233
+action_119 (328) = happyShift action_143
+action_119 (337) = happyShift action_144
+action_119 (338) = happyShift action_145
+action_119 (344) = happyShift action_146
+action_119 (346) = happyShift action_147
+action_119 (358) = happyShift action_88
+action_119 (359) = happyShift action_148
+action_119 (360) = happyShift action_149
+action_119 (361) = happyShift action_150
+action_119 (363) = happyShift action_93
+action_119 (364) = happyShift action_94
+action_119 (365) = happyShift action_95
+action_119 (366) = happyShift action_96
+action_119 (367) = happyShift action_97
+action_119 (368) = happyShift action_98
+action_119 (369) = happyShift action_99
+action_119 (370) = happyShift action_100
+action_119 (371) = happyShift action_101
+action_119 (383) = happyShift action_106
+action_119 (402) = happyShift action_112
+action_119 (416) = happyShift action_152
+action_119 (417) = happyShift action_153
+action_119 (109) = happyGoto action_223
+action_119 (110) = happyGoto action_121
+action_119 (111) = happyGoto action_122
+action_119 (112) = happyGoto action_123
+action_119 (113) = happyGoto action_124
+action_119 (114) = happyGoto action_125
+action_119 (115) = happyGoto action_126
+action_119 (116) = happyGoto action_224
+action_119 (239) = happyGoto action_225
+action_119 (243) = happyGoto action_226
+action_119 (245) = happyGoto action_131
+action_119 (248) = happyGoto action_132
+action_119 (249) = happyGoto action_47
+action_119 (250) = happyGoto action_183
+action_119 (251) = happyGoto action_184
+action_119 (270) = happyGoto action_133
+action_119 (271) = happyGoto action_134
+action_119 (272) = happyGoto action_227
+action_119 (273) = happyGoto action_228
+action_119 _ = happyReduce_241
+
+action_120 _ = happyReduce_251
+
+action_121 _ = happyReduce_265
+
+action_122 (278) = happyShift action_49
+action_122 (282) = happyShift action_53
+action_122 (283) = happyShift action_54
+action_122 (289) = happyShift action_135
+action_122 (292) = happyShift action_136
+action_122 (299) = happyShift action_137
+action_122 (301) = happyShift action_138
+action_122 (307) = happyShift action_139
+action_122 (309) = happyShift action_140
+action_122 (312) = happyShift action_141
+action_122 (325) = happyShift action_142
+action_122 (328) = happyShift action_143
+action_122 (337) = happyShift action_144
+action_122 (338) = happyShift action_145
+action_122 (344) = happyShift action_146
+action_122 (346) = happyShift action_147
+action_122 (358) = happyShift action_88
+action_122 (359) = happyShift action_148
+action_122 (360) = happyShift action_149
+action_122 (361) = happyShift action_150
+action_122 (363) = happyShift action_93
+action_122 (364) = happyShift action_94
+action_122 (365) = happyShift action_95
+action_122 (366) = happyShift action_96
+action_122 (367) = happyShift action_97
+action_122 (368) = happyShift action_98
+action_122 (369) = happyShift action_99
+action_122 (370) = happyShift action_100
+action_122 (371) = happyShift action_101
+action_122 (383) = happyShift action_106
+action_122 (402) = happyShift action_112
+action_122 (416) = happyShift action_152
+action_122 (417) = happyShift action_153
+action_122 (109) = happyGoto action_222
+action_122 (110) = happyGoto action_121
+action_122 (111) = happyGoto action_122
+action_122 (112) = happyGoto action_123
+action_122 (113) = happyGoto action_124
+action_122 (114) = happyGoto action_125
+action_122 (115) = happyGoto action_126
+action_122 (245) = happyGoto action_131
+action_122 (248) = happyGoto action_132
+action_122 (249) = happyGoto action_47
+action_122 (270) = happyGoto action_133
+action_122 (271) = happyGoto action_134
+action_122 _ = happyFail
+
+action_123 _ = happyReduce_275
+
+action_124 (325) = happyShift action_142
+action_124 (328) = happyShift action_143
+action_124 (112) = happyGoto action_221
+action_124 _ = happyReduce_276
+
+action_125 _ = happyReduce_252
+
+action_126 _ = happyReduce_282
+
+action_127 (426) = happyAccept
+action_127 _ = happyFail
+
+action_128 _ = happyReduce_293
+
+action_129 (278) = happyShift action_49
+action_129 (280) = happyShift action_51
+action_129 (281) = happyShift action_52
+action_129 (282) = happyShift action_53
+action_129 (283) = happyShift action_54
+action_129 (289) = happyShift action_135
+action_129 (292) = happyShift action_136
+action_129 (299) = happyShift action_137
+action_129 (301) = happyShift action_138
+action_129 (307) = happyShift action_139
+action_129 (309) = happyShift action_140
+action_129 (312) = happyShift action_141
+action_129 (325) = happyShift action_142
+action_129 (328) = happyShift action_143
+action_129 (337) = happyShift action_144
+action_129 (338) = happyShift action_145
+action_129 (344) = happyShift action_146
+action_129 (346) = happyShift action_147
+action_129 (358) = happyShift action_88
+action_129 (359) = happyShift action_148
+action_129 (360) = happyShift action_149
+action_129 (361) = happyShift action_150
+action_129 (363) = happyShift action_93
+action_129 (364) = happyShift action_94
+action_129 (365) = happyShift action_95
+action_129 (366) = happyShift action_96
+action_129 (367) = happyShift action_97
+action_129 (368) = happyShift action_98
+action_129 (369) = happyShift action_99
+action_129 (370) = happyShift action_100
+action_129 (371) = happyShift action_101
+action_129 (381) = happyShift action_151
+action_129 (383) = happyShift action_106
+action_129 (402) = happyShift action_112
+action_129 (416) = happyShift action_152
+action_129 (417) = happyShift action_153
+action_129 (103) = happyGoto action_117
+action_129 (105) = happyGoto action_118
+action_129 (108) = happyGoto action_119
+action_129 (109) = happyGoto action_120
+action_129 (110) = happyGoto action_121
+action_129 (111) = happyGoto action_122
+action_129 (112) = happyGoto action_123
+action_129 (113) = happyGoto action_124
+action_129 (114) = happyGoto action_125
+action_129 (115) = happyGoto action_126
+action_129 (118) = happyGoto action_220
+action_129 (119) = happyGoto action_129
+action_129 (232) = happyGoto action_130
+action_129 (245) = happyGoto action_131
+action_129 (247) = happyGoto action_45
+action_129 (248) = happyGoto action_132
+action_129 (249) = happyGoto action_47
+action_129 (270) = happyGoto action_133
+action_129 (271) = happyGoto action_134
+action_129 _ = happyFail
+
+action_130 (317) = happyShift action_219
+action_130 _ = happyFail
+
+action_131 _ = happyReduce_737
+
+action_132 _ = happyReduce_289
+
+action_133 _ = happyReduce_253
+
+action_134 _ = happyReduce_736
+
+action_135 _ = happyReduce_273
+
+action_136 _ = happyReduce_274
+
+action_137 (278) = happyShift action_49
+action_137 (280) = happyShift action_51
+action_137 (281) = happyShift action_52
+action_137 (282) = happyShift action_53
+action_137 (283) = happyShift action_54
+action_137 (285) = happyShift action_211
+action_137 (286) = happyShift action_186
+action_137 (287) = happyShift action_212
+action_137 (288) = happyShift action_187
+action_137 (289) = happyShift action_135
+action_137 (292) = happyShift action_136
+action_137 (299) = happyShift action_137
+action_137 (300) = happyShift action_213
+action_137 (301) = happyShift action_138
+action_137 (307) = happyShift action_139
+action_137 (309) = happyShift action_140
+action_137 (311) = happyShift action_202
+action_137 (312) = happyShift action_141
+action_137 (314) = happyShift action_214
+action_137 (316) = happyShift action_190
+action_137 (322) = happyShift action_215
+action_137 (325) = happyShift action_142
+action_137 (327) = happyShift action_216
+action_137 (328) = happyShift action_217
+action_137 (329) = happyShift action_218
+action_137 (337) = happyShift action_144
+action_137 (338) = happyShift action_145
+action_137 (344) = happyShift action_146
+action_137 (346) = happyShift action_147
+action_137 (358) = happyShift action_88
+action_137 (359) = happyShift action_148
+action_137 (360) = happyShift action_149
+action_137 (361) = happyShift action_150
+action_137 (363) = happyShift action_93
+action_137 (364) = happyShift action_94
+action_137 (365) = happyShift action_95
+action_137 (366) = happyShift action_96
+action_137 (367) = happyShift action_97
+action_137 (368) = happyShift action_98
+action_137 (369) = happyShift action_99
+action_137 (370) = happyShift action_100
+action_137 (371) = happyShift action_101
+action_137 (381) = happyShift action_151
+action_137 (383) = happyShift action_106
+action_137 (402) = happyShift action_112
+action_137 (416) = happyShift action_152
+action_137 (417) = happyShift action_153
+action_137 (103) = happyGoto action_117
+action_137 (105) = happyGoto action_118
+action_137 (108) = happyGoto action_119
+action_137 (109) = happyGoto action_120
+action_137 (110) = happyGoto action_121
+action_137 (111) = happyGoto action_122
+action_137 (112) = happyGoto action_123
+action_137 (113) = happyGoto action_124
+action_137 (114) = happyGoto action_125
+action_137 (115) = happyGoto action_126
+action_137 (118) = happyGoto action_203
+action_137 (119) = happyGoto action_129
+action_137 (120) = happyGoto action_204
+action_137 (121) = happyGoto action_197
+action_137 (184) = happyGoto action_205
+action_137 (232) = happyGoto action_130
+action_137 (243) = happyGoto action_206
+action_137 (245) = happyGoto action_131
+action_137 (247) = happyGoto action_45
+action_137 (248) = happyGoto action_132
+action_137 (249) = happyGoto action_47
+action_137 (250) = happyGoto action_183
+action_137 (251) = happyGoto action_184
+action_137 (252) = happyGoto action_207
+action_137 (254) = happyGoto action_208
+action_137 (255) = happyGoto action_209
+action_137 (256) = happyGoto action_210
+action_137 (270) = happyGoto action_133
+action_137 (271) = happyGoto action_134
+action_137 _ = happyFail
+
+action_138 (278) = happyShift action_49
+action_138 (280) = happyShift action_51
+action_138 (281) = happyShift action_52
+action_138 (282) = happyShift action_53
+action_138 (283) = happyShift action_54
+action_138 (289) = happyShift action_135
+action_138 (292) = happyShift action_136
+action_138 (299) = happyShift action_137
+action_138 (301) = happyShift action_138
+action_138 (302) = happyShift action_201
+action_138 (307) = happyShift action_139
+action_138 (309) = happyShift action_140
+action_138 (311) = happyShift action_202
+action_138 (312) = happyShift action_141
+action_138 (325) = happyShift action_142
+action_138 (328) = happyShift action_143
+action_138 (337) = happyShift action_144
+action_138 (338) = happyShift action_145
+action_138 (344) = happyShift action_146
+action_138 (346) = happyShift action_147
+action_138 (358) = happyShift action_88
+action_138 (359) = happyShift action_148
+action_138 (360) = happyShift action_149
+action_138 (361) = happyShift action_150
+action_138 (363) = happyShift action_93
+action_138 (364) = happyShift action_94
+action_138 (365) = happyShift action_95
+action_138 (366) = happyShift action_96
+action_138 (367) = happyShift action_97
+action_138 (368) = happyShift action_98
+action_138 (369) = happyShift action_99
+action_138 (370) = happyShift action_100
+action_138 (371) = happyShift action_101
+action_138 (381) = happyShift action_151
+action_138 (383) = happyShift action_106
+action_138 (402) = happyShift action_112
+action_138 (416) = happyShift action_152
+action_138 (417) = happyShift action_153
+action_138 (103) = happyGoto action_117
+action_138 (105) = happyGoto action_118
+action_138 (108) = happyGoto action_119
+action_138 (109) = happyGoto action_120
+action_138 (110) = happyGoto action_121
+action_138 (111) = happyGoto action_122
+action_138 (112) = happyGoto action_123
+action_138 (113) = happyGoto action_124
+action_138 (114) = happyGoto action_125
+action_138 (115) = happyGoto action_126
+action_138 (118) = happyGoto action_195
+action_138 (119) = happyGoto action_129
+action_138 (121) = happyGoto action_199
+action_138 (184) = happyGoto action_200
+action_138 (232) = happyGoto action_130
+action_138 (245) = happyGoto action_131
+action_138 (247) = happyGoto action_45
+action_138 (248) = happyGoto action_132
+action_138 (249) = happyGoto action_47
+action_138 (270) = happyGoto action_133
+action_138 (271) = happyGoto action_134
+action_138 _ = happyFail
+
+action_139 (278) = happyShift action_49
+action_139 (280) = happyShift action_51
+action_139 (281) = happyShift action_52
+action_139 (282) = happyShift action_53
+action_139 (283) = happyShift action_54
+action_139 (289) = happyShift action_135
+action_139 (292) = happyShift action_136
+action_139 (299) = happyShift action_137
+action_139 (301) = happyShift action_138
+action_139 (307) = happyShift action_139
+action_139 (308) = happyShift action_198
+action_139 (309) = happyShift action_140
+action_139 (312) = happyShift action_141
+action_139 (325) = happyShift action_142
+action_139 (328) = happyShift action_143
+action_139 (337) = happyShift action_144
+action_139 (338) = happyShift action_145
+action_139 (344) = happyShift action_146
+action_139 (346) = happyShift action_147
+action_139 (358) = happyShift action_88
+action_139 (359) = happyShift action_148
+action_139 (360) = happyShift action_149
+action_139 (361) = happyShift action_150
+action_139 (363) = happyShift action_93
+action_139 (364) = happyShift action_94
+action_139 (365) = happyShift action_95
+action_139 (366) = happyShift action_96
+action_139 (367) = happyShift action_97
+action_139 (368) = happyShift action_98
+action_139 (369) = happyShift action_99
+action_139 (370) = happyShift action_100
+action_139 (371) = happyShift action_101
+action_139 (381) = happyShift action_151
+action_139 (383) = happyShift action_106
+action_139 (402) = happyShift action_112
+action_139 (416) = happyShift action_152
+action_139 (417) = happyShift action_153
+action_139 (103) = happyGoto action_117
+action_139 (105) = happyGoto action_194
+action_139 (108) = happyGoto action_119
+action_139 (109) = happyGoto action_120
+action_139 (110) = happyGoto action_121
+action_139 (111) = happyGoto action_122
+action_139 (112) = happyGoto action_123
+action_139 (113) = happyGoto action_124
+action_139 (114) = happyGoto action_125
+action_139 (115) = happyGoto action_126
+action_139 (118) = happyGoto action_195
+action_139 (119) = happyGoto action_129
+action_139 (120) = happyGoto action_196
+action_139 (121) = happyGoto action_197
+action_139 (232) = happyGoto action_130
+action_139 (245) = happyGoto action_131
+action_139 (247) = happyGoto action_45
+action_139 (248) = happyGoto action_132
+action_139 (249) = happyGoto action_47
+action_139 (270) = happyGoto action_133
+action_139 (271) = happyGoto action_134
+action_139 _ = happyFail
+
+action_140 (278) = happyShift action_49
+action_140 (280) = happyShift action_51
+action_140 (281) = happyShift action_52
+action_140 (282) = happyShift action_53
+action_140 (283) = happyShift action_54
+action_140 (289) = happyShift action_135
+action_140 (292) = happyShift action_136
+action_140 (299) = happyShift action_137
+action_140 (301) = happyShift action_138
+action_140 (307) = happyShift action_139
+action_140 (309) = happyShift action_140
+action_140 (312) = happyShift action_141
+action_140 (325) = happyShift action_142
+action_140 (328) = happyShift action_143
+action_140 (337) = happyShift action_144
+action_140 (338) = happyShift action_145
+action_140 (344) = happyShift action_146
+action_140 (346) = happyShift action_147
+action_140 (358) = happyShift action_88
+action_140 (359) = happyShift action_148
+action_140 (360) = happyShift action_149
+action_140 (361) = happyShift action_150
+action_140 (363) = happyShift action_93
+action_140 (364) = happyShift action_94
+action_140 (365) = happyShift action_95
+action_140 (366) = happyShift action_96
+action_140 (367) = happyShift action_97
+action_140 (368) = happyShift action_98
+action_140 (369) = happyShift action_99
+action_140 (370) = happyShift action_100
+action_140 (371) = happyShift action_101
+action_140 (383) = happyShift action_106
+action_140 (402) = happyShift action_112
+action_140 (416) = happyShift action_152
+action_140 (417) = happyShift action_153
+action_140 (103) = happyGoto action_117
+action_140 (105) = happyGoto action_192
+action_140 (108) = happyGoto action_193
+action_140 (109) = happyGoto action_120
+action_140 (110) = happyGoto action_121
+action_140 (111) = happyGoto action_122
+action_140 (112) = happyGoto action_123
+action_140 (113) = happyGoto action_124
+action_140 (114) = happyGoto action_125
+action_140 (115) = happyGoto action_126
+action_140 (232) = happyGoto action_130
+action_140 (245) = happyGoto action_131
+action_140 (247) = happyGoto action_45
+action_140 (248) = happyGoto action_132
+action_140 (249) = happyGoto action_47
+action_140 (270) = happyGoto action_133
+action_140 (271) = happyGoto action_134
+action_140 _ = happyFail
+
+action_141 _ = happyReduce_263
+
+action_142 _ = happyReduce_279
+
+action_143 _ = happyReduce_278
+
+action_144 _ = happyReduce_262
+
+action_145 (278) = happyShift action_49
+action_145 (279) = happyShift action_50
+action_145 (280) = happyShift action_51
+action_145 (281) = happyShift action_52
+action_145 (282) = happyShift action_53
+action_145 (283) = happyShift action_54
+action_145 (289) = happyShift action_55
+action_145 (290) = happyShift action_56
+action_145 (291) = happyShift action_57
+action_145 (292) = happyShift action_58
+action_145 (293) = happyShift action_59
+action_145 (294) = happyShift action_60
+action_145 (295) = happyShift action_61
+action_145 (296) = happyShift action_62
+action_145 (297) = happyShift action_63
+action_145 (298) = happyShift action_64
+action_145 (299) = happyShift action_65
+action_145 (301) = happyShift action_66
+action_145 (307) = happyShift action_67
+action_145 (309) = happyShift action_68
+action_145 (312) = happyShift action_69
+action_145 (319) = happyShift action_70
+action_145 (324) = happyShift action_71
+action_145 (325) = happyShift action_72
+action_145 (327) = happyShift action_73
+action_145 (334) = happyShift action_75
+action_145 (337) = happyShift action_76
+action_145 (338) = happyShift action_77
+action_145 (339) = happyShift action_78
+action_145 (340) = happyShift action_79
+action_145 (341) = happyShift action_80
+action_145 (342) = happyShift action_81
+action_145 (344) = happyShift action_82
+action_145 (345) = happyShift action_83
+action_145 (346) = happyShift action_84
+action_145 (348) = happyShift action_85
+action_145 (350) = happyShift action_86
+action_145 (351) = happyShift action_87
+action_145 (358) = happyShift action_88
+action_145 (359) = happyShift action_89
+action_145 (360) = happyShift action_90
+action_145 (361) = happyShift action_91
+action_145 (362) = happyShift action_92
+action_145 (363) = happyShift action_93
+action_145 (364) = happyShift action_94
+action_145 (365) = happyShift action_95
+action_145 (366) = happyShift action_96
+action_145 (367) = happyShift action_97
+action_145 (368) = happyShift action_98
+action_145 (369) = happyShift action_99
+action_145 (370) = happyShift action_100
+action_145 (371) = happyShift action_101
+action_145 (373) = happyShift action_102
+action_145 (378) = happyShift action_103
+action_145 (380) = happyShift action_104
+action_145 (381) = happyShift action_105
+action_145 (383) = happyShift action_106
+action_145 (384) = happyShift action_107
+action_145 (391) = happyShift action_159
+action_145 (392) = happyShift action_109
+action_145 (396) = happyShift action_110
+action_145 (402) = happyShift action_112
+action_145 (403) = happyShift action_113
+action_145 (411) = happyShift action_114
+action_145 (412) = happyShift action_115
+action_145 (413) = happyShift action_116
+action_145 (168) = happyGoto action_191
+action_145 (169) = happyGoto action_161
+action_145 (170) = happyGoto action_25
+action_145 (171) = happyGoto action_26
+action_145 (172) = happyGoto action_27
+action_145 (173) = happyGoto action_28
+action_145 (176) = happyGoto action_29
+action_145 (177) = happyGoto action_30
+action_145 (178) = happyGoto action_31
+action_145 (181) = happyGoto action_32
+action_145 (182) = happyGoto action_33
+action_145 (183) = happyGoto action_34
+action_145 (190) = happyGoto action_35
+action_145 (228) = happyGoto action_38
+action_145 (231) = happyGoto action_39
+action_145 (232) = happyGoto action_40
+action_145 (234) = happyGoto action_41
+action_145 (244) = happyGoto action_42
+action_145 (245) = happyGoto action_43
+action_145 (246) = happyGoto action_44
+action_145 (247) = happyGoto action_45
+action_145 (248) = happyGoto action_46
+action_145 (249) = happyGoto action_47
+action_145 (257) = happyGoto action_48
+action_145 _ = happyFail
+
+action_146 (282) = happyShift action_53
+action_146 (283) = happyShift action_54
+action_146 (286) = happyShift action_186
+action_146 (288) = happyShift action_187
+action_146 (299) = happyShift action_188
+action_146 (307) = happyShift action_189
+action_146 (316) = happyShift action_190
+action_146 (234) = happyGoto action_181
+action_146 (243) = happyGoto action_182
+action_146 (248) = happyGoto action_46
+action_146 (249) = happyGoto action_47
+action_146 (250) = happyGoto action_183
+action_146 (251) = happyGoto action_184
+action_146 (269) = happyGoto action_185
+action_146 _ = happyFail
+
+action_147 _ = happyReduce_264
+
+action_148 _ = happyReduce_738
+
+action_149 _ = happyReduce_739
+
+action_150 _ = happyReduce_740
+
+action_151 (122) = happyGoto action_180
+action_151 _ = happyReduce_302
+
+action_152 (425) = happyShift action_179
+action_152 _ = happyFail
+
+action_153 (425) = happyShift action_178
+action_153 _ = happyFail
+
+action_154 (426) = happyAccept
+action_154 _ = happyFail
+
+action_155 (26) = happyGoto action_177
+action_155 (27) = happyGoto action_175
+action_155 (28) = happyGoto action_176
+action_155 _ = happyReduce_41
+
+action_156 (26) = happyGoto action_174
+action_156 (27) = happyGoto action_175
+action_156 (28) = happyGoto action_176
+action_156 _ = happyReduce_41
+
+action_157 _ = happyReduce_600
+
+action_158 (426) = happyAccept
+action_158 _ = happyFail
+
+action_159 (304) = happyShift action_173
+action_159 (76) = happyGoto action_170
+action_159 (86) = happyGoto action_171
+action_159 (258) = happyGoto action_172
+action_159 _ = happyReduce_714
+
+action_160 (426) = happyAccept
+action_160 _ = happyFail
+
+action_161 _ = happyReduce_400
+
+action_162 (426) = happyAccept
+action_162 _ = happyFail
+
+action_163 (348) = happyShift action_167
+action_163 (350) = happyShift action_168
+action_163 (393) = happyShift action_169
+action_163 (17) = happyGoto action_164
+action_163 (22) = happyGoto action_165
+action_163 (23) = happyGoto action_166
+action_163 _ = happyReduce_29
+
+action_164 _ = happyReduce_14
+
+action_165 _ = happyReduce_16
+
+action_166 (304) = happyShift action_156
+action_166 (25) = happyGoto action_576
+action_166 (258) = happyGoto action_155
+action_166 _ = happyReduce_714
+
+action_167 (278) = happyShift action_256
+action_167 (282) = happyShift action_257
+action_167 (284) = happyShift action_258
+action_167 (357) = happyShift action_259
+action_167 (358) = happyShift action_260
+action_167 (359) = happyShift action_261
+action_167 (360) = happyShift action_262
+action_167 (361) = happyShift action_263
+action_167 (362) = happyShift action_264
+action_167 (363) = happyShift action_265
+action_167 (364) = happyShift action_266
+action_167 (365) = happyShift action_267
+action_167 (366) = happyShift action_268
+action_167 (367) = happyShift action_269
+action_167 (368) = happyShift action_270
+action_167 (369) = happyShift action_271
+action_167 (370) = happyShift action_272
+action_167 (371) = happyShift action_273
+action_167 (372) = happyShift action_274
+action_167 (373) = happyShift action_275
+action_167 (374) = happyShift action_276
+action_167 (375) = happyShift action_277
+action_167 (376) = happyShift action_278
+action_167 (377) = happyShift action_279
+action_167 (378) = happyShift action_280
+action_167 (379) = happyShift action_281
+action_167 (380) = happyShift action_282
+action_167 (381) = happyShift action_283
+action_167 (382) = happyShift action_284
+action_167 (383) = happyShift action_285
+action_167 (384) = happyShift action_286
+action_167 (385) = happyShift action_287
+action_167 (386) = happyShift action_288
+action_167 (387) = happyShift action_289
+action_167 (388) = happyShift action_290
+action_167 (389) = happyShift action_291
+action_167 (390) = happyShift action_292
+action_167 (391) = happyShift action_293
+action_167 (392) = happyShift action_294
+action_167 (393) = happyShift action_295
+action_167 (394) = happyShift action_296
+action_167 (395) = happyShift action_297
+action_167 (396) = happyShift action_298
+action_167 (397) = happyShift action_299
+action_167 (398) = happyShift action_300
+action_167 (399) = happyShift action_301
+action_167 (400) = happyShift action_302
+action_167 (401) = happyShift action_303
+action_167 (402) = happyShift action_304
+action_167 (193) = happyGoto action_575
+action_167 (194) = happyGoto action_254
+action_167 (195) = happyGoto action_255
+action_167 _ = happyFail
+
+action_168 (393) = happyShift action_169
+action_168 (22) = happyGoto action_574
+action_168 (23) = happyGoto action_166
+action_168 _ = happyReduce_29
+
+action_169 (282) = happyShift action_403
+action_169 (283) = happyShift action_404
+action_169 (267) = happyGoto action_573
+action_169 _ = happyFail
+
+action_170 _ = happyReduce_194
+
+action_171 (386) = happyShift action_524
+action_171 _ = happyFail
+
+action_172 (27) = happyGoto action_175
+action_172 (28) = happyGoto action_568
+action_172 (73) = happyGoto action_571
+action_172 (225) = happyGoto action_572
+action_172 _ = happyReduce_41
+
+action_173 (27) = happyGoto action_175
+action_173 (28) = happyGoto action_568
+action_173 (73) = happyGoto action_569
+action_173 (225) = happyGoto action_570
+action_173 _ = happyReduce_41
+
+action_174 (305) = happyShift action_567
+action_174 _ = happyFail
+
+action_175 _ = happyReduce_40
+
+action_176 (278) = happyShift action_49
+action_176 (279) = happyShift action_50
+action_176 (280) = happyShift action_51
+action_176 (281) = happyShift action_52
+action_176 (282) = happyShift action_53
+action_176 (283) = happyShift action_54
+action_176 (289) = happyShift action_55
+action_176 (290) = happyShift action_56
+action_176 (291) = happyShift action_57
+action_176 (292) = happyShift action_58
+action_176 (293) = happyShift action_59
+action_176 (294) = happyShift action_60
+action_176 (295) = happyShift action_61
+action_176 (296) = happyShift action_62
+action_176 (297) = happyShift action_63
+action_176 (298) = happyShift action_64
+action_176 (299) = happyShift action_65
+action_176 (301) = happyShift action_66
+action_176 (303) = happyShift action_566
+action_176 (307) = happyShift action_67
+action_176 (309) = happyShift action_68
+action_176 (312) = happyShift action_69
+action_176 (319) = happyShift action_70
+action_176 (324) = happyShift action_71
+action_176 (325) = happyShift action_72
+action_176 (327) = happyShift action_73
+action_176 (328) = happyShift action_486
+action_176 (334) = happyShift action_75
+action_176 (337) = happyShift action_76
+action_176 (338) = happyShift action_77
+action_176 (339) = happyShift action_78
+action_176 (340) = happyShift action_79
+action_176 (341) = happyShift action_80
+action_176 (342) = happyShift action_81
+action_176 (344) = happyShift action_82
+action_176 (345) = happyShift action_83
+action_176 (346) = happyShift action_84
+action_176 (348) = happyShift action_85
+action_176 (350) = happyShift action_86
+action_176 (351) = happyShift action_87
+action_176 (357) = happyShift action_487
+action_176 (358) = happyShift action_88
+action_176 (359) = happyShift action_89
+action_176 (360) = happyShift action_90
+action_176 (361) = happyShift action_91
+action_176 (362) = happyShift action_92
+action_176 (363) = happyShift action_93
+action_176 (364) = happyShift action_94
+action_176 (365) = happyShift action_95
+action_176 (366) = happyShift action_96
+action_176 (367) = happyShift action_97
+action_176 (368) = happyShift action_98
+action_176 (369) = happyShift action_99
+action_176 (370) = happyShift action_100
+action_176 (371) = happyShift action_101
+action_176 (373) = happyShift action_102
+action_176 (374) = happyShift action_488
+action_176 (375) = happyShift action_489
+action_176 (376) = happyShift action_490
+action_176 (377) = happyShift action_491
+action_176 (378) = happyShift action_103
+action_176 (380) = happyShift action_104
+action_176 (381) = happyShift action_105
+action_176 (383) = happyShift action_106
+action_176 (384) = happyShift action_107
+action_176 (385) = happyShift action_22
+action_176 (387) = happyShift action_492
+action_176 (388) = happyShift action_493
+action_176 (389) = happyShift action_494
+action_176 (390) = happyShift action_495
+action_176 (391) = happyShift action_159
+action_176 (392) = happyShift action_109
+action_176 (394) = happyShift action_496
+action_176 (396) = happyShift action_110
+action_176 (399) = happyShift action_497
+action_176 (402) = happyShift action_112
+action_176 (403) = happyShift action_113
+action_176 (404) = happyShift action_498
+action_176 (405) = happyShift action_499
+action_176 (406) = happyShift action_500
+action_176 (407) = happyShift action_501
+action_176 (408) = happyShift action_502
+action_176 (410) = happyShift action_503
+action_176 (411) = happyShift action_114
+action_176 (412) = happyShift action_115
+action_176 (413) = happyShift action_116
+action_176 (414) = happyShift action_504
+action_176 (415) = happyShift action_505
+action_176 (420) = happyShift action_506
+action_176 (421) = happyShift action_507
+action_176 (35) = happyGoto action_563
+action_176 (36) = happyGoto action_564
+action_176 (49) = happyGoto action_469
+action_176 (51) = happyGoto action_470
+action_176 (56) = happyGoto action_565
+action_176 (57) = happyGoto action_472
+action_176 (58) = happyGoto action_473
+action_176 (63) = happyGoto action_474
+action_176 (71) = happyGoto action_475
+action_176 (75) = happyGoto action_476
+action_176 (77) = happyGoto action_477
+action_176 (78) = happyGoto action_478
+action_176 (79) = happyGoto action_479
+action_176 (162) = happyGoto action_480
+action_176 (170) = happyGoto action_481
+action_176 (171) = happyGoto action_26
+action_176 (172) = happyGoto action_482
+action_176 (173) = happyGoto action_28
+action_176 (176) = happyGoto action_29
+action_176 (177) = happyGoto action_30
+action_176 (178) = happyGoto action_31
+action_176 (181) = happyGoto action_32
+action_176 (182) = happyGoto action_33
+action_176 (183) = happyGoto action_34
+action_176 (190) = happyGoto action_35
+action_176 (228) = happyGoto action_38
+action_176 (231) = happyGoto action_39
+action_176 (232) = happyGoto action_40
+action_176 (234) = happyGoto action_41
+action_176 (244) = happyGoto action_42
+action_176 (245) = happyGoto action_43
+action_176 (246) = happyGoto action_44
+action_176 (247) = happyGoto action_45
+action_176 (248) = happyGoto action_46
+action_176 (249) = happyGoto action_47
+action_176 (257) = happyGoto action_48
+action_176 (260) = happyGoto action_483
+action_176 (261) = happyGoto action_484
+action_176 (265) = happyGoto action_485
+action_176 _ = happyReduce_38
+
+action_177 (1) = happyShift action_400
+action_177 (306) = happyShift action_401
+action_177 (259) = happyGoto action_562
+action_177 _ = happyFail
+
+action_178 _ = happyReduce_281
+
+action_179 _ = happyReduce_280
+
+action_180 (278) = happyShift action_49
+action_180 (299) = happyShift action_560
+action_180 (314) = happyShift action_561
+action_180 (358) = happyShift action_88
+action_180 (359) = happyShift action_148
+action_180 (360) = happyShift action_149
+action_180 (361) = happyShift action_150
+action_180 (363) = happyShift action_93
+action_180 (364) = happyShift action_94
+action_180 (365) = happyShift action_95
+action_180 (366) = happyShift action_96
+action_180 (367) = happyShift action_97
+action_180 (368) = happyShift action_98
+action_180 (369) = happyShift action_99
+action_180 (370) = happyShift action_100
+action_180 (371) = happyShift action_101
+action_180 (383) = happyShift action_106
+action_180 (402) = happyShift action_112
+action_180 (123) = happyGoto action_558
+action_180 (245) = happyGoto action_131
+action_180 (270) = happyGoto action_559
+action_180 (271) = happyGoto action_134
+action_180 _ = happyFail
+
+action_181 _ = happyReduce_735
+
+action_182 _ = happyReduce_271
+
+action_183 _ = happyReduce_661
+
+action_184 _ = happyReduce_690
+
+action_185 _ = happyReduce_272
+
+action_186 _ = happyReduce_692
+
+action_187 _ = happyReduce_691
+
+action_188 (278) = happyShift action_49
+action_188 (280) = happyShift action_51
+action_188 (281) = happyShift action_52
+action_188 (282) = happyShift action_53
+action_188 (283) = happyShift action_54
+action_188 (286) = happyShift action_186
+action_188 (288) = happyShift action_187
+action_188 (289) = happyShift action_135
+action_188 (292) = happyShift action_136
+action_188 (299) = happyShift action_137
+action_188 (300) = happyShift action_557
+action_188 (301) = happyShift action_138
+action_188 (307) = happyShift action_139
+action_188 (309) = happyShift action_140
+action_188 (312) = happyShift action_141
+action_188 (316) = happyShift action_190
+action_188 (325) = happyShift action_142
+action_188 (328) = happyShift action_143
+action_188 (337) = happyShift action_144
+action_188 (338) = happyShift action_145
+action_188 (344) = happyShift action_146
+action_188 (346) = happyShift action_147
+action_188 (358) = happyShift action_88
+action_188 (359) = happyShift action_148
+action_188 (360) = happyShift action_149
+action_188 (361) = happyShift action_150
+action_188 (363) = happyShift action_93
+action_188 (364) = happyShift action_94
+action_188 (365) = happyShift action_95
+action_188 (366) = happyShift action_96
+action_188 (367) = happyShift action_97
+action_188 (368) = happyShift action_98
+action_188 (369) = happyShift action_99
+action_188 (370) = happyShift action_100
+action_188 (371) = happyShift action_101
+action_188 (381) = happyShift action_151
+action_188 (383) = happyShift action_106
+action_188 (402) = happyShift action_112
+action_188 (416) = happyShift action_152
+action_188 (417) = happyShift action_153
+action_188 (103) = happyGoto action_117
+action_188 (105) = happyGoto action_118
+action_188 (108) = happyGoto action_119
+action_188 (109) = happyGoto action_120
+action_188 (110) = happyGoto action_121
+action_188 (111) = happyGoto action_122
+action_188 (112) = happyGoto action_123
+action_188 (113) = happyGoto action_124
+action_188 (114) = happyGoto action_125
+action_188 (115) = happyGoto action_126
+action_188 (118) = happyGoto action_195
+action_188 (119) = happyGoto action_129
+action_188 (121) = happyGoto action_556
+action_188 (232) = happyGoto action_130
+action_188 (243) = happyGoto action_508
+action_188 (245) = happyGoto action_131
+action_188 (247) = happyGoto action_45
+action_188 (248) = happyGoto action_132
+action_188 (249) = happyGoto action_47
+action_188 (250) = happyGoto action_183
+action_188 (251) = happyGoto action_184
+action_188 (270) = happyGoto action_133
+action_188 (271) = happyGoto action_134
+action_188 _ = happyFail
+
+action_189 (278) = happyShift action_49
+action_189 (280) = happyShift action_51
+action_189 (281) = happyShift action_52
+action_189 (282) = happyShift action_53
+action_189 (283) = happyShift action_54
+action_189 (289) = happyShift action_135
+action_189 (292) = happyShift action_136
+action_189 (299) = happyShift action_137
+action_189 (301) = happyShift action_138
+action_189 (307) = happyShift action_139
+action_189 (308) = happyShift action_555
+action_189 (309) = happyShift action_140
+action_189 (312) = happyShift action_141
+action_189 (325) = happyShift action_142
+action_189 (328) = happyShift action_143
+action_189 (337) = happyShift action_144
+action_189 (338) = happyShift action_145
+action_189 (344) = happyShift action_146
+action_189 (346) = happyShift action_147
+action_189 (358) = happyShift action_88
+action_189 (359) = happyShift action_148
+action_189 (360) = happyShift action_149
+action_189 (361) = happyShift action_150
+action_189 (363) = happyShift action_93
+action_189 (364) = happyShift action_94
+action_189 (365) = happyShift action_95
+action_189 (366) = happyShift action_96
+action_189 (367) = happyShift action_97
+action_189 (368) = happyShift action_98
+action_189 (369) = happyShift action_99
+action_189 (370) = happyShift action_100
+action_189 (371) = happyShift action_101
+action_189 (381) = happyShift action_151
+action_189 (383) = happyShift action_106
+action_189 (402) = happyShift action_112
+action_189 (416) = happyShift action_152
+action_189 (417) = happyShift action_153
+action_189 (103) = happyGoto action_117
+action_189 (105) = happyGoto action_118
+action_189 (108) = happyGoto action_119
+action_189 (109) = happyGoto action_120
+action_189 (110) = happyGoto action_121
+action_189 (111) = happyGoto action_122
+action_189 (112) = happyGoto action_123
+action_189 (113) = happyGoto action_124
+action_189 (114) = happyGoto action_125
+action_189 (115) = happyGoto action_126
+action_189 (118) = happyGoto action_195
+action_189 (119) = happyGoto action_129
+action_189 (121) = happyGoto action_554
+action_189 (232) = happyGoto action_130
+action_189 (245) = happyGoto action_131
+action_189 (247) = happyGoto action_45
+action_189 (248) = happyGoto action_132
+action_189 (249) = happyGoto action_47
+action_189 (270) = happyGoto action_133
+action_189 (271) = happyGoto action_134
+action_189 _ = happyFail
+
+action_190 _ = happyReduce_660
+
+action_191 (300) = happyShift action_553
+action_191 _ = happyFail
+
+action_192 (310) = happyShift action_552
+action_192 _ = happyFail
+
+action_193 (278) = happyShift action_49
+action_193 (282) = happyShift action_53
+action_193 (283) = happyShift action_54
+action_193 (285) = happyShift action_229
+action_193 (286) = happyShift action_186
+action_193 (288) = happyShift action_187
+action_193 (289) = happyShift action_135
+action_193 (292) = happyShift action_136
+action_193 (299) = happyShift action_137
+action_193 (301) = happyShift action_138
+action_193 (307) = happyShift action_139
+action_193 (309) = happyShift action_140
+action_193 (312) = happyShift action_141
+action_193 (313) = happyShift action_230
+action_193 (316) = happyShift action_190
+action_193 (322) = happyShift action_231
+action_193 (325) = happyShift action_142
+action_193 (327) = happyShift action_233
+action_193 (328) = happyShift action_143
+action_193 (337) = happyShift action_144
+action_193 (338) = happyShift action_145
+action_193 (344) = happyShift action_146
+action_193 (346) = happyShift action_147
+action_193 (358) = happyShift action_88
+action_193 (359) = happyShift action_148
+action_193 (360) = happyShift action_149
+action_193 (361) = happyShift action_150
+action_193 (363) = happyShift action_93
+action_193 (364) = happyShift action_94
+action_193 (365) = happyShift action_95
+action_193 (366) = happyShift action_96
+action_193 (367) = happyShift action_97
+action_193 (368) = happyShift action_98
+action_193 (369) = happyShift action_99
+action_193 (370) = happyShift action_100
+action_193 (371) = happyShift action_101
+action_193 (383) = happyShift action_106
+action_193 (402) = happyShift action_112
+action_193 (416) = happyShift action_152
+action_193 (417) = happyShift action_153
+action_193 (109) = happyGoto action_223
+action_193 (110) = happyGoto action_121
+action_193 (111) = happyGoto action_122
+action_193 (112) = happyGoto action_123
+action_193 (113) = happyGoto action_124
+action_193 (114) = happyGoto action_125
+action_193 (115) = happyGoto action_126
+action_193 (116) = happyGoto action_224
+action_193 (239) = happyGoto action_225
+action_193 (243) = happyGoto action_226
+action_193 (245) = happyGoto action_131
+action_193 (248) = happyGoto action_132
+action_193 (249) = happyGoto action_47
+action_193 (250) = happyGoto action_183
+action_193 (251) = happyGoto action_184
+action_193 (270) = happyGoto action_133
+action_193 (271) = happyGoto action_134
+action_193 (272) = happyGoto action_227
+action_193 (273) = happyGoto action_228
+action_193 _ = happyReduce_241
+
+action_194 (308) = happyShift action_551
+action_194 _ = happyReduce_296
+
+action_195 _ = happyReduce_299
+
+action_196 (308) = happyShift action_550
+action_196 _ = happyFail
+
+action_197 (311) = happyShift action_549
+action_197 _ = happyFail
+
+action_198 _ = happyReduce_285
+
+action_199 (302) = happyShift action_547
+action_199 (311) = happyShift action_548
+action_199 _ = happyFail
+
+action_200 (302) = happyShift action_546
+action_200 (311) = happyShift action_437
+action_200 _ = happyFail
+
+action_201 _ = happyReduce_287
+
+action_202 _ = happyReduce_478
+
+action_203 (300) = happyShift action_544
+action_203 (317) = happyShift action_545
+action_203 _ = happyReduce_299
+
+action_204 (300) = happyShift action_543
+action_204 _ = happyFail
+
+action_205 (300) = happyShift action_542
+action_205 (311) = happyShift action_437
+action_205 _ = happyFail
+
+action_206 (300) = happyShift action_541
+action_206 _ = happyFail
+
+action_207 (300) = happyShift action_540
+action_207 _ = happyFail
+
+action_208 _ = happyReduce_693
+
+action_209 _ = happyReduce_697
+
+action_210 _ = happyReduce_694
+
+action_211 _ = happyReduce_699
+
+action_212 _ = happyReduce_703
+
+action_213 _ = happyReduce_283
+
+action_214 _ = happyReduce_701
+
+action_215 (300) = happyShift action_539
+action_215 _ = happyFail
+
+action_216 _ = happyReduce_698
+
+action_217 (300) = happyReduce_700
+action_217 _ = happyReduce_278
+
+action_218 _ = happyReduce_702
+
+action_219 (278) = happyShift action_49
+action_219 (282) = happyShift action_53
+action_219 (283) = happyShift action_54
+action_219 (289) = happyShift action_135
+action_219 (292) = happyShift action_136
+action_219 (299) = happyShift action_137
+action_219 (301) = happyShift action_138
+action_219 (307) = happyShift action_139
+action_219 (309) = happyShift action_140
+action_219 (312) = happyShift action_141
+action_219 (325) = happyShift action_142
+action_219 (328) = happyShift action_143
+action_219 (337) = happyShift action_144
+action_219 (338) = happyShift action_145
+action_219 (344) = happyShift action_146
+action_219 (346) = happyShift action_147
+action_219 (358) = happyShift action_88
+action_219 (359) = happyShift action_148
+action_219 (360) = happyShift action_149
+action_219 (361) = happyShift action_150
+action_219 (363) = happyShift action_93
+action_219 (364) = happyShift action_94
+action_219 (365) = happyShift action_95
+action_219 (366) = happyShift action_96
+action_219 (367) = happyShift action_97
+action_219 (368) = happyShift action_98
+action_219 (369) = happyShift action_99
+action_219 (370) = happyShift action_100
+action_219 (371) = happyShift action_101
+action_219 (383) = happyShift action_106
+action_219 (402) = happyShift action_112
+action_219 (416) = happyShift action_152
+action_219 (417) = happyShift action_153
+action_219 (103) = happyGoto action_538
+action_219 (108) = happyGoto action_193
+action_219 (109) = happyGoto action_120
+action_219 (110) = happyGoto action_121
+action_219 (111) = happyGoto action_122
+action_219 (112) = happyGoto action_123
+action_219 (113) = happyGoto action_124
+action_219 (114) = happyGoto action_125
+action_219 (115) = happyGoto action_126
+action_219 (245) = happyGoto action_131
+action_219 (248) = happyGoto action_132
+action_219 (249) = happyGoto action_47
+action_219 (270) = happyGoto action_133
+action_219 (271) = happyGoto action_134
+action_219 _ = happyFail
+
+action_220 _ = happyReduce_295
+
+action_221 _ = happyReduce_277
+
+action_222 _ = happyReduce_254
+
+action_223 _ = happyReduce_250
+
+action_224 (278) = happyShift action_49
+action_224 (282) = happyShift action_53
+action_224 (283) = happyShift action_54
+action_224 (289) = happyShift action_135
+action_224 (292) = happyShift action_136
+action_224 (299) = happyShift action_137
+action_224 (301) = happyShift action_138
+action_224 (307) = happyShift action_139
+action_224 (309) = happyShift action_140
+action_224 (312) = happyShift action_141
+action_224 (325) = happyShift action_142
+action_224 (328) = happyShift action_143
+action_224 (337) = happyShift action_144
+action_224 (338) = happyShift action_145
+action_224 (344) = happyShift action_146
+action_224 (346) = happyShift action_147
+action_224 (358) = happyShift action_88
+action_224 (359) = happyShift action_148
+action_224 (360) = happyShift action_149
+action_224 (361) = happyShift action_150
+action_224 (363) = happyShift action_93
+action_224 (364) = happyShift action_94
+action_224 (365) = happyShift action_95
+action_224 (366) = happyShift action_96
+action_224 (367) = happyShift action_97
+action_224 (368) = happyShift action_98
+action_224 (369) = happyShift action_99
+action_224 (370) = happyShift action_100
+action_224 (371) = happyShift action_101
+action_224 (383) = happyShift action_106
+action_224 (402) = happyShift action_112
+action_224 (416) = happyShift action_152
+action_224 (417) = happyShift action_153
+action_224 (103) = happyGoto action_537
+action_224 (108) = happyGoto action_193
+action_224 (109) = happyGoto action_120
+action_224 (110) = happyGoto action_121
+action_224 (111) = happyGoto action_122
+action_224 (112) = happyGoto action_123
+action_224 (113) = happyGoto action_124
+action_224 (114) = happyGoto action_125
+action_224 (115) = happyGoto action_126
+action_224 (245) = happyGoto action_131
+action_224 (248) = happyGoto action_132
+action_224 (249) = happyGoto action_47
+action_224 (270) = happyGoto action_133
+action_224 (271) = happyGoto action_134
+action_224 _ = happyFail
+
+action_225 _ = happyReduce_292
+
+action_226 _ = happyReduce_652
+
+action_227 (278) = happyShift action_49
+action_227 (282) = happyShift action_53
+action_227 (283) = happyShift action_54
+action_227 (289) = happyShift action_135
+action_227 (292) = happyShift action_136
+action_227 (299) = happyShift action_137
+action_227 (301) = happyShift action_138
+action_227 (307) = happyShift action_139
+action_227 (309) = happyShift action_140
+action_227 (312) = happyShift action_141
+action_227 (325) = happyShift action_142
+action_227 (328) = happyShift action_143
+action_227 (337) = happyShift action_144
+action_227 (338) = happyShift action_145
+action_227 (344) = happyShift action_146
+action_227 (346) = happyShift action_147
+action_227 (358) = happyShift action_88
+action_227 (359) = happyShift action_148
+action_227 (360) = happyShift action_149
+action_227 (361) = happyShift action_150
+action_227 (363) = happyShift action_93
+action_227 (364) = happyShift action_94
+action_227 (365) = happyShift action_95
+action_227 (366) = happyShift action_96
+action_227 (367) = happyShift action_97
+action_227 (368) = happyShift action_98
+action_227 (369) = happyShift action_99
+action_227 (370) = happyShift action_100
+action_227 (371) = happyShift action_101
+action_227 (383) = happyShift action_106
+action_227 (402) = happyShift action_112
+action_227 (416) = happyShift action_152
+action_227 (417) = happyShift action_153
+action_227 (103) = happyGoto action_536
+action_227 (108) = happyGoto action_193
+action_227 (109) = happyGoto action_120
+action_227 (110) = happyGoto action_121
+action_227 (111) = happyGoto action_122
+action_227 (112) = happyGoto action_123
+action_227 (113) = happyGoto action_124
+action_227 (114) = happyGoto action_125
+action_227 (115) = happyGoto action_126
+action_227 (245) = happyGoto action_131
+action_227 (248) = happyGoto action_132
+action_227 (249) = happyGoto action_47
+action_227 (270) = happyGoto action_133
+action_227 (271) = happyGoto action_134
+action_227 _ = happyFail
+
+action_228 _ = happyReduce_742
+
+action_229 _ = happyReduce_743
+
+action_230 (278) = happyShift action_49
+action_230 (282) = happyShift action_53
+action_230 (283) = happyShift action_54
+action_230 (358) = happyShift action_88
+action_230 (359) = happyShift action_148
+action_230 (360) = happyShift action_149
+action_230 (361) = happyShift action_150
+action_230 (363) = happyShift action_93
+action_230 (364) = happyShift action_94
+action_230 (365) = happyShift action_95
+action_230 (366) = happyShift action_96
+action_230 (367) = happyShift action_97
+action_230 (368) = happyShift action_98
+action_230 (369) = happyShift action_99
+action_230 (370) = happyShift action_100
+action_230 (371) = happyShift action_101
+action_230 (383) = happyShift action_106
+action_230 (402) = happyShift action_112
+action_230 (245) = happyGoto action_131
+action_230 (248) = happyGoto action_417
+action_230 (249) = happyGoto action_47
+action_230 (270) = happyGoto action_535
+action_230 (271) = happyGoto action_134
+action_230 _ = happyFail
+
+action_231 (278) = happyShift action_49
+action_231 (280) = happyShift action_51
+action_231 (281) = happyShift action_52
+action_231 (282) = happyShift action_53
+action_231 (283) = happyShift action_54
+action_231 (289) = happyShift action_135
+action_231 (292) = happyShift action_136
+action_231 (299) = happyShift action_137
+action_231 (301) = happyShift action_138
+action_231 (307) = happyShift action_139
+action_231 (309) = happyShift action_140
+action_231 (312) = happyShift action_141
+action_231 (325) = happyShift action_142
+action_231 (328) = happyShift action_143
+action_231 (337) = happyShift action_144
+action_231 (338) = happyShift action_145
+action_231 (344) = happyShift action_146
+action_231 (346) = happyShift action_147
+action_231 (358) = happyShift action_88
+action_231 (359) = happyShift action_148
+action_231 (360) = happyShift action_149
+action_231 (361) = happyShift action_150
+action_231 (363) = happyShift action_93
+action_231 (364) = happyShift action_94
+action_231 (365) = happyShift action_95
+action_231 (366) = happyShift action_96
+action_231 (367) = happyShift action_97
+action_231 (368) = happyShift action_98
+action_231 (369) = happyShift action_99
+action_231 (370) = happyShift action_100
+action_231 (371) = happyShift action_101
+action_231 (381) = happyShift action_151
+action_231 (383) = happyShift action_106
+action_231 (402) = happyShift action_112
+action_231 (416) = happyShift action_152
+action_231 (417) = happyShift action_153
+action_231 (103) = happyGoto action_117
+action_231 (105) = happyGoto action_118
+action_231 (108) = happyGoto action_119
+action_231 (109) = happyGoto action_120
+action_231 (110) = happyGoto action_121
+action_231 (111) = happyGoto action_122
+action_231 (112) = happyGoto action_123
+action_231 (113) = happyGoto action_124
+action_231 (114) = happyGoto action_125
+action_231 (115) = happyGoto action_126
+action_231 (118) = happyGoto action_534
+action_231 (119) = happyGoto action_129
+action_231 (232) = happyGoto action_130
+action_231 (245) = happyGoto action_131
+action_231 (247) = happyGoto action_45
+action_231 (248) = happyGoto action_132
+action_231 (249) = happyGoto action_47
+action_231 (270) = happyGoto action_133
+action_231 (271) = happyGoto action_134
+action_231 _ = happyFail
+
+action_232 _ = happyReduce_297
+
+action_233 _ = happyReduce_744
+
+action_234 (289) = happyShift action_533
+action_234 _ = happyFail
+
+action_235 (425) = happyShift action_532
+action_235 _ = happyFail
+
+action_236 (425) = happyShift action_531
+action_236 _ = happyFail
+
+action_237 _ = happyReduce_617
+
+action_238 (278) = happyShift action_49
+action_238 (279) = happyShift action_50
+action_238 (280) = happyShift action_51
+action_238 (281) = happyShift action_52
+action_238 (282) = happyShift action_53
+action_238 (283) = happyShift action_54
+action_238 (289) = happyShift action_55
+action_238 (290) = happyShift action_56
+action_238 (291) = happyShift action_57
+action_238 (292) = happyShift action_58
+action_238 (293) = happyShift action_59
+action_238 (294) = happyShift action_60
+action_238 (295) = happyShift action_61
+action_238 (296) = happyShift action_62
+action_238 (297) = happyShift action_63
+action_238 (298) = happyShift action_64
+action_238 (299) = happyShift action_65
+action_238 (301) = happyShift action_66
+action_238 (303) = happyShift action_529
+action_238 (307) = happyShift action_67
+action_238 (309) = happyShift action_68
+action_238 (312) = happyShift action_69
+action_238 (319) = happyShift action_70
+action_238 (324) = happyShift action_71
+action_238 (325) = happyShift action_72
+action_238 (327) = happyShift action_73
+action_238 (328) = happyShift action_74
+action_238 (334) = happyShift action_75
+action_238 (337) = happyShift action_76
+action_238 (338) = happyShift action_77
+action_238 (339) = happyShift action_78
+action_238 (340) = happyShift action_79
+action_238 (341) = happyShift action_80
+action_238 (342) = happyShift action_81
+action_238 (344) = happyShift action_82
+action_238 (345) = happyShift action_83
+action_238 (346) = happyShift action_84
+action_238 (348) = happyShift action_85
+action_238 (350) = happyShift action_86
+action_238 (351) = happyShift action_87
+action_238 (358) = happyShift action_88
+action_238 (359) = happyShift action_89
+action_238 (360) = happyShift action_90
+action_238 (361) = happyShift action_91
+action_238 (362) = happyShift action_92
+action_238 (363) = happyShift action_93
+action_238 (364) = happyShift action_94
+action_238 (365) = happyShift action_95
+action_238 (366) = happyShift action_96
+action_238 (367) = happyShift action_97
+action_238 (368) = happyShift action_98
+action_238 (369) = happyShift action_99
+action_238 (370) = happyShift action_100
+action_238 (371) = happyShift action_101
+action_238 (373) = happyShift action_102
+action_238 (378) = happyShift action_103
+action_238 (380) = happyShift action_104
+action_238 (381) = happyShift action_105
+action_238 (383) = happyShift action_106
+action_238 (384) = happyShift action_107
+action_238 (391) = happyShift action_108
+action_238 (392) = happyShift action_109
+action_238 (396) = happyShift action_110
+action_238 (397) = happyShift action_111
+action_238 (402) = happyShift action_112
+action_238 (403) = happyShift action_113
+action_238 (411) = happyShift action_114
+action_238 (412) = happyShift action_115
+action_238 (413) = happyShift action_116
+action_238 (168) = happyGoto action_23
+action_238 (169) = happyGoto action_24
+action_238 (170) = happyGoto action_25
+action_238 (171) = happyGoto action_26
+action_238 (172) = happyGoto action_27
+action_238 (173) = happyGoto action_28
+action_238 (176) = happyGoto action_29
+action_238 (177) = happyGoto action_30
+action_238 (178) = happyGoto action_31
+action_238 (181) = happyGoto action_32
+action_238 (182) = happyGoto action_33
+action_238 (183) = happyGoto action_34
+action_238 (190) = happyGoto action_35
+action_238 (215) = happyGoto action_36
+action_238 (220) = happyGoto action_530
+action_238 (222) = happyGoto action_528
+action_238 (228) = happyGoto action_38
+action_238 (231) = happyGoto action_39
+action_238 (232) = happyGoto action_40
+action_238 (234) = happyGoto action_41
+action_238 (244) = happyGoto action_42
+action_238 (245) = happyGoto action_43
+action_238 (246) = happyGoto action_44
+action_238 (247) = happyGoto action_45
+action_238 (248) = happyGoto action_46
+action_238 (249) = happyGoto action_47
+action_238 (257) = happyGoto action_48
+action_238 _ = happyReduce_611
+
+action_239 (278) = happyShift action_49
+action_239 (279) = happyShift action_50
+action_239 (280) = happyShift action_51
+action_239 (281) = happyShift action_52
+action_239 (282) = happyShift action_53
+action_239 (283) = happyShift action_54
+action_239 (289) = happyShift action_55
+action_239 (290) = happyShift action_56
+action_239 (291) = happyShift action_57
+action_239 (292) = happyShift action_58
+action_239 (293) = happyShift action_59
+action_239 (294) = happyShift action_60
+action_239 (295) = happyShift action_61
+action_239 (296) = happyShift action_62
+action_239 (297) = happyShift action_63
+action_239 (298) = happyShift action_64
+action_239 (299) = happyShift action_65
+action_239 (301) = happyShift action_66
+action_239 (303) = happyShift action_529
+action_239 (307) = happyShift action_67
+action_239 (309) = happyShift action_68
+action_239 (312) = happyShift action_69
+action_239 (319) = happyShift action_70
+action_239 (324) = happyShift action_71
+action_239 (325) = happyShift action_72
+action_239 (327) = happyShift action_73
+action_239 (328) = happyShift action_74
+action_239 (334) = happyShift action_75
+action_239 (337) = happyShift action_76
+action_239 (338) = happyShift action_77
+action_239 (339) = happyShift action_78
+action_239 (340) = happyShift action_79
+action_239 (341) = happyShift action_80
+action_239 (342) = happyShift action_81
+action_239 (344) = happyShift action_82
+action_239 (345) = happyShift action_83
+action_239 (346) = happyShift action_84
+action_239 (348) = happyShift action_85
+action_239 (350) = happyShift action_86
+action_239 (351) = happyShift action_87
+action_239 (358) = happyShift action_88
+action_239 (359) = happyShift action_89
+action_239 (360) = happyShift action_90
+action_239 (361) = happyShift action_91
+action_239 (362) = happyShift action_92
+action_239 (363) = happyShift action_93
+action_239 (364) = happyShift action_94
+action_239 (365) = happyShift action_95
+action_239 (366) = happyShift action_96
+action_239 (367) = happyShift action_97
+action_239 (368) = happyShift action_98
+action_239 (369) = happyShift action_99
+action_239 (370) = happyShift action_100
+action_239 (371) = happyShift action_101
+action_239 (373) = happyShift action_102
+action_239 (378) = happyShift action_103
+action_239 (380) = happyShift action_104
+action_239 (381) = happyShift action_105
+action_239 (383) = happyShift action_106
+action_239 (384) = happyShift action_107
+action_239 (391) = happyShift action_108
+action_239 (392) = happyShift action_109
+action_239 (396) = happyShift action_110
+action_239 (397) = happyShift action_111
+action_239 (402) = happyShift action_112
+action_239 (403) = happyShift action_113
+action_239 (411) = happyShift action_114
+action_239 (412) = happyShift action_115
+action_239 (413) = happyShift action_116
+action_239 (168) = happyGoto action_23
+action_239 (169) = happyGoto action_24
+action_239 (170) = happyGoto action_25
+action_239 (171) = happyGoto action_26
+action_239 (172) = happyGoto action_27
+action_239 (173) = happyGoto action_28
+action_239 (176) = happyGoto action_29
+action_239 (177) = happyGoto action_30
+action_239 (178) = happyGoto action_31
+action_239 (181) = happyGoto action_32
+action_239 (182) = happyGoto action_33
+action_239 (183) = happyGoto action_34
+action_239 (190) = happyGoto action_35
+action_239 (215) = happyGoto action_36
+action_239 (220) = happyGoto action_527
+action_239 (222) = happyGoto action_528
+action_239 (228) = happyGoto action_38
+action_239 (231) = happyGoto action_39
+action_239 (232) = happyGoto action_40
+action_239 (234) = happyGoto action_41
+action_239 (244) = happyGoto action_42
+action_239 (245) = happyGoto action_43
+action_239 (246) = happyGoto action_44
+action_239 (247) = happyGoto action_45
+action_239 (248) = happyGoto action_46
+action_239 (249) = happyGoto action_47
+action_239 (257) = happyGoto action_48
+action_239 _ = happyReduce_611
+
+action_240 (322) = happyShift action_526
+action_240 _ = happyFail
+
+action_241 _ = happyReduce_437
+
+action_242 (278) = happyShift action_49
+action_242 (279) = happyShift action_50
+action_242 (280) = happyShift action_51
+action_242 (281) = happyShift action_52
+action_242 (282) = happyShift action_53
+action_242 (283) = happyShift action_54
+action_242 (289) = happyShift action_55
+action_242 (290) = happyShift action_56
+action_242 (291) = happyShift action_57
+action_242 (292) = happyShift action_58
+action_242 (293) = happyShift action_59
+action_242 (294) = happyShift action_60
+action_242 (295) = happyShift action_61
+action_242 (296) = happyShift action_62
+action_242 (297) = happyShift action_63
+action_242 (298) = happyShift action_64
+action_242 (299) = happyShift action_65
+action_242 (301) = happyShift action_66
+action_242 (307) = happyShift action_67
+action_242 (309) = happyShift action_68
+action_242 (312) = happyShift action_69
+action_242 (324) = happyShift action_71
+action_242 (325) = happyShift action_72
+action_242 (334) = happyShift action_75
+action_242 (337) = happyShift action_76
+action_242 (338) = happyShift action_77
+action_242 (339) = happyShift action_78
+action_242 (340) = happyShift action_79
+action_242 (341) = happyShift action_80
+action_242 (342) = happyShift action_81
+action_242 (344) = happyShift action_82
+action_242 (345) = happyShift action_83
+action_242 (346) = happyShift action_84
+action_242 (348) = happyShift action_85
+action_242 (350) = happyShift action_86
+action_242 (351) = happyShift action_87
+action_242 (358) = happyShift action_88
+action_242 (359) = happyShift action_89
+action_242 (360) = happyShift action_90
+action_242 (361) = happyShift action_91
+action_242 (362) = happyShift action_92
+action_242 (363) = happyShift action_93
+action_242 (364) = happyShift action_94
+action_242 (365) = happyShift action_95
+action_242 (366) = happyShift action_96
+action_242 (367) = happyShift action_97
+action_242 (368) = happyShift action_98
+action_242 (369) = happyShift action_99
+action_242 (370) = happyShift action_100
+action_242 (371) = happyShift action_101
+action_242 (380) = happyShift action_104
+action_242 (381) = happyShift action_105
+action_242 (383) = happyShift action_106
+action_242 (402) = happyShift action_112
+action_242 (403) = happyShift action_113
+action_242 (181) = happyGoto action_525
+action_242 (182) = happyGoto action_33
+action_242 (183) = happyGoto action_34
+action_242 (190) = happyGoto action_35
+action_242 (228) = happyGoto action_38
+action_242 (231) = happyGoto action_39
+action_242 (232) = happyGoto action_40
+action_242 (234) = happyGoto action_41
+action_242 (244) = happyGoto action_42
+action_242 (245) = happyGoto action_43
+action_242 (246) = happyGoto action_44
+action_242 (247) = happyGoto action_45
+action_242 (248) = happyGoto action_46
+action_242 (249) = happyGoto action_47
+action_242 (257) = happyGoto action_48
+action_242 _ = happyFail
+
+action_243 _ = happyReduce_428
+
+action_244 (386) = happyShift action_524
+action_244 _ = happyReduce_614
+
+action_245 (303) = happyShift action_523
+action_245 (174) = happyGoto action_522
+action_245 _ = happyReduce_421
+
+action_246 _ = happyReduce_417
+
+action_247 (27) = happyGoto action_175
+action_247 (28) = happyGoto action_519
+action_247 (217) = happyGoto action_521
+action_247 _ = happyReduce_41
+
+action_248 (27) = happyGoto action_175
+action_248 (28) = happyGoto action_519
+action_248 (217) = happyGoto action_520
+action_248 _ = happyReduce_41
+
+action_249 _ = happyReduce_427
+
+action_250 (395) = happyShift action_518
+action_250 _ = happyFail
+
+action_251 (303) = happyShift action_515
+action_251 (347) = happyShift action_516
+action_251 (348) = happyShift action_85
+action_251 (350) = happyShift action_86
+action_251 (351) = happyShift action_87
+action_251 (355) = happyShift action_517
+action_251 (175) = happyGoto action_512
+action_251 (190) = happyGoto action_513
+action_251 (192) = happyGoto action_514
+action_251 _ = happyReduce_423
+
+action_252 (354) = happyShift action_511
+action_252 _ = happyFail
+
+action_253 (196) = happyGoto action_510
+action_253 _ = happyReduce_554
+
+action_254 (316) = happyShift action_509
+action_254 _ = happyReduce_502
+
+action_255 _ = happyReduce_506
+
+action_256 _ = happyReduce_503
+
+action_257 _ = happyReduce_504
+
+action_258 _ = happyReduce_505
+
+action_259 _ = happyReduce_510
+
+action_260 _ = happyReduce_511
+
+action_261 _ = happyReduce_512
+
+action_262 _ = happyReduce_513
+
+action_263 _ = happyReduce_515
+
+action_264 _ = happyReduce_514
+
+action_265 _ = happyReduce_516
+
+action_266 _ = happyReduce_517
+
+action_267 _ = happyReduce_518
+
+action_268 _ = happyReduce_519
+
+action_269 _ = happyReduce_520
+
+action_270 _ = happyReduce_521
+
+action_271 _ = happyReduce_522
+
+action_272 _ = happyReduce_523
+
+action_273 _ = happyReduce_524
+
+action_274 _ = happyReduce_525
+
+action_275 _ = happyReduce_526
+
+action_276 _ = happyReduce_508
+
+action_277 _ = happyReduce_509
+
+action_278 _ = happyReduce_527
+
+action_279 _ = happyReduce_528
+
+action_280 _ = happyReduce_529
+
+action_281 _ = happyReduce_530
+
+action_282 _ = happyReduce_531
+
+action_283 _ = happyReduce_532
+
+action_284 _ = happyReduce_533
+
+action_285 _ = happyReduce_534
+
+action_286 _ = happyReduce_535
+
+action_287 _ = happyReduce_536
+
+action_288 _ = happyReduce_537
+
+action_289 _ = happyReduce_538
+
+action_290 _ = happyReduce_539
+
+action_291 _ = happyReduce_540
+
+action_292 _ = happyReduce_541
+
+action_293 _ = happyReduce_542
+
+action_294 _ = happyReduce_543
+
+action_295 _ = happyReduce_544
+
+action_296 _ = happyReduce_545
+
+action_297 _ = happyReduce_546
+
+action_298 _ = happyReduce_547
+
+action_299 _ = happyReduce_548
+
+action_300 _ = happyReduce_549
+
+action_301 _ = happyReduce_507
+
+action_302 _ = happyReduce_550
+
+action_303 _ = happyReduce_551
+
+action_304 _ = happyReduce_552
+
+action_305 _ = happyReduce_475
+
+action_306 _ = happyReduce_474
+
+action_307 (285) = happyShift action_211
+action_307 (286) = happyShift action_186
+action_307 (287) = happyShift action_212
+action_307 (288) = happyShift action_187
+action_307 (300) = happyShift action_213
+action_307 (311) = happyShift action_202
+action_307 (314) = happyShift action_214
+action_307 (316) = happyShift action_190
+action_307 (322) = happyShift action_215
+action_307 (327) = happyShift action_216
+action_307 (328) = happyShift action_340
+action_307 (329) = happyShift action_218
+action_307 (184) = happyGoto action_205
+action_307 (243) = happyGoto action_206
+action_307 (250) = happyGoto action_183
+action_307 (251) = happyGoto action_184
+action_307 (252) = happyGoto action_207
+action_307 (254) = happyGoto action_208
+action_307 (255) = happyGoto action_209
+action_307 (256) = happyGoto action_210
+action_307 _ = happyFail
+
+action_308 (302) = happyShift action_201
+action_308 (311) = happyShift action_202
+action_308 (184) = happyGoto action_200
+action_308 _ = happyFail
+
+action_309 (308) = happyShift action_198
+action_309 _ = happyFail
+
+action_310 _ = happyReduce_472
+
+action_311 _ = happyReduce_473
+
+action_312 (285) = happyShift action_211
+action_312 (286) = happyShift action_186
+action_312 (287) = happyShift action_212
+action_312 (288) = happyShift action_187
+action_312 (314) = happyShift action_214
+action_312 (316) = happyShift action_190
+action_312 (327) = happyShift action_216
+action_312 (328) = happyShift action_340
+action_312 (329) = happyShift action_218
+action_312 (243) = happyGoto action_508
+action_312 (250) = happyGoto action_183
+action_312 (251) = happyGoto action_184
+action_312 (252) = happyGoto action_353
+action_312 (254) = happyGoto action_208
+action_312 (255) = happyGoto action_209
+action_312 (256) = happyGoto action_210
+action_312 _ = happyFail
+
+action_313 (278) = happyShift action_49
+action_313 (279) = happyShift action_50
+action_313 (280) = happyShift action_51
+action_313 (281) = happyShift action_52
+action_313 (282) = happyShift action_53
+action_313 (283) = happyShift action_54
+action_313 (289) = happyShift action_55
+action_313 (290) = happyShift action_56
+action_313 (291) = happyShift action_57
+action_313 (292) = happyShift action_58
+action_313 (293) = happyShift action_59
+action_313 (294) = happyShift action_60
+action_313 (295) = happyShift action_61
+action_313 (296) = happyShift action_62
+action_313 (297) = happyShift action_63
+action_313 (298) = happyShift action_64
+action_313 (299) = happyShift action_65
+action_313 (301) = happyShift action_66
+action_313 (307) = happyShift action_67
+action_313 (309) = happyShift action_68
+action_313 (312) = happyShift action_69
+action_313 (319) = happyShift action_70
+action_313 (324) = happyShift action_71
+action_313 (325) = happyShift action_72
+action_313 (327) = happyShift action_73
+action_313 (328) = happyShift action_486
+action_313 (334) = happyShift action_75
+action_313 (337) = happyShift action_76
+action_313 (338) = happyShift action_77
+action_313 (339) = happyShift action_78
+action_313 (340) = happyShift action_79
+action_313 (341) = happyShift action_80
+action_313 (342) = happyShift action_81
+action_313 (344) = happyShift action_82
+action_313 (345) = happyShift action_83
+action_313 (346) = happyShift action_84
+action_313 (348) = happyShift action_85
+action_313 (350) = happyShift action_86
+action_313 (351) = happyShift action_87
+action_313 (357) = happyShift action_487
+action_313 (358) = happyShift action_88
+action_313 (359) = happyShift action_89
+action_313 (360) = happyShift action_90
+action_313 (361) = happyShift action_91
+action_313 (362) = happyShift action_92
+action_313 (363) = happyShift action_93
+action_313 (364) = happyShift action_94
+action_313 (365) = happyShift action_95
+action_313 (366) = happyShift action_96
+action_313 (367) = happyShift action_97
+action_313 (368) = happyShift action_98
+action_313 (369) = happyShift action_99
+action_313 (370) = happyShift action_100
+action_313 (371) = happyShift action_101
+action_313 (373) = happyShift action_102
+action_313 (374) = happyShift action_488
+action_313 (375) = happyShift action_489
+action_313 (376) = happyShift action_490
+action_313 (377) = happyShift action_491
+action_313 (378) = happyShift action_103
+action_313 (380) = happyShift action_104
+action_313 (381) = happyShift action_105
+action_313 (383) = happyShift action_106
+action_313 (384) = happyShift action_107
+action_313 (387) = happyShift action_492
+action_313 (388) = happyShift action_493
+action_313 (389) = happyShift action_494
+action_313 (390) = happyShift action_495
+action_313 (391) = happyShift action_159
+action_313 (392) = happyShift action_109
+action_313 (394) = happyShift action_496
+action_313 (396) = happyShift action_110
+action_313 (399) = happyShift action_497
+action_313 (402) = happyShift action_112
+action_313 (403) = happyShift action_113
+action_313 (404) = happyShift action_498
+action_313 (405) = happyShift action_499
+action_313 (406) = happyShift action_500
+action_313 (407) = happyShift action_501
+action_313 (408) = happyShift action_502
+action_313 (410) = happyShift action_503
+action_313 (411) = happyShift action_114
+action_313 (412) = happyShift action_115
+action_313 (413) = happyShift action_116
+action_313 (414) = happyShift action_504
+action_313 (415) = happyShift action_505
+action_313 (420) = happyShift action_506
+action_313 (421) = happyShift action_507
+action_313 (49) = happyGoto action_469
+action_313 (51) = happyGoto action_470
+action_313 (56) = happyGoto action_471
+action_313 (57) = happyGoto action_472
+action_313 (58) = happyGoto action_473
+action_313 (63) = happyGoto action_474
+action_313 (71) = happyGoto action_475
+action_313 (75) = happyGoto action_476
+action_313 (77) = happyGoto action_477
+action_313 (78) = happyGoto action_478
+action_313 (79) = happyGoto action_479
+action_313 (162) = happyGoto action_480
+action_313 (170) = happyGoto action_481
+action_313 (171) = happyGoto action_26
+action_313 (172) = happyGoto action_482
+action_313 (173) = happyGoto action_28
+action_313 (176) = happyGoto action_29
+action_313 (177) = happyGoto action_30
+action_313 (178) = happyGoto action_31
+action_313 (181) = happyGoto action_32
+action_313 (182) = happyGoto action_33
+action_313 (183) = happyGoto action_34
+action_313 (190) = happyGoto action_35
+action_313 (228) = happyGoto action_38
+action_313 (231) = happyGoto action_39
+action_313 (232) = happyGoto action_40
+action_313 (234) = happyGoto action_41
+action_313 (244) = happyGoto action_42
+action_313 (245) = happyGoto action_43
+action_313 (246) = happyGoto action_44
+action_313 (247) = happyGoto action_45
+action_313 (248) = happyGoto action_46
+action_313 (249) = happyGoto action_47
+action_313 (257) = happyGoto action_48
+action_313 (260) = happyGoto action_483
+action_313 (261) = happyGoto action_484
+action_313 (265) = happyGoto action_485
+action_313 _ = happyFail
+
+action_314 (343) = happyShift action_468
+action_314 _ = happyFail
+
+action_315 (343) = happyShift action_467
+action_315 _ = happyFail
+
+action_316 (285) = happyShift action_211
+action_316 (286) = happyShift action_186
+action_316 (287) = happyShift action_212
+action_316 (288) = happyShift action_187
+action_316 (313) = happyShift action_367
+action_316 (314) = happyShift action_214
+action_316 (316) = happyShift action_190
+action_316 (327) = happyShift action_216
+action_316 (328) = happyShift action_340
+action_316 (329) = happyShift action_218
+action_316 (236) = happyGoto action_363
+action_316 (239) = happyGoto action_364
+action_316 (241) = happyGoto action_466
+action_316 (243) = happyGoto action_226
+action_316 (250) = happyGoto action_183
+action_316 (251) = happyGoto action_184
+action_316 (252) = happyGoto action_366
+action_316 (254) = happyGoto action_208
+action_316 (255) = happyGoto action_209
+action_316 (256) = happyGoto action_210
+action_316 _ = happyReduce_409
+
+action_317 (343) = happyShift action_465
+action_317 _ = happyFail
+
+action_318 (300) = happyShift action_464
+action_318 _ = happyFail
+
+action_319 (320) = happyShift action_463
+action_319 _ = happyReduce_489
+
+action_320 (311) = happyShift action_461
+action_320 (335) = happyShift action_462
+action_320 _ = happyFail
+
+action_321 _ = happyReduce_601
+
+action_322 (278) = happyShift action_49
+action_322 (279) = happyShift action_50
+action_322 (280) = happyShift action_51
+action_322 (281) = happyShift action_52
+action_322 (282) = happyShift action_53
+action_322 (283) = happyShift action_54
+action_322 (289) = happyShift action_55
+action_322 (290) = happyShift action_56
+action_322 (291) = happyShift action_57
+action_322 (292) = happyShift action_58
+action_322 (293) = happyShift action_59
+action_322 (294) = happyShift action_60
+action_322 (295) = happyShift action_61
+action_322 (296) = happyShift action_62
+action_322 (297) = happyShift action_63
+action_322 (298) = happyShift action_64
+action_322 (299) = happyShift action_65
+action_322 (301) = happyShift action_66
+action_322 (307) = happyShift action_67
+action_322 (309) = happyShift action_68
+action_322 (312) = happyShift action_69
+action_322 (324) = happyShift action_71
+action_322 (325) = happyShift action_72
+action_322 (334) = happyShift action_75
+action_322 (337) = happyShift action_76
+action_322 (338) = happyShift action_77
+action_322 (339) = happyShift action_78
+action_322 (340) = happyShift action_79
+action_322 (341) = happyShift action_80
+action_322 (342) = happyShift action_81
+action_322 (344) = happyShift action_82
+action_322 (345) = happyShift action_83
+action_322 (346) = happyShift action_84
+action_322 (348) = happyShift action_85
+action_322 (350) = happyShift action_86
+action_322 (351) = happyShift action_87
+action_322 (358) = happyShift action_88
+action_322 (359) = happyShift action_89
+action_322 (360) = happyShift action_90
+action_322 (361) = happyShift action_91
+action_322 (362) = happyShift action_92
+action_322 (363) = happyShift action_93
+action_322 (364) = happyShift action_94
+action_322 (365) = happyShift action_95
+action_322 (366) = happyShift action_96
+action_322 (367) = happyShift action_97
+action_322 (368) = happyShift action_98
+action_322 (369) = happyShift action_99
+action_322 (370) = happyShift action_100
+action_322 (371) = happyShift action_101
+action_322 (380) = happyShift action_104
+action_322 (381) = happyShift action_105
+action_322 (383) = happyShift action_106
+action_322 (402) = happyShift action_112
+action_322 (403) = happyShift action_113
+action_322 (181) = happyGoto action_362
+action_322 (182) = happyGoto action_33
+action_322 (183) = happyGoto action_34
+action_322 (190) = happyGoto action_35
+action_322 (228) = happyGoto action_38
+action_322 (231) = happyGoto action_39
+action_322 (232) = happyGoto action_40
+action_322 (234) = happyGoto action_41
+action_322 (244) = happyGoto action_42
+action_322 (245) = happyGoto action_43
+action_322 (246) = happyGoto action_44
+action_322 (247) = happyGoto action_45
+action_322 (248) = happyGoto action_46
+action_322 (249) = happyGoto action_47
+action_322 (257) = happyGoto action_48
+action_322 _ = happyReduce_426
+
+action_323 _ = happyReduce_441
+
+action_324 _ = happyReduce_442
+
+action_325 _ = happyReduce_249
+
+action_326 (278) = happyShift action_49
+action_326 (279) = happyShift action_50
+action_326 (280) = happyShift action_51
+action_326 (281) = happyShift action_52
+action_326 (282) = happyShift action_53
+action_326 (283) = happyShift action_54
+action_326 (289) = happyShift action_55
+action_326 (290) = happyShift action_56
+action_326 (291) = happyShift action_57
+action_326 (292) = happyShift action_58
+action_326 (293) = happyShift action_59
+action_326 (294) = happyShift action_60
+action_326 (295) = happyShift action_61
+action_326 (296) = happyShift action_62
+action_326 (297) = happyShift action_63
+action_326 (298) = happyShift action_64
+action_326 (299) = happyShift action_65
+action_326 (301) = happyShift action_66
+action_326 (307) = happyShift action_67
+action_326 (309) = happyShift action_68
+action_326 (312) = happyShift action_69
+action_326 (322) = happyShift action_460
+action_326 (324) = happyShift action_71
+action_326 (325) = happyShift action_72
+action_326 (328) = happyShift action_242
+action_326 (334) = happyShift action_75
+action_326 (337) = happyShift action_76
+action_326 (338) = happyShift action_77
+action_326 (339) = happyShift action_78
+action_326 (340) = happyShift action_79
+action_326 (341) = happyShift action_80
+action_326 (342) = happyShift action_81
+action_326 (344) = happyShift action_82
+action_326 (345) = happyShift action_83
+action_326 (346) = happyShift action_84
+action_326 (348) = happyShift action_85
+action_326 (350) = happyShift action_86
+action_326 (351) = happyShift action_87
+action_326 (358) = happyShift action_88
+action_326 (359) = happyShift action_89
+action_326 (360) = happyShift action_90
+action_326 (361) = happyShift action_91
+action_326 (362) = happyShift action_92
+action_326 (363) = happyShift action_93
+action_326 (364) = happyShift action_94
+action_326 (365) = happyShift action_95
+action_326 (366) = happyShift action_96
+action_326 (367) = happyShift action_97
+action_326 (368) = happyShift action_98
+action_326 (369) = happyShift action_99
+action_326 (370) = happyShift action_100
+action_326 (371) = happyShift action_101
+action_326 (380) = happyShift action_104
+action_326 (381) = happyShift action_105
+action_326 (383) = happyShift action_106
+action_326 (402) = happyShift action_112
+action_326 (403) = happyShift action_113
+action_326 (180) = happyGoto action_459
+action_326 (181) = happyGoto action_241
+action_326 (182) = happyGoto action_33
+action_326 (183) = happyGoto action_34
+action_326 (190) = happyGoto action_35
+action_326 (228) = happyGoto action_38
+action_326 (231) = happyGoto action_39
+action_326 (232) = happyGoto action_40
+action_326 (234) = happyGoto action_41
+action_326 (244) = happyGoto action_42
+action_326 (245) = happyGoto action_43
+action_326 (246) = happyGoto action_44
+action_326 (247) = happyGoto action_45
+action_326 (248) = happyGoto action_46
+action_326 (249) = happyGoto action_47
+action_326 (257) = happyGoto action_48
+action_326 _ = happyFail
+
+action_327 _ = happyReduce_436
+
+action_328 (304) = happyShift action_458
+action_328 (208) = happyGoto action_456
+action_328 (258) = happyGoto action_457
+action_328 _ = happyReduce_714
+
+action_329 (322) = happyShift action_439
+action_329 _ = happyReduce_479
+
+action_330 (311) = happyShift action_453
+action_330 (315) = happyShift action_454
+action_330 (320) = happyShift action_455
+action_330 _ = happyReduce_584
+
+action_331 (311) = happyShift action_445
+action_331 _ = happyReduce_585
+
+action_332 (310) = happyShift action_452
+action_332 _ = happyFail
+
+action_333 _ = happyReduce_658
+
+action_334 _ = happyReduce_659
+
+action_335 (278) = happyShift action_49
+action_335 (279) = happyShift action_50
+action_335 (280) = happyShift action_51
+action_335 (281) = happyShift action_52
+action_335 (282) = happyShift action_53
+action_335 (283) = happyShift action_54
+action_335 (289) = happyShift action_55
+action_335 (290) = happyShift action_56
+action_335 (291) = happyShift action_57
+action_335 (292) = happyShift action_58
+action_335 (293) = happyShift action_59
+action_335 (294) = happyShift action_60
+action_335 (295) = happyShift action_61
+action_335 (296) = happyShift action_62
+action_335 (297) = happyShift action_63
+action_335 (298) = happyShift action_64
+action_335 (299) = happyShift action_65
+action_335 (301) = happyShift action_66
+action_335 (307) = happyShift action_67
+action_335 (309) = happyShift action_68
+action_335 (312) = happyShift action_69
+action_335 (319) = happyShift action_70
+action_335 (324) = happyShift action_71
+action_335 (325) = happyShift action_72
+action_335 (327) = happyShift action_73
+action_335 (334) = happyShift action_75
+action_335 (337) = happyShift action_76
+action_335 (338) = happyShift action_77
+action_335 (339) = happyShift action_78
+action_335 (340) = happyShift action_79
+action_335 (341) = happyShift action_80
+action_335 (342) = happyShift action_81
+action_335 (344) = happyShift action_82
+action_335 (345) = happyShift action_83
+action_335 (346) = happyShift action_84
+action_335 (348) = happyShift action_85
+action_335 (350) = happyShift action_86
+action_335 (351) = happyShift action_87
+action_335 (358) = happyShift action_88
+action_335 (359) = happyShift action_89
+action_335 (360) = happyShift action_90
+action_335 (361) = happyShift action_91
+action_335 (362) = happyShift action_92
+action_335 (363) = happyShift action_93
+action_335 (364) = happyShift action_94
+action_335 (365) = happyShift action_95
+action_335 (366) = happyShift action_96
+action_335 (367) = happyShift action_97
+action_335 (368) = happyShift action_98
+action_335 (369) = happyShift action_99
+action_335 (370) = happyShift action_100
+action_335 (371) = happyShift action_101
+action_335 (373) = happyShift action_102
+action_335 (378) = happyShift action_103
+action_335 (380) = happyShift action_104
+action_335 (381) = happyShift action_105
+action_335 (383) = happyShift action_106
+action_335 (384) = happyShift action_107
+action_335 (391) = happyShift action_159
+action_335 (392) = happyShift action_109
+action_335 (396) = happyShift action_110
+action_335 (402) = happyShift action_112
+action_335 (403) = happyShift action_113
+action_335 (411) = happyShift action_114
+action_335 (412) = happyShift action_115
+action_335 (413) = happyShift action_116
+action_335 (170) = happyGoto action_451
+action_335 (171) = happyGoto action_26
+action_335 (172) = happyGoto action_316
+action_335 (173) = happyGoto action_28
+action_335 (176) = happyGoto action_29
+action_335 (177) = happyGoto action_30
+action_335 (178) = happyGoto action_31
+action_335 (181) = happyGoto action_32
+action_335 (182) = happyGoto action_33
+action_335 (183) = happyGoto action_34
+action_335 (190) = happyGoto action_35
+action_335 (228) = happyGoto action_38
+action_335 (231) = happyGoto action_39
+action_335 (232) = happyGoto action_40
+action_335 (234) = happyGoto action_41
+action_335 (244) = happyGoto action_42
+action_335 (245) = happyGoto action_43
+action_335 (246) = happyGoto action_44
+action_335 (247) = happyGoto action_45
+action_335 (248) = happyGoto action_46
+action_335 (249) = happyGoto action_47
+action_335 (257) = happyGoto action_48
+action_335 _ = happyFail
+
+action_336 _ = happyReduce_648
+
+action_337 _ = happyReduce_695
+
+action_338 _ = happyReduce_696
+
+action_339 (278) = happyShift action_49
+action_339 (279) = happyShift action_50
+action_339 (282) = happyShift action_53
+action_339 (283) = happyShift action_54
+action_339 (358) = happyShift action_88
+action_339 (359) = happyShift action_89
+action_339 (360) = happyShift action_90
+action_339 (361) = happyShift action_91
+action_339 (362) = happyShift action_92
+action_339 (363) = happyShift action_93
+action_339 (364) = happyShift action_94
+action_339 (365) = happyShift action_95
+action_339 (366) = happyShift action_96
+action_339 (367) = happyShift action_97
+action_339 (368) = happyShift action_98
+action_339 (369) = happyShift action_99
+action_339 (370) = happyShift action_100
+action_339 (371) = happyShift action_101
+action_339 (380) = happyShift action_104
+action_339 (381) = happyShift action_105
+action_339 (383) = happyShift action_106
+action_339 (402) = happyShift action_112
+action_339 (403) = happyShift action_113
+action_339 (244) = happyGoto action_450
+action_339 (245) = happyGoto action_43
+action_339 (246) = happyGoto action_44
+action_339 (248) = happyGoto action_417
+action_339 (249) = happyGoto action_47
+action_339 _ = happyFail
+
+action_340 _ = happyReduce_700
+
+action_341 (311) = happyShift action_447
+action_341 (315) = happyShift action_448
+action_341 (320) = happyShift action_449
+action_341 _ = happyReduce_558
+
+action_342 (308) = happyShift action_446
+action_342 _ = happyFail
+
+action_343 (311) = happyShift action_445
+action_343 _ = happyReduce_559
+
+action_344 _ = happyReduce_628
+
+action_345 (278) = happyShift action_49
+action_345 (279) = happyShift action_50
+action_345 (280) = happyShift action_51
+action_345 (281) = happyShift action_52
+action_345 (282) = happyShift action_53
+action_345 (283) = happyShift action_54
+action_345 (285) = happyShift action_211
+action_345 (286) = happyShift action_186
+action_345 (287) = happyShift action_212
+action_345 (288) = happyShift action_187
+action_345 (289) = happyShift action_55
+action_345 (290) = happyShift action_56
+action_345 (291) = happyShift action_57
+action_345 (292) = happyShift action_58
+action_345 (293) = happyShift action_59
+action_345 (294) = happyShift action_60
+action_345 (295) = happyShift action_61
+action_345 (296) = happyShift action_62
+action_345 (297) = happyShift action_63
+action_345 (298) = happyShift action_64
+action_345 (299) = happyShift action_65
+action_345 (301) = happyShift action_66
+action_345 (302) = happyShift action_444
+action_345 (307) = happyShift action_67
+action_345 (309) = happyShift action_68
+action_345 (311) = happyShift action_437
+action_345 (312) = happyShift action_69
+action_345 (313) = happyShift action_339
+action_345 (314) = happyShift action_214
+action_345 (316) = happyShift action_190
+action_345 (319) = happyShift action_70
+action_345 (324) = happyShift action_71
+action_345 (325) = happyShift action_72
+action_345 (327) = happyShift action_73
+action_345 (328) = happyShift action_340
+action_345 (329) = happyShift action_218
+action_345 (334) = happyShift action_75
+action_345 (337) = happyShift action_76
+action_345 (338) = happyShift action_77
+action_345 (339) = happyShift action_78
+action_345 (340) = happyShift action_79
+action_345 (341) = happyShift action_80
+action_345 (342) = happyShift action_81
+action_345 (344) = happyShift action_82
+action_345 (345) = happyShift action_83
+action_345 (346) = happyShift action_84
+action_345 (348) = happyShift action_85
+action_345 (350) = happyShift action_86
+action_345 (351) = happyShift action_87
+action_345 (358) = happyShift action_88
+action_345 (359) = happyShift action_89
+action_345 (360) = happyShift action_90
+action_345 (361) = happyShift action_91
+action_345 (362) = happyShift action_92
+action_345 (363) = happyShift action_93
+action_345 (364) = happyShift action_94
+action_345 (365) = happyShift action_95
+action_345 (366) = happyShift action_96
+action_345 (367) = happyShift action_97
+action_345 (368) = happyShift action_98
+action_345 (369) = happyShift action_99
+action_345 (370) = happyShift action_100
+action_345 (371) = happyShift action_101
+action_345 (373) = happyShift action_102
+action_345 (378) = happyShift action_103
+action_345 (380) = happyShift action_104
+action_345 (381) = happyShift action_105
+action_345 (383) = happyShift action_106
+action_345 (384) = happyShift action_107
+action_345 (391) = happyShift action_159
+action_345 (392) = happyShift action_109
+action_345 (396) = happyShift action_110
+action_345 (402) = happyShift action_112
+action_345 (403) = happyShift action_113
+action_345 (411) = happyShift action_114
+action_345 (412) = happyShift action_115
+action_345 (413) = happyShift action_116
+action_345 (169) = happyGoto action_329
+action_345 (170) = happyGoto action_25
+action_345 (171) = happyGoto action_26
+action_345 (172) = happyGoto action_27
+action_345 (173) = happyGoto action_28
+action_345 (176) = happyGoto action_29
+action_345 (177) = happyGoto action_30
+action_345 (178) = happyGoto action_31
+action_345 (181) = happyGoto action_32
+action_345 (182) = happyGoto action_33
+action_345 (183) = happyGoto action_34
+action_345 (185) = happyGoto action_443
+action_345 (190) = happyGoto action_35
+action_345 (228) = happyGoto action_38
+action_345 (231) = happyGoto action_39
+action_345 (232) = happyGoto action_40
+action_345 (234) = happyGoto action_41
+action_345 (237) = happyGoto action_333
+action_345 (239) = happyGoto action_334
+action_345 (242) = happyGoto action_335
+action_345 (243) = happyGoto action_226
+action_345 (244) = happyGoto action_42
+action_345 (245) = happyGoto action_43
+action_345 (246) = happyGoto action_44
+action_345 (247) = happyGoto action_45
+action_345 (248) = happyGoto action_46
+action_345 (249) = happyGoto action_47
+action_345 (250) = happyGoto action_183
+action_345 (251) = happyGoto action_184
+action_345 (253) = happyGoto action_336
+action_345 (255) = happyGoto action_337
+action_345 (256) = happyGoto action_338
+action_345 (257) = happyGoto action_48
+action_345 _ = happyFail
+
+action_346 (302) = happyShift action_442
+action_346 (311) = happyShift action_202
+action_346 (184) = happyGoto action_440
+action_346 (187) = happyGoto action_441
+action_346 _ = happyFail
+
+action_347 _ = happyReduce_630
+
+action_348 (320) = happyShift action_438
+action_348 (322) = happyShift action_439
+action_348 _ = happyReduce_479
+
+action_349 (278) = happyShift action_49
+action_349 (279) = happyShift action_50
+action_349 (280) = happyShift action_51
+action_349 (281) = happyShift action_52
+action_349 (282) = happyShift action_53
+action_349 (283) = happyShift action_54
+action_349 (285) = happyShift action_211
+action_349 (286) = happyShift action_186
+action_349 (287) = happyShift action_212
+action_349 (288) = happyShift action_187
+action_349 (289) = happyShift action_55
+action_349 (290) = happyShift action_56
+action_349 (291) = happyShift action_57
+action_349 (292) = happyShift action_58
+action_349 (293) = happyShift action_59
+action_349 (294) = happyShift action_60
+action_349 (295) = happyShift action_61
+action_349 (296) = happyShift action_62
+action_349 (297) = happyShift action_63
+action_349 (298) = happyShift action_64
+action_349 (299) = happyShift action_65
+action_349 (300) = happyShift action_436
+action_349 (301) = happyShift action_66
+action_349 (307) = happyShift action_67
+action_349 (309) = happyShift action_68
+action_349 (311) = happyShift action_437
+action_349 (312) = happyShift action_69
+action_349 (313) = happyShift action_339
+action_349 (314) = happyShift action_214
+action_349 (316) = happyShift action_190
+action_349 (319) = happyShift action_70
+action_349 (324) = happyShift action_71
+action_349 (325) = happyShift action_72
+action_349 (327) = happyShift action_73
+action_349 (328) = happyShift action_340
+action_349 (329) = happyShift action_218
+action_349 (334) = happyShift action_75
+action_349 (337) = happyShift action_76
+action_349 (338) = happyShift action_77
+action_349 (339) = happyShift action_78
+action_349 (340) = happyShift action_79
+action_349 (341) = happyShift action_80
+action_349 (342) = happyShift action_81
+action_349 (344) = happyShift action_82
+action_349 (345) = happyShift action_83
+action_349 (346) = happyShift action_84
+action_349 (348) = happyShift action_85
+action_349 (350) = happyShift action_86
+action_349 (351) = happyShift action_87
+action_349 (358) = happyShift action_88
+action_349 (359) = happyShift action_89
+action_349 (360) = happyShift action_90
+action_349 (361) = happyShift action_91
+action_349 (362) = happyShift action_92
+action_349 (363) = happyShift action_93
+action_349 (364) = happyShift action_94
+action_349 (365) = happyShift action_95
+action_349 (366) = happyShift action_96
+action_349 (367) = happyShift action_97
+action_349 (368) = happyShift action_98
+action_349 (369) = happyShift action_99
+action_349 (370) = happyShift action_100
+action_349 (371) = happyShift action_101
+action_349 (373) = happyShift action_102
+action_349 (378) = happyShift action_103
+action_349 (380) = happyShift action_104
+action_349 (381) = happyShift action_105
+action_349 (383) = happyShift action_106
+action_349 (384) = happyShift action_107
+action_349 (391) = happyShift action_159
+action_349 (392) = happyShift action_109
+action_349 (396) = happyShift action_110
+action_349 (402) = happyShift action_112
+action_349 (403) = happyShift action_113
+action_349 (411) = happyShift action_114
+action_349 (412) = happyShift action_115
+action_349 (413) = happyShift action_116
+action_349 (169) = happyGoto action_329
+action_349 (170) = happyGoto action_25
+action_349 (171) = happyGoto action_26
+action_349 (172) = happyGoto action_27
+action_349 (173) = happyGoto action_28
+action_349 (176) = happyGoto action_29
+action_349 (177) = happyGoto action_30
+action_349 (178) = happyGoto action_31
+action_349 (181) = happyGoto action_32
+action_349 (182) = happyGoto action_33
+action_349 (183) = happyGoto action_34
+action_349 (185) = happyGoto action_435
+action_349 (190) = happyGoto action_35
+action_349 (228) = happyGoto action_38
+action_349 (231) = happyGoto action_39
+action_349 (232) = happyGoto action_40
+action_349 (234) = happyGoto action_41
+action_349 (237) = happyGoto action_333
+action_349 (239) = happyGoto action_334
+action_349 (242) = happyGoto action_335
+action_349 (243) = happyGoto action_226
+action_349 (244) = happyGoto action_42
+action_349 (245) = happyGoto action_43
+action_349 (246) = happyGoto action_44
+action_349 (247) = happyGoto action_45
+action_349 (248) = happyGoto action_46
+action_349 (249) = happyGoto action_47
+action_349 (250) = happyGoto action_183
+action_349 (251) = happyGoto action_184
+action_349 (253) = happyGoto action_336
+action_349 (255) = happyGoto action_337
+action_349 (256) = happyGoto action_338
+action_349 (257) = happyGoto action_48
+action_349 _ = happyFail
+
+action_350 (300) = happyShift action_434
+action_350 (311) = happyShift action_202
+action_350 (184) = happyGoto action_432
+action_350 (186) = happyGoto action_433
+action_350 _ = happyFail
+
+action_351 (300) = happyShift action_431
+action_351 _ = happyFail
+
+action_352 (300) = happyShift action_430
+action_352 _ = happyReduce_652
+
+action_353 (300) = happyShift action_429
+action_353 _ = happyFail
+
+action_354 (300) = happyReduce_697
+action_354 _ = happyReduce_695
+
+action_355 (300) = happyReduce_694
+action_355 _ = happyReduce_696
+
+action_356 _ = happyReduce_627
+
+action_357 (278) = happyShift action_49
+action_357 (279) = happyShift action_50
+action_357 (280) = happyShift action_51
+action_357 (281) = happyShift action_52
+action_357 (282) = happyShift action_53
+action_357 (283) = happyShift action_54
+action_357 (289) = happyShift action_55
+action_357 (290) = happyShift action_56
+action_357 (291) = happyShift action_57
+action_357 (292) = happyShift action_58
+action_357 (293) = happyShift action_59
+action_357 (294) = happyShift action_60
+action_357 (295) = happyShift action_61
+action_357 (296) = happyShift action_62
+action_357 (297) = happyShift action_63
+action_357 (298) = happyShift action_64
+action_357 (299) = happyShift action_65
+action_357 (301) = happyShift action_66
+action_357 (307) = happyShift action_67
+action_357 (309) = happyShift action_68
+action_357 (312) = happyShift action_69
+action_357 (324) = happyShift action_71
+action_357 (325) = happyShift action_72
+action_357 (334) = happyShift action_75
+action_357 (337) = happyShift action_76
+action_357 (338) = happyShift action_77
+action_357 (339) = happyShift action_78
+action_357 (340) = happyShift action_79
+action_357 (341) = happyShift action_80
+action_357 (342) = happyShift action_81
+action_357 (344) = happyShift action_82
+action_357 (345) = happyShift action_83
+action_357 (346) = happyShift action_84
+action_357 (348) = happyShift action_85
+action_357 (350) = happyShift action_86
+action_357 (351) = happyShift action_87
+action_357 (358) = happyShift action_88
+action_357 (359) = happyShift action_89
+action_357 (360) = happyShift action_90
+action_357 (361) = happyShift action_91
+action_357 (362) = happyShift action_92
+action_357 (363) = happyShift action_93
+action_357 (364) = happyShift action_94
+action_357 (365) = happyShift action_95
+action_357 (366) = happyShift action_96
+action_357 (367) = happyShift action_97
+action_357 (368) = happyShift action_98
+action_357 (369) = happyShift action_99
+action_357 (370) = happyShift action_100
+action_357 (371) = happyShift action_101
+action_357 (380) = happyShift action_104
+action_357 (381) = happyShift action_105
+action_357 (383) = happyShift action_106
+action_357 (402) = happyShift action_112
+action_357 (403) = happyShift action_113
+action_357 (178) = happyGoto action_322
+action_357 (181) = happyGoto action_32
+action_357 (182) = happyGoto action_33
+action_357 (183) = happyGoto action_34
+action_357 (190) = happyGoto action_35
+action_357 (228) = happyGoto action_38
+action_357 (231) = happyGoto action_39
+action_357 (232) = happyGoto action_40
+action_357 (234) = happyGoto action_41
+action_357 (244) = happyGoto action_42
+action_357 (245) = happyGoto action_43
+action_357 (246) = happyGoto action_44
+action_357 (247) = happyGoto action_45
+action_357 (248) = happyGoto action_46
+action_357 (249) = happyGoto action_47
+action_357 (257) = happyGoto action_48
+action_357 _ = happyReduce_698
+
+action_358 (278) = happyShift action_49
+action_358 (279) = happyShift action_50
+action_358 (280) = happyShift action_51
+action_358 (281) = happyShift action_52
+action_358 (282) = happyShift action_53
+action_358 (283) = happyShift action_54
+action_358 (289) = happyShift action_55
+action_358 (290) = happyShift action_56
+action_358 (291) = happyShift action_57
+action_358 (292) = happyShift action_58
+action_358 (293) = happyShift action_59
+action_358 (294) = happyShift action_60
+action_358 (295) = happyShift action_61
+action_358 (296) = happyShift action_62
+action_358 (297) = happyShift action_63
+action_358 (298) = happyShift action_64
+action_358 (299) = happyShift action_65
+action_358 (301) = happyShift action_66
+action_358 (307) = happyShift action_67
+action_358 (309) = happyShift action_68
+action_358 (312) = happyShift action_69
+action_358 (324) = happyShift action_71
+action_358 (325) = happyShift action_72
+action_358 (334) = happyShift action_75
+action_358 (337) = happyShift action_76
+action_358 (338) = happyShift action_77
+action_358 (339) = happyShift action_78
+action_358 (340) = happyShift action_79
+action_358 (341) = happyShift action_80
+action_358 (342) = happyShift action_81
+action_358 (344) = happyShift action_82
+action_358 (345) = happyShift action_83
+action_358 (346) = happyShift action_84
+action_358 (348) = happyShift action_85
+action_358 (350) = happyShift action_86
+action_358 (351) = happyShift action_87
+action_358 (358) = happyShift action_88
+action_358 (359) = happyShift action_89
+action_358 (360) = happyShift action_90
+action_358 (361) = happyShift action_91
+action_358 (362) = happyShift action_92
+action_358 (363) = happyShift action_93
+action_358 (364) = happyShift action_94
+action_358 (365) = happyShift action_95
+action_358 (366) = happyShift action_96
+action_358 (367) = happyShift action_97
+action_358 (368) = happyShift action_98
+action_358 (369) = happyShift action_99
+action_358 (370) = happyShift action_100
+action_358 (371) = happyShift action_101
+action_358 (380) = happyShift action_104
+action_358 (381) = happyShift action_105
+action_358 (383) = happyShift action_106
+action_358 (402) = happyShift action_112
+action_358 (403) = happyShift action_113
+action_358 (181) = happyGoto action_428
+action_358 (182) = happyGoto action_33
+action_358 (183) = happyGoto action_34
+action_358 (190) = happyGoto action_35
+action_358 (228) = happyGoto action_38
+action_358 (231) = happyGoto action_39
+action_358 (232) = happyGoto action_40
+action_358 (234) = happyGoto action_41
+action_358 (244) = happyGoto action_42
+action_358 (245) = happyGoto action_43
+action_358 (246) = happyGoto action_44
+action_358 (247) = happyGoto action_45
+action_358 (248) = happyGoto action_46
+action_358 (249) = happyGoto action_47
+action_358 (257) = happyGoto action_48
+action_358 _ = happyFail
+
+action_359 (278) = happyShift action_49
+action_359 (279) = happyShift action_50
+action_359 (280) = happyShift action_51
+action_359 (281) = happyShift action_52
+action_359 (282) = happyShift action_53
+action_359 (283) = happyShift action_54
+action_359 (289) = happyShift action_55
+action_359 (290) = happyShift action_56
+action_359 (291) = happyShift action_57
+action_359 (292) = happyShift action_58
+action_359 (293) = happyShift action_59
+action_359 (294) = happyShift action_60
+action_359 (295) = happyShift action_61
+action_359 (296) = happyShift action_62
+action_359 (297) = happyShift action_63
+action_359 (298) = happyShift action_64
+action_359 (299) = happyShift action_65
+action_359 (301) = happyShift action_66
+action_359 (307) = happyShift action_67
+action_359 (309) = happyShift action_68
+action_359 (312) = happyShift action_69
+action_359 (324) = happyShift action_71
+action_359 (325) = happyShift action_72
+action_359 (334) = happyShift action_75
+action_359 (337) = happyShift action_76
+action_359 (338) = happyShift action_77
+action_359 (339) = happyShift action_78
+action_359 (340) = happyShift action_79
+action_359 (341) = happyShift action_80
+action_359 (342) = happyShift action_81
+action_359 (344) = happyShift action_82
+action_359 (345) = happyShift action_83
+action_359 (346) = happyShift action_84
+action_359 (348) = happyShift action_85
+action_359 (350) = happyShift action_86
+action_359 (351) = happyShift action_87
+action_359 (358) = happyShift action_88
+action_359 (359) = happyShift action_89
+action_359 (360) = happyShift action_90
+action_359 (361) = happyShift action_91
+action_359 (362) = happyShift action_92
+action_359 (363) = happyShift action_93
+action_359 (364) = happyShift action_94
+action_359 (365) = happyShift action_95
+action_359 (366) = happyShift action_96
+action_359 (367) = happyShift action_97
+action_359 (368) = happyShift action_98
+action_359 (369) = happyShift action_99
+action_359 (370) = happyShift action_100
+action_359 (371) = happyShift action_101
+action_359 (380) = happyShift action_104
+action_359 (381) = happyShift action_105
+action_359 (383) = happyShift action_106
+action_359 (402) = happyShift action_112
+action_359 (403) = happyShift action_113
+action_359 (181) = happyGoto action_427
+action_359 (182) = happyGoto action_33
+action_359 (183) = happyGoto action_34
+action_359 (190) = happyGoto action_35
+action_359 (228) = happyGoto action_38
+action_359 (231) = happyGoto action_39
+action_359 (232) = happyGoto action_40
+action_359 (234) = happyGoto action_41
+action_359 (244) = happyGoto action_42
+action_359 (245) = happyGoto action_43
+action_359 (246) = happyGoto action_44
+action_359 (247) = happyGoto action_45
+action_359 (248) = happyGoto action_46
+action_359 (249) = happyGoto action_47
+action_359 (257) = happyGoto action_48
+action_359 _ = happyFail
+
+action_360 (278) = happyShift action_49
+action_360 (279) = happyShift action_50
+action_360 (280) = happyShift action_51
+action_360 (281) = happyShift action_52
+action_360 (282) = happyShift action_53
+action_360 (283) = happyShift action_54
+action_360 (289) = happyShift action_55
+action_360 (290) = happyShift action_56
+action_360 (291) = happyShift action_57
+action_360 (292) = happyShift action_58
+action_360 (293) = happyShift action_59
+action_360 (294) = happyShift action_60
+action_360 (295) = happyShift action_61
+action_360 (296) = happyShift action_62
+action_360 (297) = happyShift action_63
+action_360 (298) = happyShift action_64
+action_360 (299) = happyShift action_65
+action_360 (301) = happyShift action_66
+action_360 (307) = happyShift action_67
+action_360 (309) = happyShift action_68
+action_360 (312) = happyShift action_69
+action_360 (319) = happyShift action_70
+action_360 (324) = happyShift action_71
+action_360 (325) = happyShift action_72
+action_360 (327) = happyShift action_73
+action_360 (334) = happyShift action_75
+action_360 (337) = happyShift action_76
+action_360 (338) = happyShift action_77
+action_360 (339) = happyShift action_78
+action_360 (340) = happyShift action_79
+action_360 (341) = happyShift action_80
+action_360 (342) = happyShift action_81
+action_360 (344) = happyShift action_82
+action_360 (345) = happyShift action_83
+action_360 (346) = happyShift action_84
+action_360 (348) = happyShift action_85
+action_360 (350) = happyShift action_86
+action_360 (351) = happyShift action_87
+action_360 (358) = happyShift action_88
+action_360 (359) = happyShift action_89
+action_360 (360) = happyShift action_90
+action_360 (361) = happyShift action_91
+action_360 (362) = happyShift action_92
+action_360 (363) = happyShift action_93
+action_360 (364) = happyShift action_94
+action_360 (365) = happyShift action_95
+action_360 (366) = happyShift action_96
+action_360 (367) = happyShift action_97
+action_360 (368) = happyShift action_98
+action_360 (369) = happyShift action_99
+action_360 (370) = happyShift action_100
+action_360 (371) = happyShift action_101
+action_360 (373) = happyShift action_102
+action_360 (378) = happyShift action_103
+action_360 (380) = happyShift action_104
+action_360 (381) = happyShift action_105
+action_360 (383) = happyShift action_106
+action_360 (384) = happyShift action_107
+action_360 (391) = happyShift action_159
+action_360 (392) = happyShift action_109
+action_360 (396) = happyShift action_110
+action_360 (402) = happyShift action_112
+action_360 (403) = happyShift action_113
+action_360 (411) = happyShift action_114
+action_360 (412) = happyShift action_115
+action_360 (413) = happyShift action_116
+action_360 (168) = happyGoto action_426
+action_360 (169) = happyGoto action_161
+action_360 (170) = happyGoto action_25
+action_360 (171) = happyGoto action_26
+action_360 (172) = happyGoto action_27
+action_360 (173) = happyGoto action_28
+action_360 (176) = happyGoto action_29
+action_360 (177) = happyGoto action_30
+action_360 (178) = happyGoto action_31
+action_360 (181) = happyGoto action_32
+action_360 (182) = happyGoto action_33
+action_360 (183) = happyGoto action_34
+action_360 (190) = happyGoto action_35
+action_360 (228) = happyGoto action_38
+action_360 (231) = happyGoto action_39
+action_360 (232) = happyGoto action_40
+action_360 (234) = happyGoto action_41
+action_360 (244) = happyGoto action_42
+action_360 (245) = happyGoto action_43
+action_360 (246) = happyGoto action_44
+action_360 (247) = happyGoto action_45
+action_360 (248) = happyGoto action_46
+action_360 (249) = happyGoto action_47
+action_360 (257) = happyGoto action_48
+action_360 _ = happyFail
+
+action_361 (278) = happyShift action_49
+action_361 (279) = happyShift action_50
+action_361 (299) = happyShift action_423
+action_361 (305) = happyShift action_424
+action_361 (315) = happyShift action_425
+action_361 (358) = happyShift action_88
+action_361 (359) = happyShift action_89
+action_361 (360) = happyShift action_90
+action_361 (361) = happyShift action_91
+action_361 (362) = happyShift action_92
+action_361 (363) = happyShift action_93
+action_361 (364) = happyShift action_94
+action_361 (365) = happyShift action_95
+action_361 (366) = happyShift action_96
+action_361 (367) = happyShift action_97
+action_361 (368) = happyShift action_98
+action_361 (369) = happyShift action_99
+action_361 (370) = happyShift action_100
+action_361 (371) = happyShift action_101
+action_361 (380) = happyShift action_104
+action_361 (381) = happyShift action_105
+action_361 (383) = happyShift action_106
+action_361 (402) = happyShift action_112
+action_361 (403) = happyShift action_113
+action_361 (223) = happyGoto action_420
+action_361 (224) = happyGoto action_421
+action_361 (231) = happyGoto action_422
+action_361 (244) = happyGoto action_42
+action_361 (245) = happyGoto action_43
+action_361 (246) = happyGoto action_44
+action_361 _ = happyFail
+
+action_362 _ = happyReduce_433
+
+action_363 _ = happyReduce_656
+
+action_364 _ = happyReduce_657
+
+action_365 (278) = happyShift action_49
+action_365 (279) = happyShift action_50
+action_365 (280) = happyShift action_51
+action_365 (281) = happyShift action_52
+action_365 (282) = happyShift action_53
+action_365 (283) = happyShift action_54
+action_365 (289) = happyShift action_55
+action_365 (290) = happyShift action_56
+action_365 (291) = happyShift action_57
+action_365 (292) = happyShift action_58
+action_365 (293) = happyShift action_59
+action_365 (294) = happyShift action_60
+action_365 (295) = happyShift action_61
+action_365 (296) = happyShift action_62
+action_365 (297) = happyShift action_63
+action_365 (298) = happyShift action_64
+action_365 (299) = happyShift action_65
+action_365 (301) = happyShift action_66
+action_365 (307) = happyShift action_67
+action_365 (309) = happyShift action_68
+action_365 (312) = happyShift action_69
+action_365 (319) = happyShift action_70
+action_365 (324) = happyShift action_71
+action_365 (325) = happyShift action_72
+action_365 (327) = happyShift action_73
+action_365 (334) = happyShift action_75
+action_365 (337) = happyShift action_76
+action_365 (338) = happyShift action_77
+action_365 (339) = happyShift action_78
+action_365 (340) = happyShift action_79
+action_365 (341) = happyShift action_80
+action_365 (342) = happyShift action_81
+action_365 (344) = happyShift action_82
+action_365 (345) = happyShift action_83
+action_365 (346) = happyShift action_84
+action_365 (348) = happyShift action_85
+action_365 (350) = happyShift action_86
+action_365 (351) = happyShift action_87
+action_365 (358) = happyShift action_88
+action_365 (359) = happyShift action_89
+action_365 (360) = happyShift action_90
+action_365 (361) = happyShift action_91
+action_365 (362) = happyShift action_92
+action_365 (363) = happyShift action_93
+action_365 (364) = happyShift action_94
+action_365 (365) = happyShift action_95
+action_365 (366) = happyShift action_96
+action_365 (367) = happyShift action_97
+action_365 (368) = happyShift action_98
+action_365 (369) = happyShift action_99
+action_365 (370) = happyShift action_100
+action_365 (371) = happyShift action_101
+action_365 (373) = happyShift action_102
+action_365 (378) = happyShift action_103
+action_365 (380) = happyShift action_104
+action_365 (381) = happyShift action_105
+action_365 (383) = happyShift action_106
+action_365 (384) = happyShift action_107
+action_365 (391) = happyShift action_159
+action_365 (392) = happyShift action_109
+action_365 (396) = happyShift action_110
+action_365 (402) = happyShift action_112
+action_365 (403) = happyShift action_113
+action_365 (411) = happyShift action_114
+action_365 (412) = happyShift action_115
+action_365 (413) = happyShift action_116
+action_365 (173) = happyGoto action_418
+action_365 (176) = happyGoto action_419
+action_365 (177) = happyGoto action_30
+action_365 (178) = happyGoto action_31
+action_365 (181) = happyGoto action_32
+action_365 (182) = happyGoto action_33
+action_365 (183) = happyGoto action_34
+action_365 (190) = happyGoto action_35
+action_365 (228) = happyGoto action_38
+action_365 (231) = happyGoto action_39
+action_365 (232) = happyGoto action_40
+action_365 (234) = happyGoto action_41
+action_365 (244) = happyGoto action_42
+action_365 (245) = happyGoto action_43
+action_365 (246) = happyGoto action_44
+action_365 (247) = happyGoto action_45
+action_365 (248) = happyGoto action_46
+action_365 (249) = happyGoto action_47
+action_365 (257) = happyGoto action_48
+action_365 _ = happyReduce_403
+
+action_366 _ = happyReduce_646
+
+action_367 (278) = happyShift action_49
+action_367 (279) = happyShift action_50
+action_367 (282) = happyShift action_53
+action_367 (283) = happyShift action_54
+action_367 (358) = happyShift action_88
+action_367 (359) = happyShift action_89
+action_367 (360) = happyShift action_90
+action_367 (361) = happyShift action_91
+action_367 (362) = happyShift action_92
+action_367 (363) = happyShift action_93
+action_367 (364) = happyShift action_94
+action_367 (365) = happyShift action_95
+action_367 (366) = happyShift action_96
+action_367 (367) = happyShift action_97
+action_367 (368) = happyShift action_98
+action_367 (369) = happyShift action_99
+action_367 (370) = happyShift action_100
+action_367 (371) = happyShift action_101
+action_367 (380) = happyShift action_104
+action_367 (381) = happyShift action_105
+action_367 (383) = happyShift action_106
+action_367 (402) = happyShift action_112
+action_367 (403) = happyShift action_113
+action_367 (244) = happyGoto action_416
+action_367 (245) = happyGoto action_43
+action_367 (246) = happyGoto action_44
+action_367 (248) = happyGoto action_417
+action_367 (249) = happyGoto action_47
+action_367 _ = happyFail
+
+action_368 (278) = happyShift action_49
+action_368 (280) = happyShift action_51
+action_368 (281) = happyShift action_52
+action_368 (282) = happyShift action_53
+action_368 (283) = happyShift action_54
+action_368 (289) = happyShift action_135
+action_368 (292) = happyShift action_136
+action_368 (299) = happyShift action_137
+action_368 (301) = happyShift action_138
+action_368 (307) = happyShift action_139
+action_368 (309) = happyShift action_140
+action_368 (312) = happyShift action_141
+action_368 (325) = happyShift action_142
+action_368 (328) = happyShift action_143
+action_368 (337) = happyShift action_144
+action_368 (338) = happyShift action_145
+action_368 (344) = happyShift action_146
+action_368 (346) = happyShift action_147
+action_368 (358) = happyShift action_88
+action_368 (359) = happyShift action_148
+action_368 (360) = happyShift action_149
+action_368 (361) = happyShift action_150
+action_368 (363) = happyShift action_93
+action_368 (364) = happyShift action_94
+action_368 (365) = happyShift action_95
+action_368 (366) = happyShift action_96
+action_368 (367) = happyShift action_97
+action_368 (368) = happyShift action_98
+action_368 (369) = happyShift action_99
+action_368 (370) = happyShift action_100
+action_368 (371) = happyShift action_101
+action_368 (381) = happyShift action_151
+action_368 (383) = happyShift action_106
+action_368 (402) = happyShift action_112
+action_368 (416) = happyShift action_152
+action_368 (417) = happyShift action_153
+action_368 (103) = happyGoto action_117
+action_368 (105) = happyGoto action_118
+action_368 (108) = happyGoto action_119
+action_368 (109) = happyGoto action_120
+action_368 (110) = happyGoto action_121
+action_368 (111) = happyGoto action_122
+action_368 (112) = happyGoto action_123
+action_368 (113) = happyGoto action_124
+action_368 (114) = happyGoto action_125
+action_368 (115) = happyGoto action_126
+action_368 (117) = happyGoto action_415
+action_368 (118) = happyGoto action_128
+action_368 (119) = happyGoto action_129
+action_368 (232) = happyGoto action_130
+action_368 (245) = happyGoto action_131
+action_368 (247) = happyGoto action_45
+action_368 (248) = happyGoto action_132
+action_368 (249) = happyGoto action_47
+action_368 (270) = happyGoto action_133
+action_368 (271) = happyGoto action_134
+action_368 _ = happyFail
+
+action_369 (278) = happyShift action_49
+action_369 (279) = happyShift action_50
+action_369 (280) = happyShift action_51
+action_369 (281) = happyShift action_52
+action_369 (282) = happyShift action_53
+action_369 (283) = happyShift action_54
+action_369 (289) = happyShift action_55
+action_369 (290) = happyShift action_56
+action_369 (291) = happyShift action_57
+action_369 (292) = happyShift action_58
+action_369 (293) = happyShift action_59
+action_369 (294) = happyShift action_60
+action_369 (295) = happyShift action_61
+action_369 (296) = happyShift action_62
+action_369 (297) = happyShift action_63
+action_369 (298) = happyShift action_64
+action_369 (299) = happyShift action_65
+action_369 (301) = happyShift action_66
+action_369 (307) = happyShift action_67
+action_369 (309) = happyShift action_68
+action_369 (312) = happyShift action_69
+action_369 (319) = happyShift action_70
+action_369 (324) = happyShift action_71
+action_369 (325) = happyShift action_72
+action_369 (327) = happyShift action_73
+action_369 (334) = happyShift action_75
+action_369 (337) = happyShift action_76
+action_369 (338) = happyShift action_77
+action_369 (339) = happyShift action_78
+action_369 (340) = happyShift action_79
+action_369 (341) = happyShift action_80
+action_369 (342) = happyShift action_81
+action_369 (344) = happyShift action_82
+action_369 (345) = happyShift action_83
+action_369 (346) = happyShift action_84
+action_369 (348) = happyShift action_85
+action_369 (350) = happyShift action_86
+action_369 (351) = happyShift action_87
+action_369 (358) = happyShift action_88
+action_369 (359) = happyShift action_89
+action_369 (360) = happyShift action_90
+action_369 (361) = happyShift action_91
+action_369 (362) = happyShift action_92
+action_369 (363) = happyShift action_93
+action_369 (364) = happyShift action_94
+action_369 (365) = happyShift action_95
+action_369 (366) = happyShift action_96
+action_369 (367) = happyShift action_97
+action_369 (368) = happyShift action_98
+action_369 (369) = happyShift action_99
+action_369 (370) = happyShift action_100
+action_369 (371) = happyShift action_101
+action_369 (373) = happyShift action_102
+action_369 (378) = happyShift action_103
+action_369 (380) = happyShift action_104
+action_369 (381) = happyShift action_105
+action_369 (383) = happyShift action_106
+action_369 (384) = happyShift action_107
+action_369 (391) = happyShift action_159
+action_369 (392) = happyShift action_109
+action_369 (396) = happyShift action_110
+action_369 (402) = happyShift action_112
+action_369 (403) = happyShift action_113
+action_369 (411) = happyShift action_114
+action_369 (412) = happyShift action_115
+action_369 (413) = happyShift action_116
+action_369 (169) = happyGoto action_414
+action_369 (170) = happyGoto action_25
+action_369 (171) = happyGoto action_26
+action_369 (172) = happyGoto action_27
+action_369 (173) = happyGoto action_28
+action_369 (176) = happyGoto action_29
+action_369 (177) = happyGoto action_30
+action_369 (178) = happyGoto action_31
+action_369 (181) = happyGoto action_32
+action_369 (182) = happyGoto action_33
+action_369 (183) = happyGoto action_34
+action_369 (190) = happyGoto action_35
+action_369 (228) = happyGoto action_38
+action_369 (231) = happyGoto action_39
+action_369 (232) = happyGoto action_40
+action_369 (234) = happyGoto action_41
+action_369 (244) = happyGoto action_42
+action_369 (245) = happyGoto action_43
+action_369 (246) = happyGoto action_44
+action_369 (247) = happyGoto action_45
+action_369 (248) = happyGoto action_46
+action_369 (249) = happyGoto action_47
+action_369 (257) = happyGoto action_48
+action_369 _ = happyFail
+
+action_370 (278) = happyShift action_49
+action_370 (279) = happyShift action_50
+action_370 (280) = happyShift action_51
+action_370 (281) = happyShift action_52
+action_370 (282) = happyShift action_53
+action_370 (283) = happyShift action_54
+action_370 (289) = happyShift action_55
+action_370 (290) = happyShift action_56
+action_370 (291) = happyShift action_57
+action_370 (292) = happyShift action_58
+action_370 (293) = happyShift action_59
+action_370 (294) = happyShift action_60
+action_370 (295) = happyShift action_61
+action_370 (296) = happyShift action_62
+action_370 (297) = happyShift action_63
+action_370 (298) = happyShift action_64
+action_370 (299) = happyShift action_65
+action_370 (301) = happyShift action_66
+action_370 (307) = happyShift action_67
+action_370 (309) = happyShift action_68
+action_370 (312) = happyShift action_69
+action_370 (319) = happyShift action_70
+action_370 (324) = happyShift action_71
+action_370 (325) = happyShift action_72
+action_370 (327) = happyShift action_73
+action_370 (334) = happyShift action_75
+action_370 (337) = happyShift action_76
+action_370 (338) = happyShift action_77
+action_370 (339) = happyShift action_78
+action_370 (340) = happyShift action_79
+action_370 (341) = happyShift action_80
+action_370 (342) = happyShift action_81
+action_370 (344) = happyShift action_82
+action_370 (345) = happyShift action_83
+action_370 (346) = happyShift action_84
+action_370 (348) = happyShift action_85
+action_370 (350) = happyShift action_86
+action_370 (351) = happyShift action_87
+action_370 (358) = happyShift action_88
+action_370 (359) = happyShift action_89
+action_370 (360) = happyShift action_90
+action_370 (361) = happyShift action_91
+action_370 (362) = happyShift action_92
+action_370 (363) = happyShift action_93
+action_370 (364) = happyShift action_94
+action_370 (365) = happyShift action_95
+action_370 (366) = happyShift action_96
+action_370 (367) = happyShift action_97
+action_370 (368) = happyShift action_98
+action_370 (369) = happyShift action_99
+action_370 (370) = happyShift action_100
+action_370 (371) = happyShift action_101
+action_370 (373) = happyShift action_102
+action_370 (378) = happyShift action_103
+action_370 (380) = happyShift action_104
+action_370 (381) = happyShift action_105
+action_370 (383) = happyShift action_106
+action_370 (384) = happyShift action_107
+action_370 (391) = happyShift action_159
+action_370 (392) = happyShift action_109
+action_370 (396) = happyShift action_110
+action_370 (402) = happyShift action_112
+action_370 (403) = happyShift action_113
+action_370 (411) = happyShift action_114
+action_370 (412) = happyShift action_115
+action_370 (413) = happyShift action_116
+action_370 (169) = happyGoto action_413
+action_370 (170) = happyGoto action_25
+action_370 (171) = happyGoto action_26
+action_370 (172) = happyGoto action_27
+action_370 (173) = happyGoto action_28
+action_370 (176) = happyGoto action_29
+action_370 (177) = happyGoto action_30
+action_370 (178) = happyGoto action_31
+action_370 (181) = happyGoto action_32
+action_370 (182) = happyGoto action_33
+action_370 (183) = happyGoto action_34
+action_370 (190) = happyGoto action_35
+action_370 (228) = happyGoto action_38
+action_370 (231) = happyGoto action_39
+action_370 (232) = happyGoto action_40
+action_370 (234) = happyGoto action_41
+action_370 (244) = happyGoto action_42
+action_370 (245) = happyGoto action_43
+action_370 (246) = happyGoto action_44
+action_370 (247) = happyGoto action_45
+action_370 (248) = happyGoto action_46
+action_370 (249) = happyGoto action_47
+action_370 (257) = happyGoto action_48
+action_370 _ = happyFail
+
+action_371 (278) = happyShift action_49
+action_371 (279) = happyShift action_50
+action_371 (280) = happyShift action_51
+action_371 (281) = happyShift action_52
+action_371 (282) = happyShift action_53
+action_371 (283) = happyShift action_54
+action_371 (289) = happyShift action_55
+action_371 (290) = happyShift action_56
+action_371 (291) = happyShift action_57
+action_371 (292) = happyShift action_58
+action_371 (293) = happyShift action_59
+action_371 (294) = happyShift action_60
+action_371 (295) = happyShift action_61
+action_371 (296) = happyShift action_62
+action_371 (297) = happyShift action_63
+action_371 (298) = happyShift action_64
+action_371 (299) = happyShift action_65
+action_371 (301) = happyShift action_66
+action_371 (307) = happyShift action_67
+action_371 (309) = happyShift action_68
+action_371 (312) = happyShift action_69
+action_371 (319) = happyShift action_70
+action_371 (324) = happyShift action_71
+action_371 (325) = happyShift action_72
+action_371 (327) = happyShift action_73
+action_371 (334) = happyShift action_75
+action_371 (337) = happyShift action_76
+action_371 (338) = happyShift action_77
+action_371 (339) = happyShift action_78
+action_371 (340) = happyShift action_79
+action_371 (341) = happyShift action_80
+action_371 (342) = happyShift action_81
+action_371 (344) = happyShift action_82
+action_371 (345) = happyShift action_83
+action_371 (346) = happyShift action_84
+action_371 (348) = happyShift action_85
+action_371 (350) = happyShift action_86
+action_371 (351) = happyShift action_87
+action_371 (358) = happyShift action_88
+action_371 (359) = happyShift action_89
+action_371 (360) = happyShift action_90
+action_371 (361) = happyShift action_91
+action_371 (362) = happyShift action_92
+action_371 (363) = happyShift action_93
+action_371 (364) = happyShift action_94
+action_371 (365) = happyShift action_95
+action_371 (366) = happyShift action_96
+action_371 (367) = happyShift action_97
+action_371 (368) = happyShift action_98
+action_371 (369) = happyShift action_99
+action_371 (370) = happyShift action_100
+action_371 (371) = happyShift action_101
+action_371 (373) = happyShift action_102
+action_371 (378) = happyShift action_103
+action_371 (380) = happyShift action_104
+action_371 (381) = happyShift action_105
+action_371 (383) = happyShift action_106
+action_371 (384) = happyShift action_107
+action_371 (391) = happyShift action_159
+action_371 (392) = happyShift action_109
+action_371 (396) = happyShift action_110
+action_371 (402) = happyShift action_112
+action_371 (403) = happyShift action_113
+action_371 (411) = happyShift action_114
+action_371 (412) = happyShift action_115
+action_371 (413) = happyShift action_116
+action_371 (169) = happyGoto action_412
+action_371 (170) = happyGoto action_25
+action_371 (171) = happyGoto action_26
+action_371 (172) = happyGoto action_27
+action_371 (173) = happyGoto action_28
+action_371 (176) = happyGoto action_29
+action_371 (177) = happyGoto action_30
+action_371 (178) = happyGoto action_31
+action_371 (181) = happyGoto action_32
+action_371 (182) = happyGoto action_33
+action_371 (183) = happyGoto action_34
+action_371 (190) = happyGoto action_35
+action_371 (228) = happyGoto action_38
+action_371 (231) = happyGoto action_39
+action_371 (232) = happyGoto action_40
+action_371 (234) = happyGoto action_41
+action_371 (244) = happyGoto action_42
+action_371 (245) = happyGoto action_43
+action_371 (246) = happyGoto action_44
+action_371 (247) = happyGoto action_45
+action_371 (248) = happyGoto action_46
+action_371 (249) = happyGoto action_47
+action_371 (257) = happyGoto action_48
+action_371 _ = happyFail
+
+action_372 (278) = happyShift action_49
+action_372 (279) = happyShift action_50
+action_372 (280) = happyShift action_51
+action_372 (281) = happyShift action_52
+action_372 (282) = happyShift action_53
+action_372 (283) = happyShift action_54
+action_372 (289) = happyShift action_55
+action_372 (290) = happyShift action_56
+action_372 (291) = happyShift action_57
+action_372 (292) = happyShift action_58
+action_372 (293) = happyShift action_59
+action_372 (294) = happyShift action_60
+action_372 (295) = happyShift action_61
+action_372 (296) = happyShift action_62
+action_372 (297) = happyShift action_63
+action_372 (298) = happyShift action_64
+action_372 (299) = happyShift action_65
+action_372 (301) = happyShift action_66
+action_372 (307) = happyShift action_67
+action_372 (309) = happyShift action_68
+action_372 (312) = happyShift action_69
+action_372 (319) = happyShift action_70
+action_372 (324) = happyShift action_71
+action_372 (325) = happyShift action_72
+action_372 (327) = happyShift action_73
+action_372 (334) = happyShift action_75
+action_372 (337) = happyShift action_76
+action_372 (338) = happyShift action_77
+action_372 (339) = happyShift action_78
+action_372 (340) = happyShift action_79
+action_372 (341) = happyShift action_80
+action_372 (342) = happyShift action_81
+action_372 (344) = happyShift action_82
+action_372 (345) = happyShift action_83
+action_372 (346) = happyShift action_84
+action_372 (348) = happyShift action_85
+action_372 (350) = happyShift action_86
+action_372 (351) = happyShift action_87
+action_372 (358) = happyShift action_88
+action_372 (359) = happyShift action_89
+action_372 (360) = happyShift action_90
+action_372 (361) = happyShift action_91
+action_372 (362) = happyShift action_92
+action_372 (363) = happyShift action_93
+action_372 (364) = happyShift action_94
+action_372 (365) = happyShift action_95
+action_372 (366) = happyShift action_96
+action_372 (367) = happyShift action_97
+action_372 (368) = happyShift action_98
+action_372 (369) = happyShift action_99
+action_372 (370) = happyShift action_100
+action_372 (371) = happyShift action_101
+action_372 (373) = happyShift action_102
+action_372 (378) = happyShift action_103
+action_372 (380) = happyShift action_104
+action_372 (381) = happyShift action_105
+action_372 (383) = happyShift action_106
+action_372 (384) = happyShift action_107
+action_372 (391) = happyShift action_159
+action_372 (392) = happyShift action_109
+action_372 (396) = happyShift action_110
+action_372 (402) = happyShift action_112
+action_372 (403) = happyShift action_113
+action_372 (411) = happyShift action_114
+action_372 (412) = happyShift action_115
+action_372 (413) = happyShift action_116
+action_372 (169) = happyGoto action_411
+action_372 (170) = happyGoto action_25
+action_372 (171) = happyGoto action_26
+action_372 (172) = happyGoto action_27
+action_372 (173) = happyGoto action_28
+action_372 (176) = happyGoto action_29
+action_372 (177) = happyGoto action_30
+action_372 (178) = happyGoto action_31
+action_372 (181) = happyGoto action_32
+action_372 (182) = happyGoto action_33
+action_372 (183) = happyGoto action_34
+action_372 (190) = happyGoto action_35
+action_372 (228) = happyGoto action_38
+action_372 (231) = happyGoto action_39
+action_372 (232) = happyGoto action_40
+action_372 (234) = happyGoto action_41
+action_372 (244) = happyGoto action_42
+action_372 (245) = happyGoto action_43
+action_372 (246) = happyGoto action_44
+action_372 (247) = happyGoto action_45
+action_372 (248) = happyGoto action_46
+action_372 (249) = happyGoto action_47
+action_372 (257) = happyGoto action_48
+action_372 _ = happyFail
+
+action_373 (359) = happyShift action_410
+action_373 (38) = happyGoto action_409
+action_373 _ = happyReduce_66
+
+action_374 (425) = happyShift action_408
+action_374 _ = happyFail
+
+action_375 (303) = happyReduce_714
+action_375 (304) = happyShift action_407
+action_375 (385) = happyReduce_714
+action_375 (258) = happyGoto action_405
+action_375 (274) = happyGoto action_406
+action_375 _ = happyReduce_751
+
+action_376 _ = happyReduce_749
+
+action_377 (282) = happyShift action_403
+action_377 (283) = happyShift action_404
+action_377 (267) = happyGoto action_402
+action_377 _ = happyFail
+
+action_378 (1) = happyShift action_400
+action_378 (306) = happyShift action_401
+action_378 (259) = happyGoto action_399
+action_378 _ = happyFail
+
+action_379 (27) = happyGoto action_175
+action_379 (28) = happyGoto action_398
+action_379 _ = happyReduce_41
+
+action_380 (27) = happyGoto action_175
+action_380 (28) = happyGoto action_397
+action_380 _ = happyReduce_41
+
+action_381 (21) = happyGoto action_395
+action_381 (27) = happyGoto action_175
+action_381 (28) = happyGoto action_396
+action_381 _ = happyReduce_41
+
+action_382 (278) = happyShift action_49
+action_382 (282) = happyShift action_53
+action_382 (299) = happyShift action_392
+action_382 (358) = happyShift action_88
+action_382 (359) = happyShift action_89
+action_382 (360) = happyShift action_90
+action_382 (361) = happyShift action_91
+action_382 (362) = happyShift action_92
+action_382 (363) = happyShift action_93
+action_382 (364) = happyShift action_94
+action_382 (365) = happyShift action_95
+action_382 (366) = happyShift action_96
+action_382 (367) = happyShift action_97
+action_382 (368) = happyShift action_98
+action_382 (369) = happyShift action_99
+action_382 (370) = happyShift action_100
+action_382 (371) = happyShift action_101
+action_382 (380) = happyShift action_104
+action_382 (381) = happyShift action_105
+action_382 (383) = happyShift action_106
+action_382 (393) = happyShift action_393
+action_382 (399) = happyShift action_394
+action_382 (402) = happyShift action_112
+action_382 (403) = happyShift action_113
+action_382 (100) = happyGoto action_386
+action_382 (101) = happyGoto action_387
+action_382 (229) = happyGoto action_388
+action_382 (233) = happyGoto action_389
+action_382 (245) = happyGoto action_43
+action_382 (246) = happyGoto action_390
+action_382 (249) = happyGoto action_391
+action_382 _ = happyFail
+
+action_383 _ = happyFail
+
+action_384 (393) = happyShift action_169
+action_384 (15) = happyGoto action_385
+action_384 (22) = happyGoto action_384
+action_384 (23) = happyGoto action_166
+action_384 _ = happyFail
+
+action_385 _ = happyFail
+
+action_386 (278) = happyShift action_49
+action_386 (279) = happyShift action_50
+action_386 (280) = happyShift action_51
+action_386 (281) = happyShift action_52
+action_386 (282) = happyShift action_53
+action_386 (283) = happyShift action_54
+action_386 (289) = happyShift action_55
+action_386 (290) = happyShift action_56
+action_386 (291) = happyShift action_57
+action_386 (292) = happyShift action_58
+action_386 (293) = happyShift action_59
+action_386 (294) = happyShift action_60
+action_386 (295) = happyShift action_61
+action_386 (296) = happyShift action_62
+action_386 (297) = happyShift action_63
+action_386 (298) = happyShift action_64
+action_386 (299) = happyShift action_65
+action_386 (301) = happyShift action_66
+action_386 (307) = happyShift action_67
+action_386 (309) = happyShift action_68
+action_386 (312) = happyShift action_69
+action_386 (324) = happyShift action_71
+action_386 (325) = happyShift action_72
+action_386 (334) = happyShift action_75
+action_386 (337) = happyShift action_76
+action_386 (338) = happyShift action_77
+action_386 (339) = happyShift action_78
+action_386 (340) = happyShift action_79
+action_386 (341) = happyShift action_80
+action_386 (342) = happyShift action_81
+action_386 (344) = happyShift action_82
+action_386 (345) = happyShift action_83
+action_386 (346) = happyShift action_84
+action_386 (348) = happyShift action_85
+action_386 (350) = happyShift action_86
+action_386 (351) = happyShift action_87
+action_386 (358) = happyShift action_88
+action_386 (359) = happyShift action_89
+action_386 (360) = happyShift action_90
+action_386 (361) = happyShift action_91
+action_386 (362) = happyShift action_92
+action_386 (363) = happyShift action_93
+action_386 (364) = happyShift action_94
+action_386 (365) = happyShift action_95
+action_386 (366) = happyShift action_96
+action_386 (367) = happyShift action_97
+action_386 (368) = happyShift action_98
+action_386 (369) = happyShift action_99
+action_386 (370) = happyShift action_100
+action_386 (371) = happyShift action_101
+action_386 (380) = happyShift action_104
+action_386 (381) = happyShift action_105
+action_386 (383) = happyShift action_106
+action_386 (402) = happyShift action_112
+action_386 (403) = happyShift action_113
+action_386 (181) = happyGoto action_762
+action_386 (182) = happyGoto action_33
+action_386 (183) = happyGoto action_34
+action_386 (190) = happyGoto action_35
+action_386 (228) = happyGoto action_38
+action_386 (231) = happyGoto action_39
+action_386 (232) = happyGoto action_40
+action_386 (234) = happyGoto action_41
+action_386 (244) = happyGoto action_42
+action_386 (245) = happyGoto action_43
+action_386 (246) = happyGoto action_44
+action_386 (247) = happyGoto action_45
+action_386 (248) = happyGoto action_46
+action_386 (249) = happyGoto action_47
+action_386 (257) = happyGoto action_48
+action_386 _ = happyFail
+
+action_387 (425) = happyShift action_761
+action_387 _ = happyFail
+
+action_388 _ = happyReduce_236
+
+action_389 _ = happyReduce_235
+
+action_390 _ = happyReduce_633
+
+action_391 _ = happyReduce_640
+
+action_392 (285) = happyShift action_211
+action_392 (286) = happyShift action_186
+action_392 (314) = happyShift action_214
+action_392 (327) = happyShift action_216
+action_392 (328) = happyShift action_340
+action_392 (329) = happyShift action_218
+action_392 (251) = happyGoto action_759
+action_392 (254) = happyGoto action_760
+action_392 (255) = happyGoto action_209
+action_392 _ = happyFail
+
+action_393 (278) = happyShift action_49
+action_393 (279) = happyShift action_50
+action_393 (280) = happyShift action_51
+action_393 (281) = happyShift action_52
+action_393 (282) = happyShift action_53
+action_393 (283) = happyShift action_54
+action_393 (289) = happyShift action_55
+action_393 (290) = happyShift action_56
+action_393 (291) = happyShift action_57
+action_393 (292) = happyShift action_58
+action_393 (293) = happyShift action_59
+action_393 (294) = happyShift action_60
+action_393 (295) = happyShift action_61
+action_393 (296) = happyShift action_62
+action_393 (297) = happyShift action_63
+action_393 (298) = happyShift action_64
+action_393 (299) = happyShift action_65
+action_393 (301) = happyShift action_66
+action_393 (307) = happyShift action_67
+action_393 (309) = happyShift action_68
+action_393 (312) = happyShift action_69
+action_393 (324) = happyShift action_71
+action_393 (325) = happyShift action_72
+action_393 (334) = happyShift action_75
+action_393 (337) = happyShift action_76
+action_393 (338) = happyShift action_77
+action_393 (339) = happyShift action_78
+action_393 (340) = happyShift action_79
+action_393 (341) = happyShift action_80
+action_393 (342) = happyShift action_81
+action_393 (344) = happyShift action_82
+action_393 (345) = happyShift action_83
+action_393 (346) = happyShift action_84
+action_393 (348) = happyShift action_85
+action_393 (350) = happyShift action_86
+action_393 (351) = happyShift action_87
+action_393 (358) = happyShift action_88
+action_393 (359) = happyShift action_89
+action_393 (360) = happyShift action_90
+action_393 (361) = happyShift action_91
+action_393 (362) = happyShift action_92
+action_393 (363) = happyShift action_93
+action_393 (364) = happyShift action_94
+action_393 (365) = happyShift action_95
+action_393 (366) = happyShift action_96
+action_393 (367) = happyShift action_97
+action_393 (368) = happyShift action_98
+action_393 (369) = happyShift action_99
+action_393 (370) = happyShift action_100
+action_393 (371) = happyShift action_101
+action_393 (380) = happyShift action_104
+action_393 (381) = happyShift action_105
+action_393 (383) = happyShift action_106
+action_393 (402) = happyShift action_112
+action_393 (403) = happyShift action_113
+action_393 (181) = happyGoto action_758
+action_393 (182) = happyGoto action_33
+action_393 (183) = happyGoto action_34
+action_393 (190) = happyGoto action_35
+action_393 (228) = happyGoto action_38
+action_393 (231) = happyGoto action_39
+action_393 (232) = happyGoto action_40
+action_393 (234) = happyGoto action_41
+action_393 (244) = happyGoto action_42
+action_393 (245) = happyGoto action_43
+action_393 (246) = happyGoto action_44
+action_393 (247) = happyGoto action_45
+action_393 (248) = happyGoto action_46
+action_393 (249) = happyGoto action_47
+action_393 (257) = happyGoto action_48
+action_393 _ = happyFail
+
+action_394 (282) = happyShift action_53
+action_394 (249) = happyGoto action_757
+action_394 _ = happyFail
+
+action_395 (311) = happyShift action_756
+action_395 (27) = happyGoto action_175
+action_395 (28) = happyGoto action_755
+action_395 _ = happyReduce_41
+
+action_396 (282) = happyShift action_53
+action_396 (303) = happyShift action_566
+action_396 (249) = happyGoto action_754
+action_396 _ = happyFail
+
+action_397 (303) = happyShift action_566
+action_397 (425) = happyShift action_753
+action_397 _ = happyFail
+
+action_398 (303) = happyShift action_566
+action_398 (418) = happyShift action_380
+action_398 (419) = happyShift action_381
+action_398 (420) = happyShift action_382
+action_398 (19) = happyGoto action_752
+action_398 (20) = happyGoto action_379
+action_398 _ = happyReduce_21
+
+action_399 _ = happyReduce_19
+
+action_400 _ = happyReduce_716
+
+action_401 _ = happyReduce_715
+
+action_402 _ = happyReduce_747
+
+action_403 _ = happyReduce_732
+
+action_404 _ = happyReduce_733
+
+action_405 (27) = happyGoto action_175
+action_405 (28) = happyGoto action_751
+action_405 _ = happyReduce_41
+
+action_406 _ = happyReduce_750
+
+action_407 (27) = happyGoto action_175
+action_407 (28) = happyGoto action_750
+action_407 _ = happyReduce_41
+
+action_408 _ = happyReduce_63
+
+action_409 (402) = happyShift action_749
+action_409 (39) = happyGoto action_748
+action_409 _ = happyReduce_68
+
+action_410 _ = happyReduce_65
+
+action_411 _ = happyReduce_407
+
+action_412 _ = happyReduce_406
+
+action_413 _ = happyReduce_405
+
+action_414 _ = happyReduce_404
+
+action_415 _ = happyReduce_401
+
+action_416 (313) = happyShift action_747
+action_416 _ = happyFail
+
+action_417 (313) = happyShift action_746
+action_417 _ = happyFail
+
+action_418 _ = happyReduce_410
+
+action_419 _ = happyReduce_412
+
+action_420 (305) = happyShift action_745
+action_420 _ = happyFail
+
+action_421 (311) = happyShift action_744
+action_421 _ = happyReduce_619
+
+action_422 (318) = happyShift action_743
+action_422 _ = happyReduce_622
+
+action_423 (285) = happyShift action_211
+action_423 (287) = happyShift action_212
+action_423 (314) = happyShift action_214
+action_423 (327) = happyShift action_216
+action_423 (328) = happyShift action_340
+action_423 (329) = happyShift action_218
+action_423 (252) = happyGoto action_353
+action_423 (254) = happyGoto action_208
+action_423 (255) = happyGoto action_209
+action_423 (256) = happyGoto action_210
+action_423 _ = happyFail
+
+action_424 _ = happyReduce_444
+
+action_425 _ = happyReduce_620
+
+action_426 _ = happyReduce_615
+
+action_427 _ = happyReduce_440
+
+action_428 _ = happyReduce_439
+
+action_429 _ = happyReduce_638
+
+action_430 _ = happyReduce_643
+
+action_431 _ = happyReduce_462
+
+action_432 (278) = happyShift action_49
+action_432 (279) = happyShift action_50
+action_432 (280) = happyShift action_51
+action_432 (281) = happyShift action_52
+action_432 (282) = happyShift action_53
+action_432 (283) = happyShift action_54
+action_432 (285) = happyShift action_211
+action_432 (286) = happyShift action_186
+action_432 (287) = happyShift action_212
+action_432 (288) = happyShift action_187
+action_432 (289) = happyShift action_55
+action_432 (290) = happyShift action_56
+action_432 (291) = happyShift action_57
+action_432 (292) = happyShift action_58
+action_432 (293) = happyShift action_59
+action_432 (294) = happyShift action_60
+action_432 (295) = happyShift action_61
+action_432 (296) = happyShift action_62
+action_432 (297) = happyShift action_63
+action_432 (298) = happyShift action_64
+action_432 (299) = happyShift action_65
+action_432 (300) = happyShift action_742
+action_432 (301) = happyShift action_66
+action_432 (307) = happyShift action_67
+action_432 (309) = happyShift action_68
+action_432 (311) = happyShift action_437
+action_432 (312) = happyShift action_69
+action_432 (313) = happyShift action_339
+action_432 (314) = happyShift action_214
+action_432 (316) = happyShift action_190
+action_432 (319) = happyShift action_70
+action_432 (324) = happyShift action_71
+action_432 (325) = happyShift action_72
+action_432 (327) = happyShift action_73
+action_432 (328) = happyShift action_340
+action_432 (329) = happyShift action_218
+action_432 (334) = happyShift action_75
+action_432 (337) = happyShift action_76
+action_432 (338) = happyShift action_77
+action_432 (339) = happyShift action_78
+action_432 (340) = happyShift action_79
+action_432 (341) = happyShift action_80
+action_432 (342) = happyShift action_81
+action_432 (344) = happyShift action_82
+action_432 (345) = happyShift action_83
+action_432 (346) = happyShift action_84
+action_432 (348) = happyShift action_85
+action_432 (350) = happyShift action_86
+action_432 (351) = happyShift action_87
+action_432 (358) = happyShift action_88
+action_432 (359) = happyShift action_89
+action_432 (360) = happyShift action_90
+action_432 (361) = happyShift action_91
+action_432 (362) = happyShift action_92
+action_432 (363) = happyShift action_93
+action_432 (364) = happyShift action_94
+action_432 (365) = happyShift action_95
+action_432 (366) = happyShift action_96
+action_432 (367) = happyShift action_97
+action_432 (368) = happyShift action_98
+action_432 (369) = happyShift action_99
+action_432 (370) = happyShift action_100
+action_432 (371) = happyShift action_101
+action_432 (373) = happyShift action_102
+action_432 (378) = happyShift action_103
+action_432 (380) = happyShift action_104
+action_432 (381) = happyShift action_105
+action_432 (383) = happyShift action_106
+action_432 (384) = happyShift action_107
+action_432 (391) = happyShift action_159
+action_432 (392) = happyShift action_109
+action_432 (396) = happyShift action_110
+action_432 (402) = happyShift action_112
+action_432 (403) = happyShift action_113
+action_432 (411) = happyShift action_114
+action_432 (412) = happyShift action_115
+action_432 (413) = happyShift action_116
+action_432 (169) = happyGoto action_329
+action_432 (170) = happyGoto action_25
+action_432 (171) = happyGoto action_26
+action_432 (172) = happyGoto action_27
+action_432 (173) = happyGoto action_28
+action_432 (176) = happyGoto action_29
+action_432 (177) = happyGoto action_30
+action_432 (178) = happyGoto action_31
+action_432 (181) = happyGoto action_32
+action_432 (182) = happyGoto action_33
+action_432 (183) = happyGoto action_34
+action_432 (185) = happyGoto action_741
+action_432 (190) = happyGoto action_35
+action_432 (228) = happyGoto action_38
+action_432 (231) = happyGoto action_39
+action_432 (232) = happyGoto action_40
+action_432 (234) = happyGoto action_41
+action_432 (237) = happyGoto action_333
+action_432 (239) = happyGoto action_334
+action_432 (242) = happyGoto action_335
+action_432 (243) = happyGoto action_226
+action_432 (244) = happyGoto action_42
+action_432 (245) = happyGoto action_43
+action_432 (246) = happyGoto action_44
+action_432 (247) = happyGoto action_45
+action_432 (248) = happyGoto action_46
+action_432 (249) = happyGoto action_47
+action_432 (250) = happyGoto action_183
+action_432 (251) = happyGoto action_184
+action_432 (253) = happyGoto action_336
+action_432 (255) = happyGoto action_337
+action_432 (256) = happyGoto action_338
+action_432 (257) = happyGoto action_48
+action_432 _ = happyFail
+
+action_433 _ = happyReduce_452
+
+action_434 _ = happyReduce_451
+
+action_435 (300) = happyShift action_740
+action_435 (311) = happyShift action_202
+action_435 (184) = happyGoto action_432
+action_435 (186) = happyGoto action_739
+action_435 _ = happyFail
+
+action_436 _ = happyReduce_629
+
+action_437 _ = happyReduce_477
+
+action_438 (278) = happyShift action_49
+action_438 (279) = happyShift action_50
+action_438 (280) = happyShift action_51
+action_438 (281) = happyShift action_52
+action_438 (282) = happyShift action_53
+action_438 (283) = happyShift action_54
+action_438 (289) = happyShift action_55
+action_438 (290) = happyShift action_56
+action_438 (291) = happyShift action_57
+action_438 (292) = happyShift action_58
+action_438 (293) = happyShift action_59
+action_438 (294) = happyShift action_60
+action_438 (295) = happyShift action_61
+action_438 (296) = happyShift action_62
+action_438 (297) = happyShift action_63
+action_438 (298) = happyShift action_64
+action_438 (299) = happyShift action_65
+action_438 (301) = happyShift action_66
+action_438 (307) = happyShift action_67
+action_438 (309) = happyShift action_68
+action_438 (312) = happyShift action_69
+action_438 (319) = happyShift action_70
+action_438 (324) = happyShift action_71
+action_438 (325) = happyShift action_72
+action_438 (327) = happyShift action_73
+action_438 (334) = happyShift action_75
+action_438 (337) = happyShift action_76
+action_438 (338) = happyShift action_77
+action_438 (339) = happyShift action_78
+action_438 (340) = happyShift action_79
+action_438 (341) = happyShift action_80
+action_438 (342) = happyShift action_81
+action_438 (344) = happyShift action_82
+action_438 (345) = happyShift action_83
+action_438 (346) = happyShift action_84
+action_438 (348) = happyShift action_85
+action_438 (350) = happyShift action_86
+action_438 (351) = happyShift action_87
+action_438 (358) = happyShift action_88
+action_438 (359) = happyShift action_89
+action_438 (360) = happyShift action_90
+action_438 (361) = happyShift action_91
+action_438 (362) = happyShift action_92
+action_438 (363) = happyShift action_93
+action_438 (364) = happyShift action_94
+action_438 (365) = happyShift action_95
+action_438 (366) = happyShift action_96
+action_438 (367) = happyShift action_97
+action_438 (368) = happyShift action_98
+action_438 (369) = happyShift action_99
+action_438 (370) = happyShift action_100
+action_438 (371) = happyShift action_101
+action_438 (373) = happyShift action_102
+action_438 (378) = happyShift action_103
+action_438 (380) = happyShift action_104
+action_438 (381) = happyShift action_105
+action_438 (383) = happyShift action_106
+action_438 (384) = happyShift action_107
+action_438 (391) = happyShift action_159
+action_438 (392) = happyShift action_109
+action_438 (396) = happyShift action_110
+action_438 (402) = happyShift action_112
+action_438 (403) = happyShift action_113
+action_438 (411) = happyShift action_114
+action_438 (412) = happyShift action_115
+action_438 (413) = happyShift action_116
+action_438 (169) = happyGoto action_737
+action_438 (170) = happyGoto action_25
+action_438 (171) = happyGoto action_26
+action_438 (172) = happyGoto action_27
+action_438 (173) = happyGoto action_28
+action_438 (176) = happyGoto action_29
+action_438 (177) = happyGoto action_30
+action_438 (178) = happyGoto action_31
+action_438 (181) = happyGoto action_32
+action_438 (182) = happyGoto action_33
+action_438 (183) = happyGoto action_34
+action_438 (189) = happyGoto action_738
+action_438 (190) = happyGoto action_35
+action_438 (228) = happyGoto action_38
+action_438 (231) = happyGoto action_39
+action_438 (232) = happyGoto action_40
+action_438 (234) = happyGoto action_41
+action_438 (244) = happyGoto action_42
+action_438 (245) = happyGoto action_43
+action_438 (246) = happyGoto action_44
+action_438 (247) = happyGoto action_45
+action_438 (248) = happyGoto action_46
+action_438 (249) = happyGoto action_47
+action_438 (257) = happyGoto action_48
+action_438 _ = happyFail
+
+action_439 (278) = happyShift action_49
+action_439 (279) = happyShift action_50
+action_439 (280) = happyShift action_51
+action_439 (281) = happyShift action_52
+action_439 (282) = happyShift action_53
+action_439 (283) = happyShift action_54
+action_439 (289) = happyShift action_55
+action_439 (290) = happyShift action_56
+action_439 (291) = happyShift action_57
+action_439 (292) = happyShift action_58
+action_439 (293) = happyShift action_59
+action_439 (294) = happyShift action_60
+action_439 (295) = happyShift action_61
+action_439 (296) = happyShift action_62
+action_439 (297) = happyShift action_63
+action_439 (298) = happyShift action_64
+action_439 (299) = happyShift action_65
+action_439 (301) = happyShift action_66
+action_439 (307) = happyShift action_67
+action_439 (309) = happyShift action_68
+action_439 (312) = happyShift action_69
+action_439 (319) = happyShift action_70
+action_439 (324) = happyShift action_71
+action_439 (325) = happyShift action_72
+action_439 (327) = happyShift action_73
+action_439 (328) = happyShift action_74
+action_439 (334) = happyShift action_75
+action_439 (337) = happyShift action_76
+action_439 (338) = happyShift action_77
+action_439 (339) = happyShift action_78
+action_439 (340) = happyShift action_79
+action_439 (341) = happyShift action_80
+action_439 (342) = happyShift action_81
+action_439 (344) = happyShift action_82
+action_439 (345) = happyShift action_83
+action_439 (346) = happyShift action_84
+action_439 (348) = happyShift action_85
+action_439 (350) = happyShift action_86
+action_439 (351) = happyShift action_87
+action_439 (358) = happyShift action_88
+action_439 (359) = happyShift action_89
+action_439 (360) = happyShift action_90
+action_439 (361) = happyShift action_91
+action_439 (362) = happyShift action_92
+action_439 (363) = happyShift action_93
+action_439 (364) = happyShift action_94
+action_439 (365) = happyShift action_95
+action_439 (366) = happyShift action_96
+action_439 (367) = happyShift action_97
+action_439 (368) = happyShift action_98
+action_439 (369) = happyShift action_99
+action_439 (370) = happyShift action_100
+action_439 (371) = happyShift action_101
+action_439 (373) = happyShift action_102
+action_439 (378) = happyShift action_103
+action_439 (380) = happyShift action_104
+action_439 (381) = happyShift action_105
+action_439 (383) = happyShift action_106
+action_439 (384) = happyShift action_107
+action_439 (391) = happyShift action_159
+action_439 (392) = happyShift action_109
+action_439 (396) = happyShift action_110
+action_439 (402) = happyShift action_112
+action_439 (403) = happyShift action_113
+action_439 (411) = happyShift action_114
+action_439 (412) = happyShift action_115
+action_439 (413) = happyShift action_116
+action_439 (169) = happyGoto action_157
+action_439 (170) = happyGoto action_25
+action_439 (171) = happyGoto action_26
+action_439 (172) = happyGoto action_27
+action_439 (173) = happyGoto action_28
+action_439 (176) = happyGoto action_29
+action_439 (177) = happyGoto action_30
+action_439 (178) = happyGoto action_31
+action_439 (181) = happyGoto action_32
+action_439 (182) = happyGoto action_33
+action_439 (183) = happyGoto action_34
+action_439 (190) = happyGoto action_35
+action_439 (215) = happyGoto action_736
+action_439 (228) = happyGoto action_38
+action_439 (231) = happyGoto action_39
+action_439 (232) = happyGoto action_40
+action_439 (234) = happyGoto action_41
+action_439 (244) = happyGoto action_42
+action_439 (245) = happyGoto action_43
+action_439 (246) = happyGoto action_44
+action_439 (247) = happyGoto action_45
+action_439 (248) = happyGoto action_46
+action_439 (249) = happyGoto action_47
+action_439 (257) = happyGoto action_48
+action_439 _ = happyFail
+
+action_440 (278) = happyShift action_49
+action_440 (279) = happyShift action_50
+action_440 (280) = happyShift action_51
+action_440 (281) = happyShift action_52
+action_440 (282) = happyShift action_53
+action_440 (283) = happyShift action_54
+action_440 (285) = happyShift action_211
+action_440 (286) = happyShift action_186
+action_440 (287) = happyShift action_212
+action_440 (288) = happyShift action_187
+action_440 (289) = happyShift action_55
+action_440 (290) = happyShift action_56
+action_440 (291) = happyShift action_57
+action_440 (292) = happyShift action_58
+action_440 (293) = happyShift action_59
+action_440 (294) = happyShift action_60
+action_440 (295) = happyShift action_61
+action_440 (296) = happyShift action_62
+action_440 (297) = happyShift action_63
+action_440 (298) = happyShift action_64
+action_440 (299) = happyShift action_65
+action_440 (301) = happyShift action_66
+action_440 (302) = happyShift action_735
+action_440 (307) = happyShift action_67
+action_440 (309) = happyShift action_68
+action_440 (311) = happyShift action_437
+action_440 (312) = happyShift action_69
+action_440 (313) = happyShift action_339
+action_440 (314) = happyShift action_214
+action_440 (316) = happyShift action_190
+action_440 (319) = happyShift action_70
+action_440 (324) = happyShift action_71
+action_440 (325) = happyShift action_72
+action_440 (327) = happyShift action_73
+action_440 (328) = happyShift action_340
+action_440 (329) = happyShift action_218
+action_440 (334) = happyShift action_75
+action_440 (337) = happyShift action_76
+action_440 (338) = happyShift action_77
+action_440 (339) = happyShift action_78
+action_440 (340) = happyShift action_79
+action_440 (341) = happyShift action_80
+action_440 (342) = happyShift action_81
+action_440 (344) = happyShift action_82
+action_440 (345) = happyShift action_83
+action_440 (346) = happyShift action_84
+action_440 (348) = happyShift action_85
+action_440 (350) = happyShift action_86
+action_440 (351) = happyShift action_87
+action_440 (358) = happyShift action_88
+action_440 (359) = happyShift action_89
+action_440 (360) = happyShift action_90
+action_440 (361) = happyShift action_91
+action_440 (362) = happyShift action_92
+action_440 (363) = happyShift action_93
+action_440 (364) = happyShift action_94
+action_440 (365) = happyShift action_95
+action_440 (366) = happyShift action_96
+action_440 (367) = happyShift action_97
+action_440 (368) = happyShift action_98
+action_440 (369) = happyShift action_99
+action_440 (370) = happyShift action_100
+action_440 (371) = happyShift action_101
+action_440 (373) = happyShift action_102
+action_440 (378) = happyShift action_103
+action_440 (380) = happyShift action_104
+action_440 (381) = happyShift action_105
+action_440 (383) = happyShift action_106
+action_440 (384) = happyShift action_107
+action_440 (391) = happyShift action_159
+action_440 (392) = happyShift action_109
+action_440 (396) = happyShift action_110
+action_440 (402) = happyShift action_112
+action_440 (403) = happyShift action_113
+action_440 (411) = happyShift action_114
+action_440 (412) = happyShift action_115
+action_440 (413) = happyShift action_116
+action_440 (169) = happyGoto action_329
+action_440 (170) = happyGoto action_25
+action_440 (171) = happyGoto action_26
+action_440 (172) = happyGoto action_27
+action_440 (173) = happyGoto action_28
+action_440 (176) = happyGoto action_29
+action_440 (177) = happyGoto action_30
+action_440 (178) = happyGoto action_31
+action_440 (181) = happyGoto action_32
+action_440 (182) = happyGoto action_33
+action_440 (183) = happyGoto action_34
+action_440 (185) = happyGoto action_734
+action_440 (190) = happyGoto action_35
+action_440 (228) = happyGoto action_38
+action_440 (231) = happyGoto action_39
+action_440 (232) = happyGoto action_40
+action_440 (234) = happyGoto action_41
+action_440 (237) = happyGoto action_333
+action_440 (239) = happyGoto action_334
+action_440 (242) = happyGoto action_335
+action_440 (243) = happyGoto action_226
+action_440 (244) = happyGoto action_42
+action_440 (245) = happyGoto action_43
+action_440 (246) = happyGoto action_44
+action_440 (247) = happyGoto action_45
+action_440 (248) = happyGoto action_46
+action_440 (249) = happyGoto action_47
+action_440 (250) = happyGoto action_183
+action_440 (251) = happyGoto action_184
+action_440 (253) = happyGoto action_336
+action_440 (255) = happyGoto action_337
+action_440 (256) = happyGoto action_338
+action_440 (257) = happyGoto action_48
+action_440 _ = happyFail
+
+action_441 _ = happyReduce_455
+
+action_442 _ = happyReduce_456
+
+action_443 (302) = happyShift action_733
+action_443 (311) = happyShift action_202
+action_443 (184) = happyGoto action_440
+action_443 (187) = happyGoto action_732
+action_443 _ = happyFail
+
+action_444 _ = happyReduce_631
+
+action_445 (278) = happyShift action_49
+action_445 (279) = happyShift action_50
+action_445 (280) = happyShift action_51
+action_445 (281) = happyShift action_52
+action_445 (282) = happyShift action_53
+action_445 (283) = happyShift action_54
+action_445 (285) = happyShift action_211
+action_445 (286) = happyShift action_186
+action_445 (287) = happyShift action_212
+action_445 (288) = happyShift action_187
+action_445 (289) = happyShift action_55
+action_445 (290) = happyShift action_56
+action_445 (291) = happyShift action_57
+action_445 (292) = happyShift action_58
+action_445 (293) = happyShift action_59
+action_445 (294) = happyShift action_60
+action_445 (295) = happyShift action_61
+action_445 (296) = happyShift action_62
+action_445 (297) = happyShift action_63
+action_445 (298) = happyShift action_64
+action_445 (299) = happyShift action_65
+action_445 (301) = happyShift action_66
+action_445 (307) = happyShift action_67
+action_445 (309) = happyShift action_68
+action_445 (312) = happyShift action_69
+action_445 (313) = happyShift action_339
+action_445 (314) = happyShift action_214
+action_445 (316) = happyShift action_190
+action_445 (319) = happyShift action_70
+action_445 (324) = happyShift action_71
+action_445 (325) = happyShift action_72
+action_445 (327) = happyShift action_73
+action_445 (328) = happyShift action_340
+action_445 (329) = happyShift action_218
+action_445 (334) = happyShift action_75
+action_445 (337) = happyShift action_76
+action_445 (338) = happyShift action_77
+action_445 (339) = happyShift action_78
+action_445 (340) = happyShift action_79
+action_445 (341) = happyShift action_80
+action_445 (342) = happyShift action_81
+action_445 (344) = happyShift action_82
+action_445 (345) = happyShift action_83
+action_445 (346) = happyShift action_84
+action_445 (348) = happyShift action_85
+action_445 (350) = happyShift action_86
+action_445 (351) = happyShift action_87
+action_445 (358) = happyShift action_88
+action_445 (359) = happyShift action_89
+action_445 (360) = happyShift action_90
+action_445 (361) = happyShift action_91
+action_445 (362) = happyShift action_92
+action_445 (363) = happyShift action_93
+action_445 (364) = happyShift action_94
+action_445 (365) = happyShift action_95
+action_445 (366) = happyShift action_96
+action_445 (367) = happyShift action_97
+action_445 (368) = happyShift action_98
+action_445 (369) = happyShift action_99
+action_445 (370) = happyShift action_100
+action_445 (371) = happyShift action_101
+action_445 (373) = happyShift action_102
+action_445 (378) = happyShift action_103
+action_445 (380) = happyShift action_104
+action_445 (381) = happyShift action_105
+action_445 (383) = happyShift action_106
+action_445 (384) = happyShift action_107
+action_445 (391) = happyShift action_159
+action_445 (392) = happyShift action_109
+action_445 (396) = happyShift action_110
+action_445 (402) = happyShift action_112
+action_445 (403) = happyShift action_113
+action_445 (411) = happyShift action_114
+action_445 (412) = happyShift action_115
+action_445 (413) = happyShift action_116
+action_445 (169) = happyGoto action_329
+action_445 (170) = happyGoto action_25
+action_445 (171) = happyGoto action_26
+action_445 (172) = happyGoto action_27
+action_445 (173) = happyGoto action_28
+action_445 (176) = happyGoto action_29
+action_445 (177) = happyGoto action_30
+action_445 (178) = happyGoto action_31
+action_445 (181) = happyGoto action_32
+action_445 (182) = happyGoto action_33
+action_445 (183) = happyGoto action_34
+action_445 (185) = happyGoto action_731
+action_445 (190) = happyGoto action_35
+action_445 (228) = happyGoto action_38
+action_445 (231) = happyGoto action_39
+action_445 (232) = happyGoto action_40
+action_445 (234) = happyGoto action_41
+action_445 (237) = happyGoto action_333
+action_445 (239) = happyGoto action_334
+action_445 (242) = happyGoto action_335
+action_445 (243) = happyGoto action_226
+action_445 (244) = happyGoto action_42
+action_445 (245) = happyGoto action_43
+action_445 (246) = happyGoto action_44
+action_445 (247) = happyGoto action_45
+action_445 (248) = happyGoto action_46
+action_445 (249) = happyGoto action_47
+action_445 (250) = happyGoto action_183
+action_445 (251) = happyGoto action_184
+action_445 (253) = happyGoto action_336
+action_445 (255) = happyGoto action_337
+action_445 (256) = happyGoto action_338
+action_445 (257) = happyGoto action_48
+action_445 _ = happyFail
+
+action_446 _ = happyReduce_459
+
+action_447 (278) = happyShift action_49
+action_447 (279) = happyShift action_50
+action_447 (280) = happyShift action_51
+action_447 (281) = happyShift action_52
+action_447 (282) = happyShift action_53
+action_447 (283) = happyShift action_54
+action_447 (285) = happyShift action_211
+action_447 (286) = happyShift action_186
+action_447 (287) = happyShift action_212
+action_447 (288) = happyShift action_187
+action_447 (289) = happyShift action_55
+action_447 (290) = happyShift action_56
+action_447 (291) = happyShift action_57
+action_447 (292) = happyShift action_58
+action_447 (293) = happyShift action_59
+action_447 (294) = happyShift action_60
+action_447 (295) = happyShift action_61
+action_447 (296) = happyShift action_62
+action_447 (297) = happyShift action_63
+action_447 (298) = happyShift action_64
+action_447 (299) = happyShift action_65
+action_447 (301) = happyShift action_66
+action_447 (307) = happyShift action_67
+action_447 (309) = happyShift action_68
+action_447 (312) = happyShift action_69
+action_447 (313) = happyShift action_339
+action_447 (314) = happyShift action_214
+action_447 (316) = happyShift action_190
+action_447 (319) = happyShift action_70
+action_447 (324) = happyShift action_71
+action_447 (325) = happyShift action_72
+action_447 (327) = happyShift action_73
+action_447 (328) = happyShift action_340
+action_447 (329) = happyShift action_218
+action_447 (334) = happyShift action_75
+action_447 (337) = happyShift action_76
+action_447 (338) = happyShift action_77
+action_447 (339) = happyShift action_78
+action_447 (340) = happyShift action_79
+action_447 (341) = happyShift action_80
+action_447 (342) = happyShift action_81
+action_447 (344) = happyShift action_82
+action_447 (345) = happyShift action_83
+action_447 (346) = happyShift action_84
+action_447 (348) = happyShift action_85
+action_447 (350) = happyShift action_86
+action_447 (351) = happyShift action_87
+action_447 (358) = happyShift action_88
+action_447 (359) = happyShift action_89
+action_447 (360) = happyShift action_90
+action_447 (361) = happyShift action_91
+action_447 (362) = happyShift action_92
+action_447 (363) = happyShift action_93
+action_447 (364) = happyShift action_94
+action_447 (365) = happyShift action_95
+action_447 (366) = happyShift action_96
+action_447 (367) = happyShift action_97
+action_447 (368) = happyShift action_98
+action_447 (369) = happyShift action_99
+action_447 (370) = happyShift action_100
+action_447 (371) = happyShift action_101
+action_447 (373) = happyShift action_102
+action_447 (378) = happyShift action_103
+action_447 (380) = happyShift action_104
+action_447 (381) = happyShift action_105
+action_447 (383) = happyShift action_106
+action_447 (384) = happyShift action_107
+action_447 (391) = happyShift action_159
+action_447 (392) = happyShift action_109
+action_447 (396) = happyShift action_110
+action_447 (402) = happyShift action_112
+action_447 (403) = happyShift action_113
+action_447 (411) = happyShift action_114
+action_447 (412) = happyShift action_115
+action_447 (413) = happyShift action_116
+action_447 (169) = happyGoto action_730
+action_447 (170) = happyGoto action_25
+action_447 (171) = happyGoto action_26
+action_447 (172) = happyGoto action_27
+action_447 (173) = happyGoto action_28
+action_447 (176) = happyGoto action_29
+action_447 (177) = happyGoto action_30
+action_447 (178) = happyGoto action_31
+action_447 (181) = happyGoto action_32
+action_447 (182) = happyGoto action_33
+action_447 (183) = happyGoto action_34
+action_447 (185) = happyGoto action_726
+action_447 (190) = happyGoto action_35
+action_447 (228) = happyGoto action_38
+action_447 (231) = happyGoto action_39
+action_447 (232) = happyGoto action_40
+action_447 (234) = happyGoto action_41
+action_447 (237) = happyGoto action_333
+action_447 (239) = happyGoto action_334
+action_447 (242) = happyGoto action_335
+action_447 (243) = happyGoto action_226
+action_447 (244) = happyGoto action_42
+action_447 (245) = happyGoto action_43
+action_447 (246) = happyGoto action_44
+action_447 (247) = happyGoto action_45
+action_447 (248) = happyGoto action_46
+action_447 (249) = happyGoto action_47
+action_447 (250) = happyGoto action_183
+action_447 (251) = happyGoto action_184
+action_447 (253) = happyGoto action_336
+action_447 (255) = happyGoto action_337
+action_447 (256) = happyGoto action_338
+action_447 (257) = happyGoto action_48
+action_447 _ = happyFail
+
+action_448 (278) = happyShift action_49
+action_448 (279) = happyShift action_50
+action_448 (280) = happyShift action_51
+action_448 (281) = happyShift action_52
+action_448 (282) = happyShift action_53
+action_448 (283) = happyShift action_54
+action_448 (289) = happyShift action_55
+action_448 (290) = happyShift action_56
+action_448 (291) = happyShift action_57
+action_448 (292) = happyShift action_58
+action_448 (293) = happyShift action_59
+action_448 (294) = happyShift action_60
+action_448 (295) = happyShift action_61
+action_448 (296) = happyShift action_62
+action_448 (297) = happyShift action_63
+action_448 (298) = happyShift action_64
+action_448 (299) = happyShift action_65
+action_448 (301) = happyShift action_66
+action_448 (307) = happyShift action_67
+action_448 (309) = happyShift action_68
+action_448 (312) = happyShift action_69
+action_448 (319) = happyShift action_70
+action_448 (324) = happyShift action_71
+action_448 (325) = happyShift action_72
+action_448 (327) = happyShift action_73
+action_448 (334) = happyShift action_75
+action_448 (337) = happyShift action_76
+action_448 (338) = happyShift action_77
+action_448 (339) = happyShift action_78
+action_448 (340) = happyShift action_79
+action_448 (341) = happyShift action_80
+action_448 (342) = happyShift action_81
+action_448 (344) = happyShift action_82
+action_448 (345) = happyShift action_83
+action_448 (346) = happyShift action_84
+action_448 (348) = happyShift action_85
+action_448 (350) = happyShift action_86
+action_448 (351) = happyShift action_87
+action_448 (358) = happyShift action_88
+action_448 (359) = happyShift action_89
+action_448 (360) = happyShift action_90
+action_448 (361) = happyShift action_91
+action_448 (362) = happyShift action_92
+action_448 (363) = happyShift action_93
+action_448 (364) = happyShift action_94
+action_448 (365) = happyShift action_95
+action_448 (366) = happyShift action_96
+action_448 (367) = happyShift action_97
+action_448 (368) = happyShift action_98
+action_448 (369) = happyShift action_99
+action_448 (370) = happyShift action_100
+action_448 (371) = happyShift action_101
+action_448 (373) = happyShift action_102
+action_448 (378) = happyShift action_103
+action_448 (380) = happyShift action_104
+action_448 (381) = happyShift action_105
+action_448 (383) = happyShift action_106
+action_448 (384) = happyShift action_107
+action_448 (391) = happyShift action_159
+action_448 (392) = happyShift action_109
+action_448 (396) = happyShift action_110
+action_448 (402) = happyShift action_112
+action_448 (403) = happyShift action_113
+action_448 (411) = happyShift action_114
+action_448 (412) = happyShift action_115
+action_448 (413) = happyShift action_116
+action_448 (169) = happyGoto action_729
+action_448 (170) = happyGoto action_25
+action_448 (171) = happyGoto action_26
+action_448 (172) = happyGoto action_27
+action_448 (173) = happyGoto action_28
+action_448 (176) = happyGoto action_29
+action_448 (177) = happyGoto action_30
+action_448 (178) = happyGoto action_31
+action_448 (181) = happyGoto action_32
+action_448 (182) = happyGoto action_33
+action_448 (183) = happyGoto action_34
+action_448 (190) = happyGoto action_35
+action_448 (228) = happyGoto action_38
+action_448 (231) = happyGoto action_39
+action_448 (232) = happyGoto action_40
+action_448 (234) = happyGoto action_41
+action_448 (244) = happyGoto action_42
+action_448 (245) = happyGoto action_43
+action_448 (246) = happyGoto action_44
+action_448 (247) = happyGoto action_45
+action_448 (248) = happyGoto action_46
+action_448 (249) = happyGoto action_47
+action_448 (257) = happyGoto action_48
+action_448 _ = happyReduce_560
+
+action_449 (278) = happyShift action_49
+action_449 (279) = happyShift action_50
+action_449 (280) = happyShift action_51
+action_449 (281) = happyShift action_52
+action_449 (282) = happyShift action_53
+action_449 (283) = happyShift action_54
+action_449 (289) = happyShift action_55
+action_449 (290) = happyShift action_56
+action_449 (291) = happyShift action_57
+action_449 (292) = happyShift action_58
+action_449 (293) = happyShift action_59
+action_449 (294) = happyShift action_60
+action_449 (295) = happyShift action_61
+action_449 (296) = happyShift action_62
+action_449 (297) = happyShift action_63
+action_449 (298) = happyShift action_64
+action_449 (299) = happyShift action_65
+action_449 (301) = happyShift action_66
+action_449 (307) = happyShift action_67
+action_449 (309) = happyShift action_68
+action_449 (312) = happyShift action_69
+action_449 (319) = happyShift action_70
+action_449 (324) = happyShift action_71
+action_449 (325) = happyShift action_72
+action_449 (327) = happyShift action_73
+action_449 (328) = happyShift action_74
+action_449 (334) = happyShift action_75
+action_449 (337) = happyShift action_76
+action_449 (338) = happyShift action_77
+action_449 (339) = happyShift action_78
+action_449 (340) = happyShift action_79
+action_449 (341) = happyShift action_80
+action_449 (342) = happyShift action_81
+action_449 (344) = happyShift action_82
+action_449 (345) = happyShift action_83
+action_449 (346) = happyShift action_84
+action_449 (348) = happyShift action_85
+action_449 (350) = happyShift action_86
+action_449 (351) = happyShift action_87
+action_449 (358) = happyShift action_88
+action_449 (359) = happyShift action_89
+action_449 (360) = happyShift action_90
+action_449 (361) = happyShift action_91
+action_449 (362) = happyShift action_92
+action_449 (363) = happyShift action_93
+action_449 (364) = happyShift action_94
+action_449 (365) = happyShift action_95
+action_449 (366) = happyShift action_96
+action_449 (367) = happyShift action_97
+action_449 (368) = happyShift action_98
+action_449 (369) = happyShift action_99
+action_449 (370) = happyShift action_100
+action_449 (371) = happyShift action_101
+action_449 (373) = happyShift action_102
+action_449 (378) = happyShift action_103
+action_449 (380) = happyShift action_104
+action_449 (381) = happyShift action_105
+action_449 (383) = happyShift action_106
+action_449 (384) = happyShift action_107
+action_449 (391) = happyShift action_712
+action_449 (392) = happyShift action_109
+action_449 (396) = happyShift action_110
+action_449 (398) = happyShift action_723
+action_449 (402) = happyShift action_112
+action_449 (403) = happyShift action_113
+action_449 (411) = happyShift action_114
+action_449 (412) = happyShift action_115
+action_449 (413) = happyShift action_116
+action_449 (168) = happyGoto action_708
+action_449 (169) = happyGoto action_24
+action_449 (170) = happyGoto action_25
+action_449 (171) = happyGoto action_26
+action_449 (172) = happyGoto action_27
+action_449 (173) = happyGoto action_28
+action_449 (176) = happyGoto action_29
+action_449 (177) = happyGoto action_30
+action_449 (178) = happyGoto action_31
+action_449 (181) = happyGoto action_32
+action_449 (182) = happyGoto action_33
+action_449 (183) = happyGoto action_34
+action_449 (190) = happyGoto action_35
+action_449 (201) = happyGoto action_728
+action_449 (202) = happyGoto action_719
+action_449 (203) = happyGoto action_720
+action_449 (204) = happyGoto action_721
+action_449 (206) = happyGoto action_722
+action_449 (215) = happyGoto action_711
+action_449 (228) = happyGoto action_38
+action_449 (231) = happyGoto action_39
+action_449 (232) = happyGoto action_40
+action_449 (234) = happyGoto action_41
+action_449 (244) = happyGoto action_42
+action_449 (245) = happyGoto action_43
+action_449 (246) = happyGoto action_44
+action_449 (247) = happyGoto action_45
+action_449 (248) = happyGoto action_46
+action_449 (249) = happyGoto action_47
+action_449 (257) = happyGoto action_48
+action_449 _ = happyFail
+
+action_450 (313) = happyShift action_727
+action_450 _ = happyFail
+
+action_451 _ = happyReduce_480
+
+action_452 _ = happyReduce_460
+
+action_453 (278) = happyShift action_49
+action_453 (279) = happyShift action_50
+action_453 (280) = happyShift action_51
+action_453 (281) = happyShift action_52
+action_453 (282) = happyShift action_53
+action_453 (283) = happyShift action_54
+action_453 (285) = happyShift action_211
+action_453 (286) = happyShift action_186
+action_453 (287) = happyShift action_212
+action_453 (288) = happyShift action_187
+action_453 (289) = happyShift action_55
+action_453 (290) = happyShift action_56
+action_453 (291) = happyShift action_57
+action_453 (292) = happyShift action_58
+action_453 (293) = happyShift action_59
+action_453 (294) = happyShift action_60
+action_453 (295) = happyShift action_61
+action_453 (296) = happyShift action_62
+action_453 (297) = happyShift action_63
+action_453 (298) = happyShift action_64
+action_453 (299) = happyShift action_65
+action_453 (301) = happyShift action_66
+action_453 (307) = happyShift action_67
+action_453 (309) = happyShift action_68
+action_453 (312) = happyShift action_69
+action_453 (313) = happyShift action_339
+action_453 (314) = happyShift action_214
+action_453 (316) = happyShift action_190
+action_453 (319) = happyShift action_70
+action_453 (324) = happyShift action_71
+action_453 (325) = happyShift action_72
+action_453 (327) = happyShift action_73
+action_453 (328) = happyShift action_340
+action_453 (329) = happyShift action_218
+action_453 (334) = happyShift action_75
+action_453 (337) = happyShift action_76
+action_453 (338) = happyShift action_77
+action_453 (339) = happyShift action_78
+action_453 (340) = happyShift action_79
+action_453 (341) = happyShift action_80
+action_453 (342) = happyShift action_81
+action_453 (344) = happyShift action_82
+action_453 (345) = happyShift action_83
+action_453 (346) = happyShift action_84
+action_453 (348) = happyShift action_85
+action_453 (350) = happyShift action_86
+action_453 (351) = happyShift action_87
+action_453 (358) = happyShift action_88
+action_453 (359) = happyShift action_89
+action_453 (360) = happyShift action_90
+action_453 (361) = happyShift action_91
+action_453 (362) = happyShift action_92
+action_453 (363) = happyShift action_93
+action_453 (364) = happyShift action_94
+action_453 (365) = happyShift action_95
+action_453 (366) = happyShift action_96
+action_453 (367) = happyShift action_97
+action_453 (368) = happyShift action_98
+action_453 (369) = happyShift action_99
+action_453 (370) = happyShift action_100
+action_453 (371) = happyShift action_101
+action_453 (373) = happyShift action_102
+action_453 (378) = happyShift action_103
+action_453 (380) = happyShift action_104
+action_453 (381) = happyShift action_105
+action_453 (383) = happyShift action_106
+action_453 (384) = happyShift action_107
+action_453 (391) = happyShift action_159
+action_453 (392) = happyShift action_109
+action_453 (396) = happyShift action_110
+action_453 (402) = happyShift action_112
+action_453 (403) = happyShift action_113
+action_453 (411) = happyShift action_114
+action_453 (412) = happyShift action_115
+action_453 (413) = happyShift action_116
+action_453 (169) = happyGoto action_725
+action_453 (170) = happyGoto action_25
+action_453 (171) = happyGoto action_26
+action_453 (172) = happyGoto action_27
+action_453 (173) = happyGoto action_28
+action_453 (176) = happyGoto action_29
+action_453 (177) = happyGoto action_30
+action_453 (178) = happyGoto action_31
+action_453 (181) = happyGoto action_32
+action_453 (182) = happyGoto action_33
+action_453 (183) = happyGoto action_34
+action_453 (185) = happyGoto action_726
+action_453 (190) = happyGoto action_35
+action_453 (228) = happyGoto action_38
+action_453 (231) = happyGoto action_39
+action_453 (232) = happyGoto action_40
+action_453 (234) = happyGoto action_41
+action_453 (237) = happyGoto action_333
+action_453 (239) = happyGoto action_334
+action_453 (242) = happyGoto action_335
+action_453 (243) = happyGoto action_226
+action_453 (244) = happyGoto action_42
+action_453 (245) = happyGoto action_43
+action_453 (246) = happyGoto action_44
+action_453 (247) = happyGoto action_45
+action_453 (248) = happyGoto action_46
+action_453 (249) = happyGoto action_47
+action_453 (250) = happyGoto action_183
+action_453 (251) = happyGoto action_184
+action_453 (253) = happyGoto action_336
+action_453 (255) = happyGoto action_337
+action_453 (256) = happyGoto action_338
+action_453 (257) = happyGoto action_48
+action_453 _ = happyFail
+
+action_454 (278) = happyShift action_49
+action_454 (279) = happyShift action_50
+action_454 (280) = happyShift action_51
+action_454 (281) = happyShift action_52
+action_454 (282) = happyShift action_53
+action_454 (283) = happyShift action_54
+action_454 (289) = happyShift action_55
+action_454 (290) = happyShift action_56
+action_454 (291) = happyShift action_57
+action_454 (292) = happyShift action_58
+action_454 (293) = happyShift action_59
+action_454 (294) = happyShift action_60
+action_454 (295) = happyShift action_61
+action_454 (296) = happyShift action_62
+action_454 (297) = happyShift action_63
+action_454 (298) = happyShift action_64
+action_454 (299) = happyShift action_65
+action_454 (301) = happyShift action_66
+action_454 (307) = happyShift action_67
+action_454 (309) = happyShift action_68
+action_454 (312) = happyShift action_69
+action_454 (319) = happyShift action_70
+action_454 (324) = happyShift action_71
+action_454 (325) = happyShift action_72
+action_454 (327) = happyShift action_73
+action_454 (334) = happyShift action_75
+action_454 (337) = happyShift action_76
+action_454 (338) = happyShift action_77
+action_454 (339) = happyShift action_78
+action_454 (340) = happyShift action_79
+action_454 (341) = happyShift action_80
+action_454 (342) = happyShift action_81
+action_454 (344) = happyShift action_82
+action_454 (345) = happyShift action_83
+action_454 (346) = happyShift action_84
+action_454 (348) = happyShift action_85
+action_454 (350) = happyShift action_86
+action_454 (351) = happyShift action_87
+action_454 (358) = happyShift action_88
+action_454 (359) = happyShift action_89
+action_454 (360) = happyShift action_90
+action_454 (361) = happyShift action_91
+action_454 (362) = happyShift action_92
+action_454 (363) = happyShift action_93
+action_454 (364) = happyShift action_94
+action_454 (365) = happyShift action_95
+action_454 (366) = happyShift action_96
+action_454 (367) = happyShift action_97
+action_454 (368) = happyShift action_98
+action_454 (369) = happyShift action_99
+action_454 (370) = happyShift action_100
+action_454 (371) = happyShift action_101
+action_454 (373) = happyShift action_102
+action_454 (378) = happyShift action_103
+action_454 (380) = happyShift action_104
+action_454 (381) = happyShift action_105
+action_454 (383) = happyShift action_106
+action_454 (384) = happyShift action_107
+action_454 (391) = happyShift action_159
+action_454 (392) = happyShift action_109
+action_454 (396) = happyShift action_110
+action_454 (402) = happyShift action_112
+action_454 (403) = happyShift action_113
+action_454 (411) = happyShift action_114
+action_454 (412) = happyShift action_115
+action_454 (413) = happyShift action_116
+action_454 (169) = happyGoto action_724
+action_454 (170) = happyGoto action_25
+action_454 (171) = happyGoto action_26
+action_454 (172) = happyGoto action_27
+action_454 (173) = happyGoto action_28
+action_454 (176) = happyGoto action_29
+action_454 (177) = happyGoto action_30
+action_454 (178) = happyGoto action_31
+action_454 (181) = happyGoto action_32
+action_454 (182) = happyGoto action_33
+action_454 (183) = happyGoto action_34
+action_454 (190) = happyGoto action_35
+action_454 (228) = happyGoto action_38
+action_454 (231) = happyGoto action_39
+action_454 (232) = happyGoto action_40
+action_454 (234) = happyGoto action_41
+action_454 (244) = happyGoto action_42
+action_454 (245) = happyGoto action_43
+action_454 (246) = happyGoto action_44
+action_454 (247) = happyGoto action_45
+action_454 (248) = happyGoto action_46
+action_454 (249) = happyGoto action_47
+action_454 (257) = happyGoto action_48
+action_454 _ = happyFail
+
+action_455 (278) = happyShift action_49
+action_455 (279) = happyShift action_50
+action_455 (280) = happyShift action_51
+action_455 (281) = happyShift action_52
+action_455 (282) = happyShift action_53
+action_455 (283) = happyShift action_54
+action_455 (289) = happyShift action_55
+action_455 (290) = happyShift action_56
+action_455 (291) = happyShift action_57
+action_455 (292) = happyShift action_58
+action_455 (293) = happyShift action_59
+action_455 (294) = happyShift action_60
+action_455 (295) = happyShift action_61
+action_455 (296) = happyShift action_62
+action_455 (297) = happyShift action_63
+action_455 (298) = happyShift action_64
+action_455 (299) = happyShift action_65
+action_455 (301) = happyShift action_66
+action_455 (307) = happyShift action_67
+action_455 (309) = happyShift action_68
+action_455 (312) = happyShift action_69
+action_455 (319) = happyShift action_70
+action_455 (324) = happyShift action_71
+action_455 (325) = happyShift action_72
+action_455 (327) = happyShift action_73
+action_455 (328) = happyShift action_74
+action_455 (334) = happyShift action_75
+action_455 (337) = happyShift action_76
+action_455 (338) = happyShift action_77
+action_455 (339) = happyShift action_78
+action_455 (340) = happyShift action_79
+action_455 (341) = happyShift action_80
+action_455 (342) = happyShift action_81
+action_455 (344) = happyShift action_82
+action_455 (345) = happyShift action_83
+action_455 (346) = happyShift action_84
+action_455 (348) = happyShift action_85
+action_455 (350) = happyShift action_86
+action_455 (351) = happyShift action_87
+action_455 (358) = happyShift action_88
+action_455 (359) = happyShift action_89
+action_455 (360) = happyShift action_90
+action_455 (361) = happyShift action_91
+action_455 (362) = happyShift action_92
+action_455 (363) = happyShift action_93
+action_455 (364) = happyShift action_94
+action_455 (365) = happyShift action_95
+action_455 (366) = happyShift action_96
+action_455 (367) = happyShift action_97
+action_455 (368) = happyShift action_98
+action_455 (369) = happyShift action_99
+action_455 (370) = happyShift action_100
+action_455 (371) = happyShift action_101
+action_455 (373) = happyShift action_102
+action_455 (378) = happyShift action_103
+action_455 (380) = happyShift action_104
+action_455 (381) = happyShift action_105
+action_455 (383) = happyShift action_106
+action_455 (384) = happyShift action_107
+action_455 (391) = happyShift action_712
+action_455 (392) = happyShift action_109
+action_455 (396) = happyShift action_110
+action_455 (398) = happyShift action_723
+action_455 (402) = happyShift action_112
+action_455 (403) = happyShift action_113
+action_455 (411) = happyShift action_114
+action_455 (412) = happyShift action_115
+action_455 (413) = happyShift action_116
+action_455 (168) = happyGoto action_708
+action_455 (169) = happyGoto action_24
+action_455 (170) = happyGoto action_25
+action_455 (171) = happyGoto action_26
+action_455 (172) = happyGoto action_27
+action_455 (173) = happyGoto action_28
+action_455 (176) = happyGoto action_29
+action_455 (177) = happyGoto action_30
+action_455 (178) = happyGoto action_31
+action_455 (181) = happyGoto action_32
+action_455 (182) = happyGoto action_33
+action_455 (183) = happyGoto action_34
+action_455 (190) = happyGoto action_35
+action_455 (201) = happyGoto action_718
+action_455 (202) = happyGoto action_719
+action_455 (203) = happyGoto action_720
+action_455 (204) = happyGoto action_721
+action_455 (206) = happyGoto action_722
+action_455 (215) = happyGoto action_711
+action_455 (228) = happyGoto action_38
+action_455 (231) = happyGoto action_39
+action_455 (232) = happyGoto action_40
+action_455 (234) = happyGoto action_41
+action_455 (244) = happyGoto action_42
+action_455 (245) = happyGoto action_43
+action_455 (246) = happyGoto action_44
+action_455 (247) = happyGoto action_45
+action_455 (248) = happyGoto action_46
+action_455 (249) = happyGoto action_47
+action_455 (257) = happyGoto action_48
+action_455 _ = happyFail
+
+action_456 _ = happyReduce_425
+
+action_457 (27) = happyGoto action_175
+action_457 (28) = happyGoto action_715
+action_457 (209) = happyGoto action_717
+action_457 _ = happyReduce_41
+
+action_458 (27) = happyGoto action_175
+action_458 (28) = happyGoto action_715
+action_458 (209) = happyGoto action_716
+action_458 _ = happyReduce_41
+
+action_459 _ = happyReduce_435
+
+action_460 (278) = happyShift action_49
+action_460 (279) = happyShift action_50
+action_460 (280) = happyShift action_51
+action_460 (281) = happyShift action_52
+action_460 (282) = happyShift action_53
+action_460 (283) = happyShift action_54
+action_460 (289) = happyShift action_55
+action_460 (290) = happyShift action_56
+action_460 (291) = happyShift action_57
+action_460 (292) = happyShift action_58
+action_460 (293) = happyShift action_59
+action_460 (294) = happyShift action_60
+action_460 (295) = happyShift action_61
+action_460 (296) = happyShift action_62
+action_460 (297) = happyShift action_63
+action_460 (298) = happyShift action_64
+action_460 (299) = happyShift action_65
+action_460 (301) = happyShift action_66
+action_460 (307) = happyShift action_67
+action_460 (309) = happyShift action_68
+action_460 (312) = happyShift action_69
+action_460 (319) = happyShift action_70
+action_460 (324) = happyShift action_71
+action_460 (325) = happyShift action_72
+action_460 (327) = happyShift action_73
+action_460 (334) = happyShift action_75
+action_460 (337) = happyShift action_76
+action_460 (338) = happyShift action_77
+action_460 (339) = happyShift action_78
+action_460 (340) = happyShift action_79
+action_460 (341) = happyShift action_80
+action_460 (342) = happyShift action_81
+action_460 (344) = happyShift action_82
+action_460 (345) = happyShift action_83
+action_460 (346) = happyShift action_84
+action_460 (348) = happyShift action_85
+action_460 (350) = happyShift action_86
+action_460 (351) = happyShift action_87
+action_460 (358) = happyShift action_88
+action_460 (359) = happyShift action_89
+action_460 (360) = happyShift action_90
+action_460 (361) = happyShift action_91
+action_460 (362) = happyShift action_92
+action_460 (363) = happyShift action_93
+action_460 (364) = happyShift action_94
+action_460 (365) = happyShift action_95
+action_460 (366) = happyShift action_96
+action_460 (367) = happyShift action_97
+action_460 (368) = happyShift action_98
+action_460 (369) = happyShift action_99
+action_460 (370) = happyShift action_100
+action_460 (371) = happyShift action_101
+action_460 (373) = happyShift action_102
+action_460 (378) = happyShift action_103
+action_460 (380) = happyShift action_104
+action_460 (381) = happyShift action_105
+action_460 (383) = happyShift action_106
+action_460 (384) = happyShift action_107
+action_460 (391) = happyShift action_159
+action_460 (392) = happyShift action_109
+action_460 (396) = happyShift action_110
+action_460 (402) = happyShift action_112
+action_460 (403) = happyShift action_113
+action_460 (411) = happyShift action_114
+action_460 (412) = happyShift action_115
+action_460 (413) = happyShift action_116
+action_460 (169) = happyGoto action_714
+action_460 (170) = happyGoto action_25
+action_460 (171) = happyGoto action_26
+action_460 (172) = happyGoto action_27
+action_460 (173) = happyGoto action_28
+action_460 (176) = happyGoto action_29
+action_460 (177) = happyGoto action_30
+action_460 (178) = happyGoto action_31
+action_460 (181) = happyGoto action_32
+action_460 (182) = happyGoto action_33
+action_460 (183) = happyGoto action_34
+action_460 (190) = happyGoto action_35
+action_460 (228) = happyGoto action_38
+action_460 (231) = happyGoto action_39
+action_460 (232) = happyGoto action_40
+action_460 (234) = happyGoto action_41
+action_460 (244) = happyGoto action_42
+action_460 (245) = happyGoto action_43
+action_460 (246) = happyGoto action_44
+action_460 (247) = happyGoto action_45
+action_460 (248) = happyGoto action_46
+action_460 (249) = happyGoto action_47
+action_460 (257) = happyGoto action_48
+action_460 _ = happyFail
+
+action_461 (278) = happyShift action_49
+action_461 (279) = happyShift action_50
+action_461 (280) = happyShift action_51
+action_461 (281) = happyShift action_52
+action_461 (282) = happyShift action_53
+action_461 (283) = happyShift action_54
+action_461 (289) = happyShift action_55
+action_461 (290) = happyShift action_56
+action_461 (291) = happyShift action_57
+action_461 (292) = happyShift action_58
+action_461 (293) = happyShift action_59
+action_461 (294) = happyShift action_60
+action_461 (295) = happyShift action_61
+action_461 (296) = happyShift action_62
+action_461 (297) = happyShift action_63
+action_461 (298) = happyShift action_64
+action_461 (299) = happyShift action_65
+action_461 (301) = happyShift action_66
+action_461 (307) = happyShift action_67
+action_461 (309) = happyShift action_68
+action_461 (312) = happyShift action_69
+action_461 (319) = happyShift action_70
+action_461 (324) = happyShift action_71
+action_461 (325) = happyShift action_72
+action_461 (327) = happyShift action_73
+action_461 (334) = happyShift action_75
+action_461 (337) = happyShift action_76
+action_461 (338) = happyShift action_77
+action_461 (339) = happyShift action_78
+action_461 (340) = happyShift action_79
+action_461 (341) = happyShift action_80
+action_461 (342) = happyShift action_81
+action_461 (344) = happyShift action_82
+action_461 (345) = happyShift action_83
+action_461 (346) = happyShift action_84
+action_461 (348) = happyShift action_85
+action_461 (350) = happyShift action_86
+action_461 (351) = happyShift action_87
+action_461 (358) = happyShift action_88
+action_461 (359) = happyShift action_89
+action_461 (360) = happyShift action_90
+action_461 (361) = happyShift action_91
+action_461 (362) = happyShift action_92
+action_461 (363) = happyShift action_93
+action_461 (364) = happyShift action_94
+action_461 (365) = happyShift action_95
+action_461 (366) = happyShift action_96
+action_461 (367) = happyShift action_97
+action_461 (368) = happyShift action_98
+action_461 (369) = happyShift action_99
+action_461 (370) = happyShift action_100
+action_461 (371) = happyShift action_101
+action_461 (373) = happyShift action_102
+action_461 (378) = happyShift action_103
+action_461 (380) = happyShift action_104
+action_461 (381) = happyShift action_105
+action_461 (383) = happyShift action_106
+action_461 (384) = happyShift action_107
+action_461 (391) = happyShift action_159
+action_461 (392) = happyShift action_109
+action_461 (396) = happyShift action_110
+action_461 (402) = happyShift action_112
+action_461 (403) = happyShift action_113
+action_461 (411) = happyShift action_114
+action_461 (412) = happyShift action_115
+action_461 (413) = happyShift action_116
+action_461 (169) = happyGoto action_713
+action_461 (170) = happyGoto action_25
+action_461 (171) = happyGoto action_26
+action_461 (172) = happyGoto action_27
+action_461 (173) = happyGoto action_28
+action_461 (176) = happyGoto action_29
+action_461 (177) = happyGoto action_30
+action_461 (178) = happyGoto action_31
+action_461 (181) = happyGoto action_32
+action_461 (182) = happyGoto action_33
+action_461 (183) = happyGoto action_34
+action_461 (190) = happyGoto action_35
+action_461 (228) = happyGoto action_38
+action_461 (231) = happyGoto action_39
+action_461 (232) = happyGoto action_40
+action_461 (234) = happyGoto action_41
+action_461 (244) = happyGoto action_42
+action_461 (245) = happyGoto action_43
+action_461 (246) = happyGoto action_44
+action_461 (247) = happyGoto action_45
+action_461 (248) = happyGoto action_46
+action_461 (249) = happyGoto action_47
+action_461 (257) = happyGoto action_48
+action_461 _ = happyFail
+
+action_462 _ = happyReduce_463
+
+action_463 (278) = happyShift action_49
+action_463 (279) = happyShift action_50
+action_463 (280) = happyShift action_51
+action_463 (281) = happyShift action_52
+action_463 (282) = happyShift action_53
+action_463 (283) = happyShift action_54
+action_463 (289) = happyShift action_55
+action_463 (290) = happyShift action_56
+action_463 (291) = happyShift action_57
+action_463 (292) = happyShift action_58
+action_463 (293) = happyShift action_59
+action_463 (294) = happyShift action_60
+action_463 (295) = happyShift action_61
+action_463 (296) = happyShift action_62
+action_463 (297) = happyShift action_63
+action_463 (298) = happyShift action_64
+action_463 (299) = happyShift action_65
+action_463 (301) = happyShift action_66
+action_463 (307) = happyShift action_67
+action_463 (309) = happyShift action_68
+action_463 (312) = happyShift action_69
+action_463 (319) = happyShift action_70
+action_463 (324) = happyShift action_71
+action_463 (325) = happyShift action_72
+action_463 (327) = happyShift action_73
+action_463 (328) = happyShift action_74
+action_463 (334) = happyShift action_75
+action_463 (337) = happyShift action_76
+action_463 (338) = happyShift action_77
+action_463 (339) = happyShift action_78
+action_463 (340) = happyShift action_79
+action_463 (341) = happyShift action_80
+action_463 (342) = happyShift action_81
+action_463 (344) = happyShift action_82
+action_463 (345) = happyShift action_83
+action_463 (346) = happyShift action_84
+action_463 (348) = happyShift action_85
+action_463 (350) = happyShift action_86
+action_463 (351) = happyShift action_87
+action_463 (358) = happyShift action_88
+action_463 (359) = happyShift action_89
+action_463 (360) = happyShift action_90
+action_463 (361) = happyShift action_91
+action_463 (362) = happyShift action_92
+action_463 (363) = happyShift action_93
+action_463 (364) = happyShift action_94
+action_463 (365) = happyShift action_95
+action_463 (366) = happyShift action_96
+action_463 (367) = happyShift action_97
+action_463 (368) = happyShift action_98
+action_463 (369) = happyShift action_99
+action_463 (370) = happyShift action_100
+action_463 (371) = happyShift action_101
+action_463 (373) = happyShift action_102
+action_463 (378) = happyShift action_103
+action_463 (380) = happyShift action_104
+action_463 (381) = happyShift action_105
+action_463 (383) = happyShift action_106
+action_463 (384) = happyShift action_107
+action_463 (391) = happyShift action_712
+action_463 (392) = happyShift action_109
+action_463 (396) = happyShift action_110
+action_463 (402) = happyShift action_112
+action_463 (403) = happyShift action_113
+action_463 (411) = happyShift action_114
+action_463 (412) = happyShift action_115
+action_463 (413) = happyShift action_116
+action_463 (168) = happyGoto action_708
+action_463 (169) = happyGoto action_24
+action_463 (170) = happyGoto action_25
+action_463 (171) = happyGoto action_26
+action_463 (172) = happyGoto action_27
+action_463 (173) = happyGoto action_28
+action_463 (176) = happyGoto action_29
+action_463 (177) = happyGoto action_30
+action_463 (178) = happyGoto action_31
+action_463 (181) = happyGoto action_32
+action_463 (182) = happyGoto action_33
+action_463 (183) = happyGoto action_34
+action_463 (190) = happyGoto action_35
+action_463 (205) = happyGoto action_709
+action_463 (206) = happyGoto action_710
+action_463 (215) = happyGoto action_711
+action_463 (228) = happyGoto action_38
+action_463 (231) = happyGoto action_39
+action_463 (232) = happyGoto action_40
+action_463 (234) = happyGoto action_41
+action_463 (244) = happyGoto action_42
+action_463 (245) = happyGoto action_43
+action_463 (246) = happyGoto action_44
+action_463 (247) = happyGoto action_45
+action_463 (248) = happyGoto action_46
+action_463 (249) = happyGoto action_47
+action_463 (257) = happyGoto action_48
+action_463 _ = happyFail
+
+action_464 _ = happyReduce_467
+
+action_465 _ = happyReduce_468
+
+action_466 (278) = happyShift action_49
+action_466 (279) = happyShift action_50
+action_466 (280) = happyShift action_51
+action_466 (281) = happyShift action_52
+action_466 (282) = happyShift action_53
+action_466 (283) = happyShift action_54
+action_466 (289) = happyShift action_55
+action_466 (290) = happyShift action_56
+action_466 (291) = happyShift action_57
+action_466 (292) = happyShift action_58
+action_466 (293) = happyShift action_59
+action_466 (294) = happyShift action_60
+action_466 (295) = happyShift action_61
+action_466 (296) = happyShift action_62
+action_466 (297) = happyShift action_63
+action_466 (298) = happyShift action_64
+action_466 (299) = happyShift action_65
+action_466 (301) = happyShift action_66
+action_466 (307) = happyShift action_67
+action_466 (309) = happyShift action_68
+action_466 (312) = happyShift action_69
+action_466 (319) = happyShift action_70
+action_466 (324) = happyShift action_71
+action_466 (325) = happyShift action_72
+action_466 (327) = happyShift action_73
+action_466 (334) = happyShift action_75
+action_466 (337) = happyShift action_76
+action_466 (338) = happyShift action_77
+action_466 (339) = happyShift action_78
+action_466 (340) = happyShift action_79
+action_466 (341) = happyShift action_80
+action_466 (342) = happyShift action_81
+action_466 (344) = happyShift action_82
+action_466 (345) = happyShift action_83
+action_466 (346) = happyShift action_84
+action_466 (348) = happyShift action_85
+action_466 (350) = happyShift action_86
+action_466 (351) = happyShift action_87
+action_466 (358) = happyShift action_88
+action_466 (359) = happyShift action_89
+action_466 (360) = happyShift action_90
+action_466 (361) = happyShift action_91
+action_466 (362) = happyShift action_92
+action_466 (363) = happyShift action_93
+action_466 (364) = happyShift action_94
+action_466 (365) = happyShift action_95
+action_466 (366) = happyShift action_96
+action_466 (367) = happyShift action_97
+action_466 (368) = happyShift action_98
+action_466 (369) = happyShift action_99
+action_466 (370) = happyShift action_100
+action_466 (371) = happyShift action_101
+action_466 (373) = happyShift action_102
+action_466 (378) = happyShift action_103
+action_466 (380) = happyShift action_104
+action_466 (381) = happyShift action_105
+action_466 (383) = happyShift action_106
+action_466 (384) = happyShift action_107
+action_466 (391) = happyShift action_159
+action_466 (392) = happyShift action_109
+action_466 (396) = happyShift action_110
+action_466 (402) = happyShift action_112
+action_466 (403) = happyShift action_113
+action_466 (411) = happyShift action_114
+action_466 (412) = happyShift action_115
+action_466 (413) = happyShift action_116
+action_466 (173) = happyGoto action_418
+action_466 (176) = happyGoto action_419
+action_466 (177) = happyGoto action_30
+action_466 (178) = happyGoto action_31
+action_466 (181) = happyGoto action_32
+action_466 (182) = happyGoto action_33
+action_466 (183) = happyGoto action_34
+action_466 (190) = happyGoto action_35
+action_466 (228) = happyGoto action_38
+action_466 (231) = happyGoto action_39
+action_466 (232) = happyGoto action_40
+action_466 (234) = happyGoto action_41
+action_466 (244) = happyGoto action_42
+action_466 (245) = happyGoto action_43
+action_466 (246) = happyGoto action_44
+action_466 (247) = happyGoto action_45
+action_466 (248) = happyGoto action_46
+action_466 (249) = happyGoto action_47
+action_466 (257) = happyGoto action_48
+action_466 _ = happyFail
+
+action_467 _ = happyReduce_469
+
+action_468 _ = happyReduce_470
+
+action_469 _ = happyReduce_167
+
+action_470 (289) = happyShift action_707
+action_470 (50) = happyGoto action_706
+action_470 _ = happyReduce_93
+
+action_471 (1) = happyShift action_400
+action_471 (306) = happyShift action_401
+action_471 (259) = happyGoto action_705
+action_471 _ = happyFail
+
+action_472 (27) = happyGoto action_703
+action_472 (28) = happyGoto action_704
+action_472 _ = happyReduce_41
+
+action_473 _ = happyReduce_107
+
+action_474 _ = happyReduce_108
+
+action_475 (278) = happyShift action_49
+action_475 (280) = happyShift action_51
+action_475 (281) = happyShift action_52
+action_475 (282) = happyShift action_53
+action_475 (283) = happyShift action_54
+action_475 (289) = happyShift action_135
+action_475 (292) = happyShift action_136
+action_475 (299) = happyShift action_137
+action_475 (301) = happyShift action_138
+action_475 (307) = happyShift action_139
+action_475 (309) = happyShift action_140
+action_475 (312) = happyShift action_141
+action_475 (325) = happyShift action_142
+action_475 (328) = happyShift action_143
+action_475 (337) = happyShift action_144
+action_475 (338) = happyShift action_145
+action_475 (344) = happyShift action_146
+action_475 (346) = happyShift action_147
+action_475 (358) = happyShift action_88
+action_475 (359) = happyShift action_148
+action_475 (360) = happyShift action_149
+action_475 (361) = happyShift action_150
+action_475 (363) = happyShift action_93
+action_475 (364) = happyShift action_94
+action_475 (365) = happyShift action_95
+action_475 (366) = happyShift action_96
+action_475 (367) = happyShift action_97
+action_475 (368) = happyShift action_98
+action_475 (369) = happyShift action_99
+action_475 (370) = happyShift action_100
+action_475 (371) = happyShift action_101
+action_475 (381) = happyShift action_151
+action_475 (383) = happyShift action_106
+action_475 (390) = happyShift action_702
+action_475 (402) = happyShift action_112
+action_475 (416) = happyShift action_152
+action_475 (417) = happyShift action_153
+action_475 (103) = happyGoto action_117
+action_475 (105) = happyGoto action_118
+action_475 (108) = happyGoto action_119
+action_475 (109) = happyGoto action_120
+action_475 (110) = happyGoto action_121
+action_475 (111) = happyGoto action_122
+action_475 (112) = happyGoto action_123
+action_475 (113) = happyGoto action_124
+action_475 (114) = happyGoto action_125
+action_475 (115) = happyGoto action_126
+action_475 (118) = happyGoto action_701
+action_475 (119) = happyGoto action_129
+action_475 (232) = happyGoto action_130
+action_475 (245) = happyGoto action_131
+action_475 (247) = happyGoto action_45
+action_475 (248) = happyGoto action_132
+action_475 (249) = happyGoto action_47
+action_475 (270) = happyGoto action_133
+action_475 (271) = happyGoto action_134
+action_475 _ = happyFail
+
+action_476 _ = happyReduce_128
+
+action_477 _ = happyReduce_166
+
+action_478 _ = happyReduce_173
+
+action_479 _ = happyReduce_174
+
+action_480 _ = happyReduce_168
+
+action_481 _ = happyReduce_121
+
+action_482 (285) = happyShift action_211
+action_482 (286) = happyShift action_186
+action_482 (287) = happyShift action_212
+action_482 (288) = happyShift action_187
+action_482 (311) = happyShift action_699
+action_482 (313) = happyShift action_367
+action_482 (314) = happyShift action_214
+action_482 (316) = happyShift action_190
+action_482 (317) = happyShift action_700
+action_482 (318) = happyReduce_394
+action_482 (320) = happyReduce_394
+action_482 (327) = happyShift action_216
+action_482 (328) = happyShift action_340
+action_482 (329) = happyShift action_218
+action_482 (164) = happyGoto action_698
+action_482 (236) = happyGoto action_363
+action_482 (239) = happyGoto action_364
+action_482 (241) = happyGoto action_466
+action_482 (243) = happyGoto action_226
+action_482 (250) = happyGoto action_183
+action_482 (251) = happyGoto action_184
+action_482 (252) = happyGoto action_366
+action_482 (254) = happyGoto action_208
+action_482 (255) = happyGoto action_209
+action_482 (256) = happyGoto action_210
+action_482 _ = happyReduce_409
+
+action_483 _ = happyReduce_169
+
+action_484 _ = happyReduce_717
+
+action_485 _ = happyReduce_170
+
+action_486 (278) = happyShift action_49
+action_486 (279) = happyShift action_50
+action_486 (280) = happyShift action_51
+action_486 (281) = happyShift action_52
+action_486 (282) = happyShift action_53
+action_486 (283) = happyShift action_54
+action_486 (289) = happyShift action_55
+action_486 (290) = happyShift action_56
+action_486 (291) = happyShift action_57
+action_486 (292) = happyShift action_58
+action_486 (293) = happyShift action_59
+action_486 (294) = happyShift action_60
+action_486 (295) = happyShift action_61
+action_486 (296) = happyShift action_62
+action_486 (297) = happyShift action_63
+action_486 (298) = happyShift action_64
+action_486 (299) = happyShift action_65
+action_486 (301) = happyShift action_66
+action_486 (307) = happyShift action_67
+action_486 (309) = happyShift action_68
+action_486 (312) = happyShift action_69
+action_486 (324) = happyShift action_71
+action_486 (325) = happyShift action_72
+action_486 (334) = happyShift action_75
+action_486 (337) = happyShift action_76
+action_486 (338) = happyShift action_77
+action_486 (339) = happyShift action_78
+action_486 (340) = happyShift action_79
+action_486 (341) = happyShift action_80
+action_486 (342) = happyShift action_81
+action_486 (344) = happyShift action_82
+action_486 (345) = happyShift action_83
+action_486 (346) = happyShift action_84
+action_486 (348) = happyShift action_85
+action_486 (350) = happyShift action_86
+action_486 (351) = happyShift action_87
+action_486 (358) = happyShift action_88
+action_486 (359) = happyShift action_89
+action_486 (360) = happyShift action_90
+action_486 (361) = happyShift action_91
+action_486 (362) = happyShift action_92
+action_486 (363) = happyShift action_93
+action_486 (364) = happyShift action_94
+action_486 (365) = happyShift action_95
+action_486 (366) = happyShift action_96
+action_486 (367) = happyShift action_97
+action_486 (368) = happyShift action_98
+action_486 (369) = happyShift action_99
+action_486 (370) = happyShift action_100
+action_486 (371) = happyShift action_101
+action_486 (380) = happyShift action_104
+action_486 (381) = happyShift action_105
+action_486 (383) = happyShift action_106
+action_486 (402) = happyShift action_112
+action_486 (403) = happyShift action_113
+action_486 (181) = happyGoto action_697
+action_486 (182) = happyGoto action_33
+action_486 (183) = happyGoto action_34
+action_486 (190) = happyGoto action_35
+action_486 (228) = happyGoto action_38
+action_486 (231) = happyGoto action_39
+action_486 (232) = happyGoto action_40
+action_486 (234) = happyGoto action_41
+action_486 (244) = happyGoto action_42
+action_486 (245) = happyGoto action_43
+action_486 (246) = happyGoto action_44
+action_486 (247) = happyGoto action_45
+action_486 (248) = happyGoto action_46
+action_486 (249) = happyGoto action_47
+action_486 (257) = happyGoto action_48
+action_486 _ = happyFail
+
+action_487 (358) = happyShift action_695
+action_487 (385) = happyShift action_696
+action_487 _ = happyFail
+
+action_488 (278) = happyShift action_49
+action_488 (280) = happyShift action_51
+action_488 (281) = happyShift action_52
+action_488 (282) = happyShift action_53
+action_488 (283) = happyShift action_54
+action_488 (289) = happyShift action_135
+action_488 (292) = happyShift action_136
+action_488 (299) = happyShift action_137
+action_488 (301) = happyShift action_138
+action_488 (307) = happyShift action_139
+action_488 (309) = happyShift action_140
+action_488 (312) = happyShift action_141
+action_488 (325) = happyShift action_142
+action_488 (328) = happyShift action_143
+action_488 (337) = happyShift action_144
+action_488 (338) = happyShift action_145
+action_488 (344) = happyShift action_146
+action_488 (346) = happyShift action_147
+action_488 (358) = happyShift action_88
+action_488 (359) = happyShift action_148
+action_488 (360) = happyShift action_149
+action_488 (361) = happyShift action_150
+action_488 (363) = happyShift action_93
+action_488 (364) = happyShift action_94
+action_488 (365) = happyShift action_95
+action_488 (366) = happyShift action_96
+action_488 (367) = happyShift action_97
+action_488 (368) = happyShift action_98
+action_488 (369) = happyShift action_99
+action_488 (370) = happyShift action_100
+action_488 (371) = happyShift action_101
+action_488 (381) = happyShift action_151
+action_488 (383) = happyShift action_106
+action_488 (402) = happyShift action_112
+action_488 (416) = happyShift action_152
+action_488 (417) = happyShift action_153
+action_488 (103) = happyGoto action_117
+action_488 (105) = happyGoto action_118
+action_488 (108) = happyGoto action_119
+action_488 (109) = happyGoto action_120
+action_488 (110) = happyGoto action_121
+action_488 (111) = happyGoto action_122
+action_488 (112) = happyGoto action_123
+action_488 (113) = happyGoto action_124
+action_488 (114) = happyGoto action_125
+action_488 (115) = happyGoto action_126
+action_488 (118) = happyGoto action_694
+action_488 (119) = happyGoto action_129
+action_488 (232) = happyGoto action_130
+action_488 (245) = happyGoto action_131
+action_488 (247) = happyGoto action_45
+action_488 (248) = happyGoto action_132
+action_488 (249) = happyGoto action_47
+action_488 (270) = happyGoto action_133
+action_488 (271) = happyGoto action_134
+action_488 _ = happyFail
+
+action_489 (380) = happyShift action_693
+action_489 _ = happyReduce_157
+
+action_490 (299) = happyShift action_692
+action_490 _ = happyFail
+
+action_491 (390) = happyShift action_691
+action_491 _ = happyFail
+
+action_492 _ = happyReduce_95
+
+action_493 _ = happyReduce_96
+
+action_494 _ = happyReduce_97
+
+action_495 (422) = happyShift action_688
+action_495 (423) = happyShift action_689
+action_495 (424) = happyShift action_690
+action_495 (66) = happyGoto action_687
+action_495 _ = happyReduce_148
+
+action_496 _ = happyReduce_158
+
+action_497 (278) = happyShift action_49
+action_497 (282) = happyShift action_53
+action_497 (283) = happyShift action_54
+action_497 (289) = happyShift action_135
+action_497 (292) = happyShift action_136
+action_497 (299) = happyShift action_137
+action_497 (301) = happyShift action_138
+action_497 (307) = happyShift action_139
+action_497 (309) = happyShift action_140
+action_497 (312) = happyShift action_141
+action_497 (325) = happyShift action_142
+action_497 (328) = happyShift action_143
+action_497 (337) = happyShift action_144
+action_497 (338) = happyShift action_145
+action_497 (344) = happyShift action_146
+action_497 (346) = happyShift action_147
+action_497 (358) = happyShift action_88
+action_497 (359) = happyShift action_148
+action_497 (360) = happyShift action_149
+action_497 (361) = happyShift action_150
+action_497 (363) = happyShift action_93
+action_497 (364) = happyShift action_94
+action_497 (365) = happyShift action_95
+action_497 (366) = happyShift action_96
+action_497 (367) = happyShift action_97
+action_497 (368) = happyShift action_98
+action_497 (369) = happyShift action_99
+action_497 (370) = happyShift action_100
+action_497 (371) = happyShift action_101
+action_497 (380) = happyShift action_684
+action_497 (383) = happyShift action_106
+action_497 (390) = happyShift action_685
+action_497 (402) = happyShift action_112
+action_497 (403) = happyShift action_686
+action_497 (416) = happyShift action_152
+action_497 (417) = happyShift action_153
+action_497 (103) = happyGoto action_683
+action_497 (108) = happyGoto action_193
+action_497 (109) = happyGoto action_120
+action_497 (110) = happyGoto action_121
+action_497 (111) = happyGoto action_122
+action_497 (112) = happyGoto action_123
+action_497 (113) = happyGoto action_124
+action_497 (114) = happyGoto action_125
+action_497 (115) = happyGoto action_126
+action_497 (245) = happyGoto action_131
+action_497 (248) = happyGoto action_132
+action_497 (249) = happyGoto action_47
+action_497 (270) = happyGoto action_133
+action_497 (271) = happyGoto action_134
+action_497 _ = happyFail
+
+action_498 (278) = happyShift action_49
+action_498 (282) = happyShift action_53
+action_498 (299) = happyShift action_682
+action_498 (358) = happyShift action_88
+action_498 (359) = happyShift action_89
+action_498 (360) = happyShift action_90
+action_498 (361) = happyShift action_91
+action_498 (362) = happyShift action_92
+action_498 (363) = happyShift action_93
+action_498 (364) = happyShift action_94
+action_498 (365) = happyShift action_95
+action_498 (366) = happyShift action_96
+action_498 (367) = happyShift action_97
+action_498 (368) = happyShift action_98
+action_498 (369) = happyShift action_99
+action_498 (370) = happyShift action_100
+action_498 (371) = happyShift action_101
+action_498 (380) = happyShift action_104
+action_498 (381) = happyShift action_105
+action_498 (383) = happyShift action_106
+action_498 (402) = happyShift action_112
+action_498 (403) = happyShift action_113
+action_498 (233) = happyGoto action_679
+action_498 (245) = happyGoto action_43
+action_498 (246) = happyGoto action_680
+action_498 (249) = happyGoto action_391
+action_498 (262) = happyGoto action_681
+action_498 _ = happyFail
+
+action_499 (307) = happyShift action_674
+action_499 (93) = happyGoto action_678
+action_499 _ = happyReduce_219
+
+action_500 (307) = happyShift action_674
+action_500 (93) = happyGoto action_677
+action_500 _ = happyReduce_219
+
+action_501 (307) = happyShift action_674
+action_501 (390) = happyShift action_676
+action_501 (93) = happyGoto action_675
+action_501 _ = happyReduce_219
+
+action_502 (307) = happyShift action_674
+action_502 (93) = happyGoto action_673
+action_502 _ = happyReduce_219
+
+action_503 (292) = happyShift action_672
+action_503 (91) = happyGoto action_670
+action_503 (92) = happyGoto action_671
+action_503 _ = happyReduce_217
+
+action_504 (278) = happyShift action_49
+action_504 (282) = happyShift action_53
+action_504 (299) = happyShift action_392
+action_504 (358) = happyShift action_88
+action_504 (359) = happyShift action_89
+action_504 (360) = happyShift action_90
+action_504 (361) = happyShift action_91
+action_504 (362) = happyShift action_92
+action_504 (363) = happyShift action_93
+action_504 (364) = happyShift action_94
+action_504 (365) = happyShift action_95
+action_504 (366) = happyShift action_96
+action_504 (367) = happyShift action_97
+action_504 (368) = happyShift action_98
+action_504 (369) = happyShift action_99
+action_504 (370) = happyShift action_100
+action_504 (371) = happyShift action_101
+action_504 (380) = happyShift action_104
+action_504 (381) = happyShift action_105
+action_504 (383) = happyShift action_106
+action_504 (402) = happyShift action_112
+action_504 (403) = happyShift action_113
+action_504 (97) = happyGoto action_669
+action_504 (98) = happyGoto action_666
+action_504 (99) = happyGoto action_667
+action_504 (100) = happyGoto action_668
+action_504 (229) = happyGoto action_388
+action_504 (233) = happyGoto action_389
+action_504 (245) = happyGoto action_43
+action_504 (246) = happyGoto action_390
+action_504 (249) = happyGoto action_391
+action_504 _ = happyReduce_231
+
+action_505 (278) = happyShift action_49
+action_505 (282) = happyShift action_53
+action_505 (299) = happyShift action_392
+action_505 (358) = happyShift action_88
+action_505 (359) = happyShift action_89
+action_505 (360) = happyShift action_90
+action_505 (361) = happyShift action_91
+action_505 (362) = happyShift action_92
+action_505 (363) = happyShift action_93
+action_505 (364) = happyShift action_94
+action_505 (365) = happyShift action_95
+action_505 (366) = happyShift action_96
+action_505 (367) = happyShift action_97
+action_505 (368) = happyShift action_98
+action_505 (369) = happyShift action_99
+action_505 (370) = happyShift action_100
+action_505 (371) = happyShift action_101
+action_505 (380) = happyShift action_104
+action_505 (381) = happyShift action_105
+action_505 (383) = happyShift action_106
+action_505 (402) = happyShift action_112
+action_505 (403) = happyShift action_113
+action_505 (97) = happyGoto action_665
+action_505 (98) = happyGoto action_666
+action_505 (99) = happyGoto action_667
+action_505 (100) = happyGoto action_668
+action_505 (229) = happyGoto action_388
+action_505 (233) = happyGoto action_389
+action_505 (245) = happyGoto action_43
+action_505 (246) = happyGoto action_390
+action_505 (249) = happyGoto action_391
+action_505 _ = happyReduce_231
+
+action_506 (278) = happyShift action_49
+action_506 (282) = happyShift action_53
+action_506 (299) = happyShift action_392
+action_506 (358) = happyShift action_88
+action_506 (359) = happyShift action_89
+action_506 (360) = happyShift action_90
+action_506 (361) = happyShift action_91
+action_506 (362) = happyShift action_92
+action_506 (363) = happyShift action_93
+action_506 (364) = happyShift action_94
+action_506 (365) = happyShift action_95
+action_506 (366) = happyShift action_96
+action_506 (367) = happyShift action_97
+action_506 (368) = happyShift action_98
+action_506 (369) = happyShift action_99
+action_506 (370) = happyShift action_100
+action_506 (371) = happyShift action_101
+action_506 (380) = happyShift action_104
+action_506 (381) = happyShift action_105
+action_506 (383) = happyShift action_106
+action_506 (393) = happyShift action_393
+action_506 (399) = happyShift action_394
+action_506 (402) = happyShift action_112
+action_506 (403) = happyShift action_113
+action_506 (100) = happyGoto action_386
+action_506 (101) = happyGoto action_664
+action_506 (229) = happyGoto action_388
+action_506 (233) = happyGoto action_389
+action_506 (245) = happyGoto action_43
+action_506 (246) = happyGoto action_390
+action_506 (249) = happyGoto action_391
+action_506 _ = happyFail
+
+action_507 (278) = happyShift action_49
+action_507 (299) = happyShift action_663
+action_507 (358) = happyShift action_88
+action_507 (359) = happyShift action_89
+action_507 (360) = happyShift action_90
+action_507 (361) = happyShift action_91
+action_507 (362) = happyShift action_92
+action_507 (363) = happyShift action_93
+action_507 (364) = happyShift action_94
+action_507 (365) = happyShift action_95
+action_507 (366) = happyShift action_96
+action_507 (367) = happyShift action_97
+action_507 (368) = happyShift action_98
+action_507 (369) = happyShift action_99
+action_507 (370) = happyShift action_100
+action_507 (371) = happyShift action_101
+action_507 (380) = happyShift action_104
+action_507 (381) = happyShift action_105
+action_507 (383) = happyShift action_106
+action_507 (402) = happyShift action_112
+action_507 (403) = happyShift action_113
+action_507 (82) = happyGoto action_658
+action_507 (83) = happyGoto action_659
+action_507 (84) = happyGoto action_660
+action_507 (85) = happyGoto action_661
+action_507 (229) = happyGoto action_662
+action_507 (245) = happyGoto action_43
+action_507 (246) = happyGoto action_390
+action_507 _ = happyReduce_187
+
+action_508 (300) = happyShift action_430
+action_508 _ = happyFail
+
+action_509 (278) = happyShift action_256
+action_509 (282) = happyShift action_257
+action_509 (284) = happyShift action_258
+action_509 (357) = happyShift action_259
+action_509 (358) = happyShift action_260
+action_509 (359) = happyShift action_261
+action_509 (360) = happyShift action_262
+action_509 (361) = happyShift action_263
+action_509 (362) = happyShift action_264
+action_509 (363) = happyShift action_265
+action_509 (364) = happyShift action_266
+action_509 (365) = happyShift action_267
+action_509 (366) = happyShift action_268
+action_509 (367) = happyShift action_269
+action_509 (368) = happyShift action_270
+action_509 (369) = happyShift action_271
+action_509 (370) = happyShift action_272
+action_509 (371) = happyShift action_273
+action_509 (372) = happyShift action_274
+action_509 (373) = happyShift action_275
+action_509 (374) = happyShift action_276
+action_509 (375) = happyShift action_277
+action_509 (376) = happyShift action_278
+action_509 (377) = happyShift action_279
+action_509 (378) = happyShift action_280
+action_509 (379) = happyShift action_281
+action_509 (380) = happyShift action_282
+action_509 (381) = happyShift action_283
+action_509 (382) = happyShift action_284
+action_509 (383) = happyShift action_285
+action_509 (384) = happyShift action_286
+action_509 (385) = happyShift action_287
+action_509 (386) = happyShift action_288
+action_509 (387) = happyShift action_289
+action_509 (388) = happyShift action_290
+action_509 (389) = happyShift action_291
+action_509 (390) = happyShift action_292
+action_509 (391) = happyShift action_293
+action_509 (392) = happyShift action_294
+action_509 (393) = happyShift action_295
+action_509 (394) = happyShift action_296
+action_509 (395) = happyShift action_297
+action_509 (396) = happyShift action_298
+action_509 (397) = happyShift action_299
+action_509 (398) = happyShift action_300
+action_509 (399) = happyShift action_301
+action_509 (400) = happyShift action_302
+action_509 (401) = happyShift action_303
+action_509 (402) = happyShift action_304
+action_509 (194) = happyGoto action_657
+action_509 (195) = happyGoto action_255
+action_509 _ = happyFail
+
+action_510 (278) = happyShift action_637
+action_510 (279) = happyShift action_50
+action_510 (280) = happyShift action_51
+action_510 (281) = happyShift action_52
+action_510 (282) = happyShift action_638
+action_510 (283) = happyShift action_54
+action_510 (284) = happyShift action_258
+action_510 (289) = happyShift action_55
+action_510 (290) = happyShift action_56
+action_510 (291) = happyShift action_57
+action_510 (292) = happyShift action_58
+action_510 (293) = happyShift action_59
+action_510 (294) = happyShift action_60
+action_510 (295) = happyShift action_61
+action_510 (296) = happyShift action_62
+action_510 (297) = happyShift action_63
+action_510 (298) = happyShift action_64
+action_510 (299) = happyShift action_65
+action_510 (301) = happyShift action_66
+action_510 (307) = happyShift action_67
+action_510 (309) = happyShift action_68
+action_510 (312) = happyShift action_69
+action_510 (324) = happyShift action_71
+action_510 (325) = happyShift action_72
+action_510 (334) = happyShift action_75
+action_510 (337) = happyShift action_76
+action_510 (338) = happyShift action_77
+action_510 (339) = happyShift action_78
+action_510 (340) = happyShift action_79
+action_510 (341) = happyShift action_80
+action_510 (342) = happyShift action_81
+action_510 (344) = happyShift action_82
+action_510 (345) = happyShift action_83
+action_510 (346) = happyShift action_84
+action_510 (348) = happyShift action_85
+action_510 (350) = happyShift action_86
+action_510 (351) = happyShift action_87
+action_510 (357) = happyShift action_259
+action_510 (358) = happyShift action_639
+action_510 (359) = happyShift action_640
+action_510 (360) = happyShift action_641
+action_510 (361) = happyShift action_642
+action_510 (362) = happyShift action_643
+action_510 (363) = happyShift action_644
+action_510 (364) = happyShift action_645
+action_510 (365) = happyShift action_646
+action_510 (366) = happyShift action_647
+action_510 (367) = happyShift action_648
+action_510 (368) = happyShift action_649
+action_510 (369) = happyShift action_650
+action_510 (370) = happyShift action_651
+action_510 (371) = happyShift action_652
+action_510 (372) = happyShift action_274
+action_510 (373) = happyShift action_275
+action_510 (374) = happyShift action_276
+action_510 (375) = happyShift action_277
+action_510 (376) = happyShift action_278
+action_510 (377) = happyShift action_279
+action_510 (378) = happyShift action_280
+action_510 (379) = happyShift action_281
+action_510 (380) = happyShift action_653
+action_510 (381) = happyShift action_654
+action_510 (382) = happyShift action_284
+action_510 (383) = happyShift action_655
+action_510 (384) = happyShift action_286
+action_510 (385) = happyShift action_287
+action_510 (386) = happyShift action_288
+action_510 (387) = happyShift action_289
+action_510 (388) = happyShift action_290
+action_510 (389) = happyShift action_291
+action_510 (390) = happyShift action_292
+action_510 (391) = happyShift action_293
+action_510 (392) = happyShift action_294
+action_510 (393) = happyShift action_295
+action_510 (394) = happyShift action_296
+action_510 (395) = happyShift action_297
+action_510 (396) = happyShift action_298
+action_510 (397) = happyShift action_299
+action_510 (398) = happyShift action_300
+action_510 (399) = happyShift action_301
+action_510 (400) = happyShift action_302
+action_510 (401) = happyShift action_303
+action_510 (402) = happyShift action_656
+action_510 (403) = happyShift action_113
+action_510 (181) = happyGoto action_633
+action_510 (182) = happyGoto action_33
+action_510 (183) = happyGoto action_34
+action_510 (190) = happyGoto action_35
+action_510 (193) = happyGoto action_634
+action_510 (194) = happyGoto action_254
+action_510 (195) = happyGoto action_255
+action_510 (197) = happyGoto action_635
+action_510 (198) = happyGoto action_636
+action_510 (228) = happyGoto action_38
+action_510 (231) = happyGoto action_39
+action_510 (232) = happyGoto action_40
+action_510 (234) = happyGoto action_41
+action_510 (244) = happyGoto action_42
+action_510 (245) = happyGoto action_43
+action_510 (246) = happyGoto action_44
+action_510 (247) = happyGoto action_45
+action_510 (248) = happyGoto action_46
+action_510 (249) = happyGoto action_47
+action_510 (257) = happyGoto action_48
+action_510 _ = happyReduce_557
+
+action_511 _ = happyReduce_494
+
+action_512 (349) = happyShift action_632
+action_512 _ = happyFail
+
+action_513 _ = happyReduce_500
+
+action_514 _ = happyReduce_496
+
+action_515 _ = happyReduce_422
+
+action_516 _ = happyReduce_498
+
+action_517 (278) = happyShift action_49
+action_517 (279) = happyShift action_50
+action_517 (280) = happyShift action_51
+action_517 (281) = happyShift action_52
+action_517 (282) = happyShift action_53
+action_517 (283) = happyShift action_54
+action_517 (289) = happyShift action_55
+action_517 (290) = happyShift action_56
+action_517 (291) = happyShift action_57
+action_517 (292) = happyShift action_58
+action_517 (293) = happyShift action_59
+action_517 (294) = happyShift action_60
+action_517 (295) = happyShift action_61
+action_517 (296) = happyShift action_62
+action_517 (297) = happyShift action_63
+action_517 (298) = happyShift action_64
+action_517 (299) = happyShift action_65
+action_517 (301) = happyShift action_66
+action_517 (307) = happyShift action_67
+action_517 (309) = happyShift action_68
+action_517 (312) = happyShift action_69
+action_517 (319) = happyShift action_70
+action_517 (324) = happyShift action_71
+action_517 (325) = happyShift action_72
+action_517 (327) = happyShift action_73
+action_517 (334) = happyShift action_75
+action_517 (337) = happyShift action_76
+action_517 (338) = happyShift action_77
+action_517 (339) = happyShift action_78
+action_517 (340) = happyShift action_79
+action_517 (341) = happyShift action_80
+action_517 (342) = happyShift action_81
+action_517 (344) = happyShift action_82
+action_517 (345) = happyShift action_83
+action_517 (346) = happyShift action_84
+action_517 (348) = happyShift action_85
+action_517 (350) = happyShift action_86
+action_517 (351) = happyShift action_87
+action_517 (358) = happyShift action_88
+action_517 (359) = happyShift action_89
+action_517 (360) = happyShift action_90
+action_517 (361) = happyShift action_91
+action_517 (362) = happyShift action_92
+action_517 (363) = happyShift action_93
+action_517 (364) = happyShift action_94
+action_517 (365) = happyShift action_95
+action_517 (366) = happyShift action_96
+action_517 (367) = happyShift action_97
+action_517 (368) = happyShift action_98
+action_517 (369) = happyShift action_99
+action_517 (370) = happyShift action_100
+action_517 (371) = happyShift action_101
+action_517 (373) = happyShift action_102
+action_517 (378) = happyShift action_103
+action_517 (380) = happyShift action_104
+action_517 (381) = happyShift action_105
+action_517 (383) = happyShift action_106
+action_517 (384) = happyShift action_107
+action_517 (391) = happyShift action_159
+action_517 (392) = happyShift action_109
+action_517 (396) = happyShift action_110
+action_517 (402) = happyShift action_112
+action_517 (403) = happyShift action_113
+action_517 (411) = happyShift action_114
+action_517 (412) = happyShift action_115
+action_517 (413) = happyShift action_116
+action_517 (169) = happyGoto action_630
+action_517 (170) = happyGoto action_25
+action_517 (171) = happyGoto action_26
+action_517 (172) = happyGoto action_27
+action_517 (173) = happyGoto action_28
+action_517 (176) = happyGoto action_29
+action_517 (177) = happyGoto action_30
+action_517 (178) = happyGoto action_31
+action_517 (181) = happyGoto action_32
+action_517 (182) = happyGoto action_33
+action_517 (183) = happyGoto action_34
+action_517 (188) = happyGoto action_631
+action_517 (190) = happyGoto action_35
+action_517 (228) = happyGoto action_38
+action_517 (231) = happyGoto action_39
+action_517 (232) = happyGoto action_40
+action_517 (234) = happyGoto action_41
+action_517 (244) = happyGoto action_42
+action_517 (245) = happyGoto action_43
+action_517 (246) = happyGoto action_44
+action_517 (247) = happyGoto action_45
+action_517 (248) = happyGoto action_46
+action_517 (249) = happyGoto action_47
+action_517 (257) = happyGoto action_48
+action_517 _ = happyFail
+
+action_518 (304) = happyShift action_458
+action_518 (208) = happyGoto action_629
+action_518 (258) = happyGoto action_457
+action_518 _ = happyReduce_714
+
+action_519 (303) = happyShift action_566
+action_519 (320) = happyShift action_628
+action_519 (214) = happyGoto action_626
+action_519 (218) = happyGoto action_627
+action_519 _ = happyFail
+
+action_520 (305) = happyShift action_625
+action_520 _ = happyFail
+
+action_521 (1) = happyShift action_400
+action_521 (306) = happyShift action_401
+action_521 (259) = happyGoto action_624
+action_521 _ = happyFail
+
+action_522 (398) = happyShift action_623
+action_522 _ = happyFail
+
+action_523 _ = happyReduce_420
+
+action_524 (278) = happyShift action_49
+action_524 (279) = happyShift action_50
+action_524 (280) = happyShift action_51
+action_524 (281) = happyShift action_52
+action_524 (282) = happyShift action_53
+action_524 (283) = happyShift action_54
+action_524 (289) = happyShift action_55
+action_524 (290) = happyShift action_56
+action_524 (291) = happyShift action_57
+action_524 (292) = happyShift action_58
+action_524 (293) = happyShift action_59
+action_524 (294) = happyShift action_60
+action_524 (295) = happyShift action_61
+action_524 (296) = happyShift action_62
+action_524 (297) = happyShift action_63
+action_524 (298) = happyShift action_64
+action_524 (299) = happyShift action_65
+action_524 (301) = happyShift action_66
+action_524 (307) = happyShift action_67
+action_524 (309) = happyShift action_68
+action_524 (312) = happyShift action_69
+action_524 (319) = happyShift action_70
+action_524 (324) = happyShift action_71
+action_524 (325) = happyShift action_72
+action_524 (327) = happyShift action_73
+action_524 (334) = happyShift action_75
+action_524 (337) = happyShift action_76
+action_524 (338) = happyShift action_77
+action_524 (339) = happyShift action_78
+action_524 (340) = happyShift action_79
+action_524 (341) = happyShift action_80
+action_524 (342) = happyShift action_81
+action_524 (344) = happyShift action_82
+action_524 (345) = happyShift action_83
+action_524 (346) = happyShift action_84
+action_524 (348) = happyShift action_85
+action_524 (350) = happyShift action_86
+action_524 (351) = happyShift action_87
+action_524 (358) = happyShift action_88
+action_524 (359) = happyShift action_89
+action_524 (360) = happyShift action_90
+action_524 (361) = happyShift action_91
+action_524 (362) = happyShift action_92
+action_524 (363) = happyShift action_93
+action_524 (364) = happyShift action_94
+action_524 (365) = happyShift action_95
+action_524 (366) = happyShift action_96
+action_524 (367) = happyShift action_97
+action_524 (368) = happyShift action_98
+action_524 (369) = happyShift action_99
+action_524 (370) = happyShift action_100
+action_524 (371) = happyShift action_101
+action_524 (373) = happyShift action_102
+action_524 (378) = happyShift action_103
+action_524 (380) = happyShift action_104
+action_524 (381) = happyShift action_105
+action_524 (383) = happyShift action_106
+action_524 (384) = happyShift action_107
+action_524 (391) = happyShift action_159
+action_524 (392) = happyShift action_109
+action_524 (396) = happyShift action_110
+action_524 (402) = happyShift action_112
+action_524 (403) = happyShift action_113
+action_524 (411) = happyShift action_114
+action_524 (412) = happyShift action_115
+action_524 (413) = happyShift action_116
+action_524 (169) = happyGoto action_622
+action_524 (170) = happyGoto action_25
+action_524 (171) = happyGoto action_26
+action_524 (172) = happyGoto action_27
+action_524 (173) = happyGoto action_28
+action_524 (176) = happyGoto action_29
+action_524 (177) = happyGoto action_30
+action_524 (178) = happyGoto action_31
+action_524 (181) = happyGoto action_32
+action_524 (182) = happyGoto action_33
+action_524 (183) = happyGoto action_34
+action_524 (190) = happyGoto action_35
+action_524 (228) = happyGoto action_38
+action_524 (231) = happyGoto action_39
+action_524 (232) = happyGoto action_40
+action_524 (234) = happyGoto action_41
+action_524 (244) = happyGoto action_42
+action_524 (245) = happyGoto action_43
+action_524 (246) = happyGoto action_44
+action_524 (247) = happyGoto action_45
+action_524 (248) = happyGoto action_46
+action_524 (249) = happyGoto action_47
+action_524 (257) = happyGoto action_48
+action_524 _ = happyFail
+
+action_525 _ = happyReduce_438
+
+action_526 (278) = happyShift action_49
+action_526 (279) = happyShift action_50
+action_526 (280) = happyShift action_51
+action_526 (281) = happyShift action_52
+action_526 (282) = happyShift action_53
+action_526 (283) = happyShift action_54
+action_526 (289) = happyShift action_55
+action_526 (290) = happyShift action_56
+action_526 (291) = happyShift action_57
+action_526 (292) = happyShift action_58
+action_526 (293) = happyShift action_59
+action_526 (294) = happyShift action_60
+action_526 (295) = happyShift action_61
+action_526 (296) = happyShift action_62
+action_526 (297) = happyShift action_63
+action_526 (298) = happyShift action_64
+action_526 (299) = happyShift action_65
+action_526 (301) = happyShift action_66
+action_526 (307) = happyShift action_67
+action_526 (309) = happyShift action_68
+action_526 (312) = happyShift action_69
+action_526 (319) = happyShift action_70
+action_526 (324) = happyShift action_71
+action_526 (325) = happyShift action_72
+action_526 (327) = happyShift action_73
+action_526 (334) = happyShift action_75
+action_526 (337) = happyShift action_76
+action_526 (338) = happyShift action_77
+action_526 (339) = happyShift action_78
+action_526 (340) = happyShift action_79
+action_526 (341) = happyShift action_80
+action_526 (342) = happyShift action_81
+action_526 (344) = happyShift action_82
+action_526 (345) = happyShift action_83
+action_526 (346) = happyShift action_84
+action_526 (348) = happyShift action_85
+action_526 (350) = happyShift action_86
+action_526 (351) = happyShift action_87
+action_526 (358) = happyShift action_88
+action_526 (359) = happyShift action_89
+action_526 (360) = happyShift action_90
+action_526 (361) = happyShift action_91
+action_526 (362) = happyShift action_92
+action_526 (363) = happyShift action_93
+action_526 (364) = happyShift action_94
+action_526 (365) = happyShift action_95
+action_526 (366) = happyShift action_96
+action_526 (367) = happyShift action_97
+action_526 (368) = happyShift action_98
+action_526 (369) = happyShift action_99
+action_526 (370) = happyShift action_100
+action_526 (371) = happyShift action_101
+action_526 (373) = happyShift action_102
+action_526 (378) = happyShift action_103
+action_526 (380) = happyShift action_104
+action_526 (381) = happyShift action_105
+action_526 (383) = happyShift action_106
+action_526 (384) = happyShift action_107
+action_526 (391) = happyShift action_159
+action_526 (392) = happyShift action_109
+action_526 (396) = happyShift action_110
+action_526 (402) = happyShift action_112
+action_526 (403) = happyShift action_113
+action_526 (411) = happyShift action_114
+action_526 (412) = happyShift action_115
+action_526 (413) = happyShift action_116
+action_526 (169) = happyGoto action_621
+action_526 (170) = happyGoto action_25
+action_526 (171) = happyGoto action_26
+action_526 (172) = happyGoto action_27
+action_526 (173) = happyGoto action_28
+action_526 (176) = happyGoto action_29
+action_526 (177) = happyGoto action_30
+action_526 (178) = happyGoto action_31
+action_526 (181) = happyGoto action_32
+action_526 (182) = happyGoto action_33
+action_526 (183) = happyGoto action_34
+action_526 (190) = happyGoto action_35
+action_526 (228) = happyGoto action_38
+action_526 (231) = happyGoto action_39
+action_526 (232) = happyGoto action_40
+action_526 (234) = happyGoto action_41
+action_526 (244) = happyGoto action_42
+action_526 (245) = happyGoto action_43
+action_526 (246) = happyGoto action_44
+action_526 (247) = happyGoto action_45
+action_526 (248) = happyGoto action_46
+action_526 (249) = happyGoto action_47
+action_526 (257) = happyGoto action_48
+action_526 _ = happyFail
+
+action_527 (305) = happyShift action_620
+action_527 _ = happyFail
+
+action_528 (303) = happyShift action_619
+action_528 (221) = happyGoto action_618
+action_528 _ = happyReduce_613
+
+action_529 (278) = happyShift action_49
+action_529 (279) = happyShift action_50
+action_529 (280) = happyShift action_51
+action_529 (281) = happyShift action_52
+action_529 (282) = happyShift action_53
+action_529 (283) = happyShift action_54
+action_529 (289) = happyShift action_55
+action_529 (290) = happyShift action_56
+action_529 (291) = happyShift action_57
+action_529 (292) = happyShift action_58
+action_529 (293) = happyShift action_59
+action_529 (294) = happyShift action_60
+action_529 (295) = happyShift action_61
+action_529 (296) = happyShift action_62
+action_529 (297) = happyShift action_63
+action_529 (298) = happyShift action_64
+action_529 (299) = happyShift action_65
+action_529 (301) = happyShift action_66
+action_529 (303) = happyShift action_529
+action_529 (307) = happyShift action_67
+action_529 (309) = happyShift action_68
+action_529 (312) = happyShift action_69
+action_529 (319) = happyShift action_70
+action_529 (324) = happyShift action_71
+action_529 (325) = happyShift action_72
+action_529 (327) = happyShift action_73
+action_529 (328) = happyShift action_74
+action_529 (334) = happyShift action_75
+action_529 (337) = happyShift action_76
+action_529 (338) = happyShift action_77
+action_529 (339) = happyShift action_78
+action_529 (340) = happyShift action_79
+action_529 (341) = happyShift action_80
+action_529 (342) = happyShift action_81
+action_529 (344) = happyShift action_82
+action_529 (345) = happyShift action_83
+action_529 (346) = happyShift action_84
+action_529 (348) = happyShift action_85
+action_529 (350) = happyShift action_86
+action_529 (351) = happyShift action_87
+action_529 (358) = happyShift action_88
+action_529 (359) = happyShift action_89
+action_529 (360) = happyShift action_90
+action_529 (361) = happyShift action_91
+action_529 (362) = happyShift action_92
+action_529 (363) = happyShift action_93
+action_529 (364) = happyShift action_94
+action_529 (365) = happyShift action_95
+action_529 (366) = happyShift action_96
+action_529 (367) = happyShift action_97
+action_529 (368) = happyShift action_98
+action_529 (369) = happyShift action_99
+action_529 (370) = happyShift action_100
+action_529 (371) = happyShift action_101
+action_529 (373) = happyShift action_102
+action_529 (378) = happyShift action_103
+action_529 (380) = happyShift action_104
+action_529 (381) = happyShift action_105
+action_529 (383) = happyShift action_106
+action_529 (384) = happyShift action_107
+action_529 (391) = happyShift action_108
+action_529 (392) = happyShift action_109
+action_529 (396) = happyShift action_110
+action_529 (397) = happyShift action_111
+action_529 (402) = happyShift action_112
+action_529 (403) = happyShift action_113
+action_529 (411) = happyShift action_114
+action_529 (412) = happyShift action_115
+action_529 (413) = happyShift action_116
+action_529 (168) = happyGoto action_23
+action_529 (169) = happyGoto action_24
+action_529 (170) = happyGoto action_25
+action_529 (171) = happyGoto action_26
+action_529 (172) = happyGoto action_27
+action_529 (173) = happyGoto action_28
+action_529 (176) = happyGoto action_29
+action_529 (177) = happyGoto action_30
+action_529 (178) = happyGoto action_31
+action_529 (181) = happyGoto action_32
+action_529 (182) = happyGoto action_33
+action_529 (183) = happyGoto action_34
+action_529 (190) = happyGoto action_35
+action_529 (215) = happyGoto action_36
+action_529 (220) = happyGoto action_617
+action_529 (222) = happyGoto action_528
+action_529 (228) = happyGoto action_38
+action_529 (231) = happyGoto action_39
+action_529 (232) = happyGoto action_40
+action_529 (234) = happyGoto action_41
+action_529 (244) = happyGoto action_42
+action_529 (245) = happyGoto action_43
+action_529 (246) = happyGoto action_44
+action_529 (247) = happyGoto action_45
+action_529 (248) = happyGoto action_46
+action_529 (249) = happyGoto action_47
+action_529 (257) = happyGoto action_48
+action_529 _ = happyReduce_611
+
+action_530 (1) = happyShift action_400
+action_530 (306) = happyShift action_401
+action_530 (259) = happyGoto action_616
+action_530 _ = happyFail
+
+action_531 (278) = happyShift action_49
+action_531 (279) = happyShift action_50
+action_531 (280) = happyShift action_51
+action_531 (281) = happyShift action_52
+action_531 (282) = happyShift action_53
+action_531 (283) = happyShift action_54
+action_531 (289) = happyShift action_55
+action_531 (290) = happyShift action_56
+action_531 (291) = happyShift action_57
+action_531 (292) = happyShift action_58
+action_531 (293) = happyShift action_59
+action_531 (294) = happyShift action_60
+action_531 (295) = happyShift action_61
+action_531 (296) = happyShift action_62
+action_531 (297) = happyShift action_63
+action_531 (298) = happyShift action_64
+action_531 (299) = happyShift action_65
+action_531 (301) = happyShift action_66
+action_531 (307) = happyShift action_67
+action_531 (309) = happyShift action_68
+action_531 (312) = happyShift action_69
+action_531 (319) = happyShift action_70
+action_531 (324) = happyShift action_71
+action_531 (325) = happyShift action_72
+action_531 (327) = happyShift action_73
+action_531 (334) = happyShift action_75
+action_531 (337) = happyShift action_76
+action_531 (338) = happyShift action_77
+action_531 (339) = happyShift action_78
+action_531 (340) = happyShift action_79
+action_531 (341) = happyShift action_80
+action_531 (342) = happyShift action_81
+action_531 (344) = happyShift action_82
+action_531 (345) = happyShift action_83
+action_531 (346) = happyShift action_84
+action_531 (348) = happyShift action_85
+action_531 (350) = happyShift action_86
+action_531 (351) = happyShift action_87
+action_531 (358) = happyShift action_88
+action_531 (359) = happyShift action_89
+action_531 (360) = happyShift action_90
+action_531 (361) = happyShift action_91
+action_531 (362) = happyShift action_92
+action_531 (363) = happyShift action_93
+action_531 (364) = happyShift action_94
+action_531 (365) = happyShift action_95
+action_531 (366) = happyShift action_96
+action_531 (367) = happyShift action_97
+action_531 (368) = happyShift action_98
+action_531 (369) = happyShift action_99
+action_531 (370) = happyShift action_100
+action_531 (371) = happyShift action_101
+action_531 (373) = happyShift action_102
+action_531 (378) = happyShift action_103
+action_531 (380) = happyShift action_104
+action_531 (381) = happyShift action_105
+action_531 (383) = happyShift action_106
+action_531 (384) = happyShift action_107
+action_531 (391) = happyShift action_159
+action_531 (392) = happyShift action_109
+action_531 (396) = happyShift action_110
+action_531 (402) = happyShift action_112
+action_531 (403) = happyShift action_113
+action_531 (411) = happyShift action_114
+action_531 (412) = happyShift action_115
+action_531 (413) = happyShift action_116
+action_531 (169) = happyGoto action_615
+action_531 (170) = happyGoto action_25
+action_531 (171) = happyGoto action_26
+action_531 (172) = happyGoto action_27
+action_531 (173) = happyGoto action_28
+action_531 (176) = happyGoto action_29
+action_531 (177) = happyGoto action_30
+action_531 (178) = happyGoto action_31
+action_531 (181) = happyGoto action_32
+action_531 (182) = happyGoto action_33
+action_531 (183) = happyGoto action_34
+action_531 (190) = happyGoto action_35
+action_531 (228) = happyGoto action_38
+action_531 (231) = happyGoto action_39
+action_531 (232) = happyGoto action_40
+action_531 (234) = happyGoto action_41
+action_531 (244) = happyGoto action_42
+action_531 (245) = happyGoto action_43
+action_531 (246) = happyGoto action_44
+action_531 (247) = happyGoto action_45
+action_531 (248) = happyGoto action_46
+action_531 (249) = happyGoto action_47
+action_531 (257) = happyGoto action_48
+action_531 _ = happyFail
+
+action_532 (278) = happyShift action_49
+action_532 (279) = happyShift action_50
+action_532 (280) = happyShift action_51
+action_532 (281) = happyShift action_52
+action_532 (282) = happyShift action_53
+action_532 (283) = happyShift action_54
+action_532 (289) = happyShift action_55
+action_532 (290) = happyShift action_56
+action_532 (291) = happyShift action_57
+action_532 (292) = happyShift action_58
+action_532 (293) = happyShift action_59
+action_532 (294) = happyShift action_60
+action_532 (295) = happyShift action_61
+action_532 (296) = happyShift action_62
+action_532 (297) = happyShift action_63
+action_532 (298) = happyShift action_64
+action_532 (299) = happyShift action_65
+action_532 (301) = happyShift action_66
+action_532 (307) = happyShift action_67
+action_532 (309) = happyShift action_68
+action_532 (312) = happyShift action_69
+action_532 (319) = happyShift action_70
+action_532 (324) = happyShift action_71
+action_532 (325) = happyShift action_72
+action_532 (327) = happyShift action_73
+action_532 (334) = happyShift action_75
+action_532 (337) = happyShift action_76
+action_532 (338) = happyShift action_77
+action_532 (339) = happyShift action_78
+action_532 (340) = happyShift action_79
+action_532 (341) = happyShift action_80
+action_532 (342) = happyShift action_81
+action_532 (344) = happyShift action_82
+action_532 (345) = happyShift action_83
+action_532 (346) = happyShift action_84
+action_532 (348) = happyShift action_85
+action_532 (350) = happyShift action_86
+action_532 (351) = happyShift action_87
+action_532 (358) = happyShift action_88
+action_532 (359) = happyShift action_89
+action_532 (360) = happyShift action_90
+action_532 (361) = happyShift action_91
+action_532 (362) = happyShift action_92
+action_532 (363) = happyShift action_93
+action_532 (364) = happyShift action_94
+action_532 (365) = happyShift action_95
+action_532 (366) = happyShift action_96
+action_532 (367) = happyShift action_97
+action_532 (368) = happyShift action_98
+action_532 (369) = happyShift action_99
+action_532 (370) = happyShift action_100
+action_532 (371) = happyShift action_101
+action_532 (373) = happyShift action_102
+action_532 (378) = happyShift action_103
+action_532 (380) = happyShift action_104
+action_532 (381) = happyShift action_105
+action_532 (383) = happyShift action_106
+action_532 (384) = happyShift action_107
+action_532 (391) = happyShift action_159
+action_532 (392) = happyShift action_109
+action_532 (396) = happyShift action_110
+action_532 (402) = happyShift action_112
+action_532 (403) = happyShift action_113
+action_532 (411) = happyShift action_114
+action_532 (412) = happyShift action_115
+action_532 (413) = happyShift action_116
+action_532 (169) = happyGoto action_614
+action_532 (170) = happyGoto action_25
+action_532 (171) = happyGoto action_26
+action_532 (172) = happyGoto action_27
+action_532 (173) = happyGoto action_28
+action_532 (176) = happyGoto action_29
+action_532 (177) = happyGoto action_30
+action_532 (178) = happyGoto action_31
+action_532 (181) = happyGoto action_32
+action_532 (182) = happyGoto action_33
+action_532 (183) = happyGoto action_34
+action_532 (190) = happyGoto action_35
+action_532 (228) = happyGoto action_38
+action_532 (231) = happyGoto action_39
+action_532 (232) = happyGoto action_40
+action_532 (234) = happyGoto action_41
+action_532 (244) = happyGoto action_42
+action_532 (245) = happyGoto action_43
+action_532 (246) = happyGoto action_44
+action_532 (247) = happyGoto action_45
+action_532 (248) = happyGoto action_46
+action_532 (249) = happyGoto action_47
+action_532 (257) = happyGoto action_48
+action_532 _ = happyFail
+
+action_533 (316) = happyShift action_613
+action_533 _ = happyFail
+
+action_534 _ = happyReduce_244
+
+action_535 (313) = happyShift action_612
+action_535 _ = happyFail
+
+action_536 _ = happyReduce_243
+
+action_537 _ = happyReduce_242
+
+action_538 _ = happyReduce_246
+
+action_539 _ = happyReduce_284
+
+action_540 _ = happyReduce_291
+
+action_541 _ = happyReduce_290
+
+action_542 _ = happyReduce_286
+
+action_543 _ = happyReduce_255
+
+action_544 _ = happyReduce_259
+
+action_545 (278) = happyShift action_49
+action_545 (279) = happyShift action_50
+action_545 (282) = happyShift action_53
+action_545 (283) = happyShift action_54
+action_545 (299) = happyShift action_609
+action_545 (307) = happyShift action_610
+action_545 (329) = happyShift action_611
+action_545 (358) = happyShift action_88
+action_545 (359) = happyShift action_89
+action_545 (360) = happyShift action_90
+action_545 (361) = happyShift action_91
+action_545 (362) = happyShift action_92
+action_545 (363) = happyShift action_93
+action_545 (364) = happyShift action_94
+action_545 (365) = happyShift action_95
+action_545 (366) = happyShift action_96
+action_545 (367) = happyShift action_97
+action_545 (368) = happyShift action_98
+action_545 (369) = happyShift action_99
+action_545 (370) = happyShift action_100
+action_545 (371) = happyShift action_101
+action_545 (380) = happyShift action_104
+action_545 (381) = happyShift action_105
+action_545 (383) = happyShift action_106
+action_545 (402) = happyShift action_112
+action_545 (403) = happyShift action_113
+action_545 (144) = happyGoto action_602
+action_545 (145) = happyGoto action_603
+action_545 (146) = happyGoto action_604
+action_545 (147) = happyGoto action_605
+action_545 (148) = happyGoto action_606
+action_545 (234) = happyGoto action_181
+action_545 (244) = happyGoto action_607
+action_545 (245) = happyGoto action_43
+action_545 (246) = happyGoto action_44
+action_545 (248) = happyGoto action_46
+action_545 (249) = happyGoto action_47
+action_545 (269) = happyGoto action_608
+action_545 _ = happyFail
+
+action_546 _ = happyReduce_288
+
+action_547 _ = happyReduce_256
+
+action_548 (278) = happyShift action_49
+action_548 (280) = happyShift action_51
+action_548 (281) = happyShift action_52
+action_548 (282) = happyShift action_53
+action_548 (283) = happyShift action_54
+action_548 (289) = happyShift action_135
+action_548 (292) = happyShift action_136
+action_548 (299) = happyShift action_137
+action_548 (301) = happyShift action_138
+action_548 (307) = happyShift action_139
+action_548 (309) = happyShift action_140
+action_548 (312) = happyShift action_141
+action_548 (325) = happyShift action_142
+action_548 (328) = happyShift action_143
+action_548 (337) = happyShift action_144
+action_548 (338) = happyShift action_145
+action_548 (344) = happyShift action_146
+action_548 (346) = happyShift action_147
+action_548 (358) = happyShift action_88
+action_548 (359) = happyShift action_148
+action_548 (360) = happyShift action_149
+action_548 (361) = happyShift action_150
+action_548 (363) = happyShift action_93
+action_548 (364) = happyShift action_94
+action_548 (365) = happyShift action_95
+action_548 (366) = happyShift action_96
+action_548 (367) = happyShift action_97
+action_548 (368) = happyShift action_98
+action_548 (369) = happyShift action_99
+action_548 (370) = happyShift action_100
+action_548 (371) = happyShift action_101
+action_548 (381) = happyShift action_151
+action_548 (383) = happyShift action_106
+action_548 (402) = happyShift action_112
+action_548 (416) = happyShift action_152
+action_548 (417) = happyShift action_153
+action_548 (103) = happyGoto action_117
+action_548 (105) = happyGoto action_118
+action_548 (108) = happyGoto action_119
+action_548 (109) = happyGoto action_120
+action_548 (110) = happyGoto action_121
+action_548 (111) = happyGoto action_122
+action_548 (112) = happyGoto action_123
+action_548 (113) = happyGoto action_124
+action_548 (114) = happyGoto action_125
+action_548 (115) = happyGoto action_126
+action_548 (118) = happyGoto action_601
+action_548 (119) = happyGoto action_129
+action_548 (232) = happyGoto action_130
+action_548 (245) = happyGoto action_131
+action_548 (247) = happyGoto action_45
+action_548 (248) = happyGoto action_132
+action_548 (249) = happyGoto action_47
+action_548 (270) = happyGoto action_133
+action_548 (271) = happyGoto action_134
+action_548 _ = happyFail
+
+action_549 (278) = happyShift action_49
+action_549 (280) = happyShift action_51
+action_549 (281) = happyShift action_52
+action_549 (282) = happyShift action_53
+action_549 (283) = happyShift action_54
+action_549 (289) = happyShift action_135
+action_549 (292) = happyShift action_136
+action_549 (299) = happyShift action_137
+action_549 (301) = happyShift action_138
+action_549 (307) = happyShift action_139
+action_549 (309) = happyShift action_140
+action_549 (312) = happyShift action_141
+action_549 (325) = happyShift action_142
+action_549 (328) = happyShift action_143
+action_549 (337) = happyShift action_144
+action_549 (338) = happyShift action_145
+action_549 (344) = happyShift action_146
+action_549 (346) = happyShift action_147
+action_549 (358) = happyShift action_88
+action_549 (359) = happyShift action_148
+action_549 (360) = happyShift action_149
+action_549 (361) = happyShift action_150
+action_549 (363) = happyShift action_93
+action_549 (364) = happyShift action_94
+action_549 (365) = happyShift action_95
+action_549 (366) = happyShift action_96
+action_549 (367) = happyShift action_97
+action_549 (368) = happyShift action_98
+action_549 (369) = happyShift action_99
+action_549 (370) = happyShift action_100
+action_549 (371) = happyShift action_101
+action_549 (381) = happyShift action_151
+action_549 (383) = happyShift action_106
+action_549 (402) = happyShift action_112
+action_549 (416) = happyShift action_152
+action_549 (417) = happyShift action_153
+action_549 (103) = happyGoto action_117
+action_549 (105) = happyGoto action_118
+action_549 (108) = happyGoto action_119
+action_549 (109) = happyGoto action_120
+action_549 (110) = happyGoto action_121
+action_549 (111) = happyGoto action_122
+action_549 (112) = happyGoto action_123
+action_549 (113) = happyGoto action_124
+action_549 (114) = happyGoto action_125
+action_549 (115) = happyGoto action_126
+action_549 (118) = happyGoto action_600
+action_549 (119) = happyGoto action_129
+action_549 (232) = happyGoto action_130
+action_549 (245) = happyGoto action_131
+action_549 (247) = happyGoto action_45
+action_549 (248) = happyGoto action_132
+action_549 (249) = happyGoto action_47
+action_549 (270) = happyGoto action_133
+action_549 (271) = happyGoto action_134
+action_549 _ = happyFail
+
+action_550 _ = happyReduce_268
+
+action_551 _ = happyReduce_257
+
+action_552 _ = happyReduce_258
+
+action_553 _ = happyReduce_261
+
+action_554 (308) = happyShift action_599
+action_554 (311) = happyShift action_548
+action_554 _ = happyFail
+
+action_555 _ = happyReduce_267
+
+action_556 (300) = happyShift action_598
+action_556 (311) = happyShift action_548
+action_556 _ = happyFail
+
+action_557 _ = happyReduce_270
+
+action_558 _ = happyReduce_301
+
+action_559 _ = happyReduce_303
+
+action_560 (278) = happyShift action_49
+action_560 (358) = happyShift action_88
+action_560 (359) = happyShift action_148
+action_560 (360) = happyShift action_149
+action_560 (361) = happyShift action_150
+action_560 (363) = happyShift action_93
+action_560 (364) = happyShift action_94
+action_560 (365) = happyShift action_95
+action_560 (366) = happyShift action_96
+action_560 (367) = happyShift action_97
+action_560 (368) = happyShift action_98
+action_560 (369) = happyShift action_99
+action_560 (370) = happyShift action_100
+action_560 (371) = happyShift action_101
+action_560 (383) = happyShift action_106
+action_560 (402) = happyShift action_112
+action_560 (245) = happyGoto action_131
+action_560 (270) = happyGoto action_597
+action_560 (271) = happyGoto action_134
+action_560 _ = happyFail
+
+action_561 (278) = happyShift action_49
+action_561 (280) = happyShift action_51
+action_561 (281) = happyShift action_52
+action_561 (282) = happyShift action_53
+action_561 (283) = happyShift action_54
+action_561 (289) = happyShift action_135
+action_561 (292) = happyShift action_136
+action_561 (299) = happyShift action_137
+action_561 (301) = happyShift action_138
+action_561 (307) = happyShift action_139
+action_561 (309) = happyShift action_140
+action_561 (312) = happyShift action_141
+action_561 (325) = happyShift action_142
+action_561 (328) = happyShift action_143
+action_561 (337) = happyShift action_144
+action_561 (338) = happyShift action_145
+action_561 (344) = happyShift action_146
+action_561 (346) = happyShift action_147
+action_561 (358) = happyShift action_88
+action_561 (359) = happyShift action_148
+action_561 (360) = happyShift action_149
+action_561 (361) = happyShift action_150
+action_561 (363) = happyShift action_93
+action_561 (364) = happyShift action_94
+action_561 (365) = happyShift action_95
+action_561 (366) = happyShift action_96
+action_561 (367) = happyShift action_97
+action_561 (368) = happyShift action_98
+action_561 (369) = happyShift action_99
+action_561 (370) = happyShift action_100
+action_561 (371) = happyShift action_101
+action_561 (381) = happyShift action_151
+action_561 (383) = happyShift action_106
+action_561 (402) = happyShift action_112
+action_561 (416) = happyShift action_152
+action_561 (417) = happyShift action_153
+action_561 (103) = happyGoto action_117
+action_561 (105) = happyGoto action_118
+action_561 (108) = happyGoto action_119
+action_561 (109) = happyGoto action_120
+action_561 (110) = happyGoto action_121
+action_561 (111) = happyGoto action_122
+action_561 (112) = happyGoto action_123
+action_561 (113) = happyGoto action_124
+action_561 (114) = happyGoto action_125
+action_561 (115) = happyGoto action_126
+action_561 (118) = happyGoto action_596
+action_561 (119) = happyGoto action_129
+action_561 (232) = happyGoto action_130
+action_561 (245) = happyGoto action_131
+action_561 (247) = happyGoto action_45
+action_561 (248) = happyGoto action_132
+action_561 (249) = happyGoto action_47
+action_561 (270) = happyGoto action_133
+action_561 (271) = happyGoto action_134
+action_561 _ = happyFail
+
+action_562 (27) = happyGoto action_175
+action_562 (28) = happyGoto action_595
+action_562 _ = happyReduce_41
+
+action_563 (27) = happyGoto action_593
+action_563 (28) = happyGoto action_594
+action_563 _ = happyReduce_41
+
+action_564 _ = happyReduce_61
+
+action_565 _ = happyReduce_36
+
+action_566 _ = happyReduce_39
+
+action_567 _ = happyReduce_33
+
+action_568 (278) = happyShift action_49
+action_568 (279) = happyShift action_50
+action_568 (280) = happyShift action_51
+action_568 (281) = happyShift action_52
+action_568 (282) = happyShift action_53
+action_568 (283) = happyShift action_54
+action_568 (289) = happyShift action_55
+action_568 (290) = happyShift action_56
+action_568 (291) = happyShift action_57
+action_568 (292) = happyShift action_58
+action_568 (293) = happyShift action_59
+action_568 (294) = happyShift action_60
+action_568 (295) = happyShift action_61
+action_568 (296) = happyShift action_62
+action_568 (297) = happyShift action_63
+action_568 (298) = happyShift action_64
+action_568 (299) = happyShift action_65
+action_568 (301) = happyShift action_66
+action_568 (303) = happyShift action_566
+action_568 (307) = happyShift action_67
+action_568 (309) = happyShift action_68
+action_568 (312) = happyShift action_69
+action_568 (319) = happyShift action_592
+action_568 (324) = happyShift action_71
+action_568 (325) = happyShift action_72
+action_568 (327) = happyShift action_73
+action_568 (328) = happyShift action_486
+action_568 (334) = happyShift action_75
+action_568 (337) = happyShift action_76
+action_568 (338) = happyShift action_77
+action_568 (339) = happyShift action_78
+action_568 (340) = happyShift action_79
+action_568 (341) = happyShift action_80
+action_568 (342) = happyShift action_81
+action_568 (344) = happyShift action_82
+action_568 (345) = happyShift action_83
+action_568 (346) = happyShift action_84
+action_568 (348) = happyShift action_85
+action_568 (350) = happyShift action_86
+action_568 (351) = happyShift action_87
+action_568 (358) = happyShift action_88
+action_568 (359) = happyShift action_89
+action_568 (360) = happyShift action_90
+action_568 (361) = happyShift action_91
+action_568 (362) = happyShift action_92
+action_568 (363) = happyShift action_93
+action_568 (364) = happyShift action_94
+action_568 (365) = happyShift action_95
+action_568 (366) = happyShift action_96
+action_568 (367) = happyShift action_97
+action_568 (368) = happyShift action_98
+action_568 (369) = happyShift action_99
+action_568 (370) = happyShift action_100
+action_568 (371) = happyShift action_101
+action_568 (373) = happyShift action_102
+action_568 (378) = happyShift action_103
+action_568 (380) = happyShift action_104
+action_568 (381) = happyShift action_105
+action_568 (383) = happyShift action_106
+action_568 (387) = happyShift action_492
+action_568 (388) = happyShift action_493
+action_568 (389) = happyShift action_494
+action_568 (392) = happyShift action_109
+action_568 (402) = happyShift action_112
+action_568 (403) = happyShift action_113
+action_568 (404) = happyShift action_498
+action_568 (405) = happyShift action_499
+action_568 (406) = happyShift action_500
+action_568 (407) = happyShift action_501
+action_568 (408) = happyShift action_502
+action_568 (421) = happyShift action_507
+action_568 (49) = happyGoto action_469
+action_568 (51) = happyGoto action_470
+action_568 (74) = happyGoto action_586
+action_568 (75) = happyGoto action_587
+action_568 (77) = happyGoto action_477
+action_568 (78) = happyGoto action_478
+action_568 (79) = happyGoto action_479
+action_568 (162) = happyGoto action_480
+action_568 (172) = happyGoto action_588
+action_568 (176) = happyGoto action_29
+action_568 (178) = happyGoto action_31
+action_568 (181) = happyGoto action_32
+action_568 (182) = happyGoto action_33
+action_568 (183) = happyGoto action_34
+action_568 (190) = happyGoto action_35
+action_568 (226) = happyGoto action_589
+action_568 (227) = happyGoto action_590
+action_568 (228) = happyGoto action_38
+action_568 (231) = happyGoto action_39
+action_568 (232) = happyGoto action_591
+action_568 (234) = happyGoto action_41
+action_568 (244) = happyGoto action_42
+action_568 (245) = happyGoto action_43
+action_568 (246) = happyGoto action_44
+action_568 (247) = happyGoto action_45
+action_568 (248) = happyGoto action_46
+action_568 (249) = happyGoto action_47
+action_568 (257) = happyGoto action_48
+action_568 (260) = happyGoto action_483
+action_568 (261) = happyGoto action_484
+action_568 (265) = happyGoto action_485
+action_568 _ = happyReduce_163
+
+action_569 (305) = happyShift action_585
+action_569 _ = happyFail
+
+action_570 (305) = happyShift action_584
+action_570 _ = happyFail
+
+action_571 (1) = happyShift action_400
+action_571 (306) = happyShift action_401
+action_571 (259) = happyGoto action_583
+action_571 _ = happyFail
+
+action_572 (1) = happyShift action_400
+action_572 (306) = happyShift action_401
+action_572 (259) = happyGoto action_582
+action_572 _ = happyFail
+
+action_573 (414) = happyShift action_580
+action_573 (415) = happyShift action_581
+action_573 (24) = happyGoto action_579
+action_573 _ = happyReduce_32
+
+action_574 (354) = happyShift action_578
+action_574 _ = happyFail
+
+action_575 (196) = happyGoto action_577
+action_575 _ = happyReduce_554
+
+action_576 _ = happyReduce_27
+
+action_577 (278) = happyShift action_637
+action_577 (279) = happyShift action_50
+action_577 (280) = happyShift action_51
+action_577 (281) = happyShift action_52
+action_577 (282) = happyShift action_638
+action_577 (283) = happyShift action_54
+action_577 (284) = happyShift action_258
+action_577 (289) = happyShift action_55
+action_577 (290) = happyShift action_56
+action_577 (291) = happyShift action_57
+action_577 (292) = happyShift action_58
+action_577 (293) = happyShift action_59
+action_577 (294) = happyShift action_60
+action_577 (295) = happyShift action_61
+action_577 (296) = happyShift action_62
+action_577 (297) = happyShift action_63
+action_577 (298) = happyShift action_64
+action_577 (299) = happyShift action_65
+action_577 (301) = happyShift action_66
+action_577 (307) = happyShift action_67
+action_577 (309) = happyShift action_68
+action_577 (312) = happyShift action_69
+action_577 (324) = happyShift action_71
+action_577 (325) = happyShift action_72
+action_577 (334) = happyShift action_75
+action_577 (337) = happyShift action_76
+action_577 (338) = happyShift action_77
+action_577 (339) = happyShift action_78
+action_577 (340) = happyShift action_79
+action_577 (341) = happyShift action_80
+action_577 (342) = happyShift action_81
+action_577 (344) = happyShift action_82
+action_577 (345) = happyShift action_83
+action_577 (346) = happyShift action_84
+action_577 (348) = happyShift action_85
+action_577 (350) = happyShift action_86
+action_577 (351) = happyShift action_87
+action_577 (357) = happyShift action_259
+action_577 (358) = happyShift action_639
+action_577 (359) = happyShift action_640
+action_577 (360) = happyShift action_641
+action_577 (361) = happyShift action_642
+action_577 (362) = happyShift action_643
+action_577 (363) = happyShift action_644
+action_577 (364) = happyShift action_645
+action_577 (365) = happyShift action_646
+action_577 (366) = happyShift action_647
+action_577 (367) = happyShift action_648
+action_577 (368) = happyShift action_649
+action_577 (369) = happyShift action_650
+action_577 (370) = happyShift action_651
+action_577 (371) = happyShift action_652
+action_577 (372) = happyShift action_274
+action_577 (373) = happyShift action_275
+action_577 (374) = happyShift action_276
+action_577 (375) = happyShift action_277
+action_577 (376) = happyShift action_278
+action_577 (377) = happyShift action_279
+action_577 (378) = happyShift action_280
+action_577 (379) = happyShift action_281
+action_577 (380) = happyShift action_653
+action_577 (381) = happyShift action_654
+action_577 (382) = happyShift action_284
+action_577 (383) = happyShift action_655
+action_577 (384) = happyShift action_286
+action_577 (385) = happyShift action_287
+action_577 (386) = happyShift action_288
+action_577 (387) = happyShift action_289
+action_577 (388) = happyShift action_290
+action_577 (389) = happyShift action_291
+action_577 (390) = happyShift action_292
+action_577 (391) = happyShift action_293
+action_577 (392) = happyShift action_294
+action_577 (393) = happyShift action_295
+action_577 (394) = happyShift action_296
+action_577 (395) = happyShift action_297
+action_577 (396) = happyShift action_298
+action_577 (397) = happyShift action_299
+action_577 (398) = happyShift action_300
+action_577 (399) = happyShift action_301
+action_577 (400) = happyShift action_302
+action_577 (401) = happyShift action_303
+action_577 (402) = happyShift action_656
+action_577 (403) = happyShift action_113
+action_577 (181) = happyGoto action_633
+action_577 (182) = happyGoto action_33
+action_577 (183) = happyGoto action_34
+action_577 (190) = happyGoto action_35
+action_577 (193) = happyGoto action_634
+action_577 (194) = happyGoto action_254
+action_577 (195) = happyGoto action_255
+action_577 (197) = happyGoto action_635
+action_577 (198) = happyGoto action_902
+action_577 (228) = happyGoto action_38
+action_577 (231) = happyGoto action_39
+action_577 (232) = happyGoto action_40
+action_577 (234) = happyGoto action_41
+action_577 (244) = happyGoto action_42
+action_577 (245) = happyGoto action_43
+action_577 (246) = happyGoto action_44
+action_577 (247) = happyGoto action_45
+action_577 (248) = happyGoto action_46
+action_577 (249) = happyGoto action_47
+action_577 (257) = happyGoto action_48
+action_577 _ = happyReduce_557
+
+action_578 (348) = happyShift action_167
+action_578 (17) = happyGoto action_901
+action_578 _ = happyFail
+
+action_579 (299) = happyShift action_900
+action_579 (29) = happyGoto action_898
+action_579 (30) = happyGoto action_899
+action_579 _ = happyReduce_43
+
+action_580 (292) = happyShift action_897
+action_580 _ = happyFail
+
+action_581 (292) = happyShift action_896
+action_581 _ = happyFail
+
+action_582 _ = happyReduce_196
+
+action_583 _ = happyReduce_172
+
+action_584 _ = happyReduce_195
+
+action_585 _ = happyReduce_171
+
+action_586 (27) = happyGoto action_894
+action_586 (28) = happyGoto action_895
+action_586 _ = happyReduce_41
+
+action_587 _ = happyReduce_165
+
+action_588 (285) = happyShift action_211
+action_588 (286) = happyShift action_186
+action_588 (287) = happyShift action_212
+action_588 (288) = happyShift action_187
+action_588 (311) = happyShift action_699
+action_588 (313) = happyShift action_367
+action_588 (314) = happyShift action_214
+action_588 (316) = happyShift action_190
+action_588 (317) = happyShift action_700
+action_588 (327) = happyShift action_216
+action_588 (328) = happyShift action_340
+action_588 (329) = happyShift action_218
+action_588 (164) = happyGoto action_698
+action_588 (236) = happyGoto action_363
+action_588 (239) = happyGoto action_364
+action_588 (241) = happyGoto action_893
+action_588 (243) = happyGoto action_226
+action_588 (250) = happyGoto action_183
+action_588 (251) = happyGoto action_184
+action_588 (252) = happyGoto action_366
+action_588 (254) = happyGoto action_208
+action_588 (255) = happyGoto action_209
+action_588 (256) = happyGoto action_210
+action_588 _ = happyReduce_394
+
+action_589 (27) = happyGoto action_891
+action_589 (28) = happyGoto action_892
+action_589 _ = happyReduce_41
+
+action_590 _ = happyReduce_625
+
+action_591 (318) = happyShift action_890
+action_591 _ = happyReduce_447
+
+action_592 (373) = happyShift action_328
+action_592 _ = happyFail
+
+action_593 (278) = happyShift action_49
+action_593 (279) = happyShift action_50
+action_593 (280) = happyShift action_51
+action_593 (281) = happyShift action_52
+action_593 (282) = happyShift action_53
+action_593 (283) = happyShift action_54
+action_593 (289) = happyShift action_55
+action_593 (290) = happyShift action_56
+action_593 (291) = happyShift action_57
+action_593 (292) = happyShift action_58
+action_593 (293) = happyShift action_59
+action_593 (294) = happyShift action_60
+action_593 (295) = happyShift action_61
+action_593 (296) = happyShift action_62
+action_593 (297) = happyShift action_63
+action_593 (298) = happyShift action_64
+action_593 (299) = happyShift action_65
+action_593 (301) = happyShift action_66
+action_593 (307) = happyShift action_67
+action_593 (309) = happyShift action_68
+action_593 (312) = happyShift action_69
+action_593 (319) = happyShift action_70
+action_593 (324) = happyShift action_71
+action_593 (325) = happyShift action_72
+action_593 (327) = happyShift action_73
+action_593 (328) = happyShift action_486
+action_593 (334) = happyShift action_75
+action_593 (337) = happyShift action_76
+action_593 (338) = happyShift action_77
+action_593 (339) = happyShift action_78
+action_593 (340) = happyShift action_79
+action_593 (341) = happyShift action_80
+action_593 (342) = happyShift action_81
+action_593 (344) = happyShift action_82
+action_593 (345) = happyShift action_83
+action_593 (346) = happyShift action_84
+action_593 (348) = happyShift action_85
+action_593 (350) = happyShift action_86
+action_593 (351) = happyShift action_87
+action_593 (357) = happyShift action_487
+action_593 (358) = happyShift action_88
+action_593 (359) = happyShift action_89
+action_593 (360) = happyShift action_90
+action_593 (361) = happyShift action_91
+action_593 (362) = happyShift action_92
+action_593 (363) = happyShift action_93
+action_593 (364) = happyShift action_94
+action_593 (365) = happyShift action_95
+action_593 (366) = happyShift action_96
+action_593 (367) = happyShift action_97
+action_593 (368) = happyShift action_98
+action_593 (369) = happyShift action_99
+action_593 (370) = happyShift action_100
+action_593 (371) = happyShift action_101
+action_593 (373) = happyShift action_102
+action_593 (374) = happyShift action_488
+action_593 (375) = happyShift action_489
+action_593 (376) = happyShift action_490
+action_593 (377) = happyShift action_491
+action_593 (378) = happyShift action_103
+action_593 (380) = happyShift action_104
+action_593 (381) = happyShift action_105
+action_593 (383) = happyShift action_106
+action_593 (384) = happyShift action_107
+action_593 (385) = happyShift action_22
+action_593 (387) = happyShift action_492
+action_593 (388) = happyShift action_493
+action_593 (389) = happyShift action_494
+action_593 (390) = happyShift action_495
+action_593 (391) = happyShift action_159
+action_593 (392) = happyShift action_109
+action_593 (394) = happyShift action_496
+action_593 (396) = happyShift action_110
+action_593 (399) = happyShift action_497
+action_593 (402) = happyShift action_112
+action_593 (403) = happyShift action_113
+action_593 (404) = happyShift action_498
+action_593 (405) = happyShift action_499
+action_593 (406) = happyShift action_500
+action_593 (407) = happyShift action_501
+action_593 (408) = happyShift action_502
+action_593 (410) = happyShift action_503
+action_593 (411) = happyShift action_114
+action_593 (412) = happyShift action_115
+action_593 (413) = happyShift action_116
+action_593 (414) = happyShift action_504
+action_593 (415) = happyShift action_505
+action_593 (420) = happyShift action_506
+action_593 (421) = happyShift action_507
+action_593 (36) = happyGoto action_888
+action_593 (49) = happyGoto action_469
+action_593 (51) = happyGoto action_470
+action_593 (56) = happyGoto action_889
+action_593 (57) = happyGoto action_472
+action_593 (58) = happyGoto action_473
+action_593 (63) = happyGoto action_474
+action_593 (71) = happyGoto action_475
+action_593 (75) = happyGoto action_476
+action_593 (77) = happyGoto action_477
+action_593 (78) = happyGoto action_478
+action_593 (79) = happyGoto action_479
+action_593 (162) = happyGoto action_480
+action_593 (170) = happyGoto action_481
+action_593 (171) = happyGoto action_26
+action_593 (172) = happyGoto action_482
+action_593 (173) = happyGoto action_28
+action_593 (176) = happyGoto action_29
+action_593 (177) = happyGoto action_30
+action_593 (178) = happyGoto action_31
+action_593 (181) = happyGoto action_32
+action_593 (182) = happyGoto action_33
+action_593 (183) = happyGoto action_34
+action_593 (190) = happyGoto action_35
+action_593 (228) = happyGoto action_38
+action_593 (231) = happyGoto action_39
+action_593 (232) = happyGoto action_40
+action_593 (234) = happyGoto action_41
+action_593 (244) = happyGoto action_42
+action_593 (245) = happyGoto action_43
+action_593 (246) = happyGoto action_44
+action_593 (247) = happyGoto action_45
+action_593 (248) = happyGoto action_46
+action_593 (249) = happyGoto action_47
+action_593 (257) = happyGoto action_48
+action_593 (260) = happyGoto action_483
+action_593 (261) = happyGoto action_484
+action_593 (265) = happyGoto action_485
+action_593 _ = happyReduce_40
+
+action_594 (303) = happyShift action_566
+action_594 _ = happyReduce_37
+
+action_595 (303) = happyShift action_566
+action_595 _ = happyReduce_34
+
+action_596 _ = happyReduce_294
+
+action_597 (317) = happyShift action_887
+action_597 _ = happyFail
+
+action_598 _ = happyReduce_269
+
+action_599 _ = happyReduce_266
+
+action_600 (311) = happyReduce_300
+action_600 _ = happyReduce_298
+
+action_601 _ = happyReduce_300
+
+action_602 (300) = happyShift action_886
+action_602 _ = happyFail
+
+action_603 _ = happyReduce_342
+
+action_604 (278) = happyShift action_49
+action_604 (279) = happyShift action_50
+action_604 (282) = happyShift action_53
+action_604 (283) = happyShift action_54
+action_604 (299) = happyShift action_609
+action_604 (307) = happyShift action_610
+action_604 (322) = happyShift action_885
+action_604 (329) = happyShift action_611
+action_604 (358) = happyShift action_88
+action_604 (359) = happyShift action_89
+action_604 (360) = happyShift action_90
+action_604 (361) = happyShift action_91
+action_604 (362) = happyShift action_92
+action_604 (363) = happyShift action_93
+action_604 (364) = happyShift action_94
+action_604 (365) = happyShift action_95
+action_604 (366) = happyShift action_96
+action_604 (367) = happyShift action_97
+action_604 (368) = happyShift action_98
+action_604 (369) = happyShift action_99
+action_604 (370) = happyShift action_100
+action_604 (371) = happyShift action_101
+action_604 (380) = happyShift action_104
+action_604 (381) = happyShift action_105
+action_604 (383) = happyShift action_106
+action_604 (402) = happyShift action_112
+action_604 (403) = happyShift action_113
+action_604 (147) = happyGoto action_884
+action_604 (148) = happyGoto action_606
+action_604 (234) = happyGoto action_181
+action_604 (244) = happyGoto action_607
+action_604 (245) = happyGoto action_43
+action_604 (246) = happyGoto action_44
+action_604 (248) = happyGoto action_46
+action_604 (249) = happyGoto action_47
+action_604 (269) = happyGoto action_608
+action_604 _ = happyReduce_343
+
+action_605 _ = happyReduce_345
+
+action_606 _ = happyReduce_349
+
+action_607 _ = happyReduce_350
+
+action_608 _ = happyReduce_351
+
+action_609 (278) = happyShift action_49
+action_609 (279) = happyShift action_50
+action_609 (282) = happyShift action_53
+action_609 (283) = happyShift action_54
+action_609 (286) = happyShift action_186
+action_609 (288) = happyShift action_187
+action_609 (299) = happyShift action_609
+action_609 (300) = happyShift action_883
+action_609 (307) = happyShift action_610
+action_609 (316) = happyShift action_190
+action_609 (329) = happyShift action_611
+action_609 (358) = happyShift action_88
+action_609 (359) = happyShift action_89
+action_609 (360) = happyShift action_90
+action_609 (361) = happyShift action_91
+action_609 (362) = happyShift action_92
+action_609 (363) = happyShift action_93
+action_609 (364) = happyShift action_94
+action_609 (365) = happyShift action_95
+action_609 (366) = happyShift action_96
+action_609 (367) = happyShift action_97
+action_609 (368) = happyShift action_98
+action_609 (369) = happyShift action_99
+action_609 (370) = happyShift action_100
+action_609 (371) = happyShift action_101
+action_609 (380) = happyShift action_104
+action_609 (381) = happyShift action_105
+action_609 (383) = happyShift action_106
+action_609 (402) = happyShift action_112
+action_609 (403) = happyShift action_113
+action_609 (144) = happyGoto action_881
+action_609 (145) = happyGoto action_882
+action_609 (146) = happyGoto action_604
+action_609 (147) = happyGoto action_605
+action_609 (148) = happyGoto action_606
+action_609 (234) = happyGoto action_181
+action_609 (243) = happyGoto action_508
+action_609 (244) = happyGoto action_607
+action_609 (245) = happyGoto action_43
+action_609 (246) = happyGoto action_44
+action_609 (248) = happyGoto action_46
+action_609 (249) = happyGoto action_47
+action_609 (250) = happyGoto action_183
+action_609 (251) = happyGoto action_184
+action_609 (269) = happyGoto action_608
+action_609 _ = happyFail
+
+action_610 (278) = happyShift action_49
+action_610 (279) = happyShift action_50
+action_610 (282) = happyShift action_53
+action_610 (283) = happyShift action_54
+action_610 (299) = happyShift action_609
+action_610 (307) = happyShift action_610
+action_610 (329) = happyShift action_611
+action_610 (358) = happyShift action_88
+action_610 (359) = happyShift action_89
+action_610 (360) = happyShift action_90
+action_610 (361) = happyShift action_91
+action_610 (362) = happyShift action_92
+action_610 (363) = happyShift action_93
+action_610 (364) = happyShift action_94
+action_610 (365) = happyShift action_95
+action_610 (366) = happyShift action_96
+action_610 (367) = happyShift action_97
+action_610 (368) = happyShift action_98
+action_610 (369) = happyShift action_99
+action_610 (370) = happyShift action_100
+action_610 (371) = happyShift action_101
+action_610 (380) = happyShift action_104
+action_610 (381) = happyShift action_105
+action_610 (383) = happyShift action_106
+action_610 (402) = happyShift action_112
+action_610 (403) = happyShift action_113
+action_610 (144) = happyGoto action_880
+action_610 (145) = happyGoto action_603
+action_610 (146) = happyGoto action_604
+action_610 (147) = happyGoto action_605
+action_610 (148) = happyGoto action_606
+action_610 (234) = happyGoto action_181
+action_610 (244) = happyGoto action_607
+action_610 (245) = happyGoto action_43
+action_610 (246) = happyGoto action_44
+action_610 (248) = happyGoto action_46
+action_610 (249) = happyGoto action_47
+action_610 (269) = happyGoto action_608
+action_610 _ = happyFail
+
+action_611 _ = happyReduce_347
+
+action_612 _ = happyReduce_741
+
+action_613 (289) = happyShift action_879
+action_613 _ = happyFail
+
+action_614 _ = happyReduce_431
+
+action_615 _ = happyReduce_430
+
+action_616 _ = happyReduce_608
+
+action_617 _ = happyReduce_610
+
+action_618 _ = happyReduce_609
+
+action_619 (278) = happyShift action_49
+action_619 (279) = happyShift action_50
+action_619 (280) = happyShift action_51
+action_619 (281) = happyShift action_52
+action_619 (282) = happyShift action_53
+action_619 (283) = happyShift action_54
+action_619 (289) = happyShift action_55
+action_619 (290) = happyShift action_56
+action_619 (291) = happyShift action_57
+action_619 (292) = happyShift action_58
+action_619 (293) = happyShift action_59
+action_619 (294) = happyShift action_60
+action_619 (295) = happyShift action_61
+action_619 (296) = happyShift action_62
+action_619 (297) = happyShift action_63
+action_619 (298) = happyShift action_64
+action_619 (299) = happyShift action_65
+action_619 (301) = happyShift action_66
+action_619 (303) = happyShift action_529
+action_619 (307) = happyShift action_67
+action_619 (309) = happyShift action_68
+action_619 (312) = happyShift action_69
+action_619 (319) = happyShift action_70
+action_619 (324) = happyShift action_71
+action_619 (325) = happyShift action_72
+action_619 (327) = happyShift action_73
+action_619 (328) = happyShift action_74
+action_619 (334) = happyShift action_75
+action_619 (337) = happyShift action_76
+action_619 (338) = happyShift action_77
+action_619 (339) = happyShift action_78
+action_619 (340) = happyShift action_79
+action_619 (341) = happyShift action_80
+action_619 (342) = happyShift action_81
+action_619 (344) = happyShift action_82
+action_619 (345) = happyShift action_83
+action_619 (346) = happyShift action_84
+action_619 (348) = happyShift action_85
+action_619 (350) = happyShift action_86
+action_619 (351) = happyShift action_87
+action_619 (358) = happyShift action_88
+action_619 (359) = happyShift action_89
+action_619 (360) = happyShift action_90
+action_619 (361) = happyShift action_91
+action_619 (362) = happyShift action_92
+action_619 (363) = happyShift action_93
+action_619 (364) = happyShift action_94
+action_619 (365) = happyShift action_95
+action_619 (366) = happyShift action_96
+action_619 (367) = happyShift action_97
+action_619 (368) = happyShift action_98
+action_619 (369) = happyShift action_99
+action_619 (370) = happyShift action_100
+action_619 (371) = happyShift action_101
+action_619 (373) = happyShift action_102
+action_619 (378) = happyShift action_103
+action_619 (380) = happyShift action_104
+action_619 (381) = happyShift action_105
+action_619 (383) = happyShift action_106
+action_619 (384) = happyShift action_107
+action_619 (391) = happyShift action_108
+action_619 (392) = happyShift action_109
+action_619 (396) = happyShift action_110
+action_619 (397) = happyShift action_111
+action_619 (402) = happyShift action_112
+action_619 (403) = happyShift action_113
+action_619 (411) = happyShift action_114
+action_619 (412) = happyShift action_115
+action_619 (413) = happyShift action_116
+action_619 (168) = happyGoto action_23
+action_619 (169) = happyGoto action_24
+action_619 (170) = happyGoto action_25
+action_619 (171) = happyGoto action_26
+action_619 (172) = happyGoto action_27
+action_619 (173) = happyGoto action_28
+action_619 (176) = happyGoto action_29
+action_619 (177) = happyGoto action_30
+action_619 (178) = happyGoto action_31
+action_619 (181) = happyGoto action_32
+action_619 (182) = happyGoto action_33
+action_619 (183) = happyGoto action_34
+action_619 (190) = happyGoto action_35
+action_619 (215) = happyGoto action_36
+action_619 (220) = happyGoto action_878
+action_619 (222) = happyGoto action_528
+action_619 (228) = happyGoto action_38
+action_619 (231) = happyGoto action_39
+action_619 (232) = happyGoto action_40
+action_619 (234) = happyGoto action_41
+action_619 (244) = happyGoto action_42
+action_619 (245) = happyGoto action_43
+action_619 (246) = happyGoto action_44
+action_619 (247) = happyGoto action_45
+action_619 (248) = happyGoto action_46
+action_619 (249) = happyGoto action_47
+action_619 (257) = happyGoto action_48
+action_619 _ = happyReduce_611
+
+action_620 _ = happyReduce_607
+
+action_621 _ = happyReduce_418
+
+action_622 _ = happyReduce_415
+
+action_623 (278) = happyShift action_49
+action_623 (279) = happyShift action_50
+action_623 (280) = happyShift action_51
+action_623 (281) = happyShift action_52
+action_623 (282) = happyShift action_53
+action_623 (283) = happyShift action_54
+action_623 (289) = happyShift action_55
+action_623 (290) = happyShift action_56
+action_623 (291) = happyShift action_57
+action_623 (292) = happyShift action_58
+action_623 (293) = happyShift action_59
+action_623 (294) = happyShift action_60
+action_623 (295) = happyShift action_61
+action_623 (296) = happyShift action_62
+action_623 (297) = happyShift action_63
+action_623 (298) = happyShift action_64
+action_623 (299) = happyShift action_65
+action_623 (301) = happyShift action_66
+action_623 (307) = happyShift action_67
+action_623 (309) = happyShift action_68
+action_623 (312) = happyShift action_69
+action_623 (319) = happyShift action_70
+action_623 (324) = happyShift action_71
+action_623 (325) = happyShift action_72
+action_623 (327) = happyShift action_73
+action_623 (334) = happyShift action_75
+action_623 (337) = happyShift action_76
+action_623 (338) = happyShift action_77
+action_623 (339) = happyShift action_78
+action_623 (340) = happyShift action_79
+action_623 (341) = happyShift action_80
+action_623 (342) = happyShift action_81
+action_623 (344) = happyShift action_82
+action_623 (345) = happyShift action_83
+action_623 (346) = happyShift action_84
+action_623 (348) = happyShift action_85
+action_623 (350) = happyShift action_86
+action_623 (351) = happyShift action_87
+action_623 (358) = happyShift action_88
+action_623 (359) = happyShift action_89
+action_623 (360) = happyShift action_90
+action_623 (361) = happyShift action_91
+action_623 (362) = happyShift action_92
+action_623 (363) = happyShift action_93
+action_623 (364) = happyShift action_94
+action_623 (365) = happyShift action_95
+action_623 (366) = happyShift action_96
+action_623 (367) = happyShift action_97
+action_623 (368) = happyShift action_98
+action_623 (369) = happyShift action_99
+action_623 (370) = happyShift action_100
+action_623 (371) = happyShift action_101
+action_623 (373) = happyShift action_102
+action_623 (378) = happyShift action_103
+action_623 (380) = happyShift action_104
+action_623 (381) = happyShift action_105
+action_623 (383) = happyShift action_106
+action_623 (384) = happyShift action_107
+action_623 (391) = happyShift action_159
+action_623 (392) = happyShift action_109
+action_623 (396) = happyShift action_110
+action_623 (402) = happyShift action_112
+action_623 (403) = happyShift action_113
+action_623 (411) = happyShift action_114
+action_623 (412) = happyShift action_115
+action_623 (413) = happyShift action_116
+action_623 (169) = happyGoto action_877
+action_623 (170) = happyGoto action_25
+action_623 (171) = happyGoto action_26
+action_623 (172) = happyGoto action_27
+action_623 (173) = happyGoto action_28
+action_623 (176) = happyGoto action_29
+action_623 (177) = happyGoto action_30
+action_623 (178) = happyGoto action_31
+action_623 (181) = happyGoto action_32
+action_623 (182) = happyGoto action_33
+action_623 (183) = happyGoto action_34
+action_623 (190) = happyGoto action_35
+action_623 (228) = happyGoto action_38
+action_623 (231) = happyGoto action_39
+action_623 (232) = happyGoto action_40
+action_623 (234) = happyGoto action_41
+action_623 (244) = happyGoto action_42
+action_623 (245) = happyGoto action_43
+action_623 (246) = happyGoto action_44
+action_623 (247) = happyGoto action_45
+action_623 (248) = happyGoto action_46
+action_623 (249) = happyGoto action_47
+action_623 (257) = happyGoto action_48
+action_623 _ = happyFail
+
+action_624 _ = happyReduce_603
+
+action_625 _ = happyReduce_602
+
+action_626 _ = happyReduce_606
+
+action_627 (27) = happyGoto action_175
+action_627 (28) = happyGoto action_876
+action_627 _ = happyReduce_41
+
+action_628 (278) = happyShift action_49
+action_628 (279) = happyShift action_50
+action_628 (280) = happyShift action_51
+action_628 (281) = happyShift action_52
+action_628 (282) = happyShift action_53
+action_628 (283) = happyShift action_54
+action_628 (289) = happyShift action_55
+action_628 (290) = happyShift action_56
+action_628 (291) = happyShift action_57
+action_628 (292) = happyShift action_58
+action_628 (293) = happyShift action_59
+action_628 (294) = happyShift action_60
+action_628 (295) = happyShift action_61
+action_628 (296) = happyShift action_62
+action_628 (297) = happyShift action_63
+action_628 (298) = happyShift action_64
+action_628 (299) = happyShift action_65
+action_628 (301) = happyShift action_66
+action_628 (307) = happyShift action_67
+action_628 (309) = happyShift action_68
+action_628 (312) = happyShift action_69
+action_628 (319) = happyShift action_70
+action_628 (324) = happyShift action_71
+action_628 (325) = happyShift action_72
+action_628 (327) = happyShift action_73
+action_628 (328) = happyShift action_74
+action_628 (334) = happyShift action_75
+action_628 (337) = happyShift action_76
+action_628 (338) = happyShift action_77
+action_628 (339) = happyShift action_78
+action_628 (340) = happyShift action_79
+action_628 (341) = happyShift action_80
+action_628 (342) = happyShift action_81
+action_628 (344) = happyShift action_82
+action_628 (345) = happyShift action_83
+action_628 (346) = happyShift action_84
+action_628 (348) = happyShift action_85
+action_628 (350) = happyShift action_86
+action_628 (351) = happyShift action_87
+action_628 (358) = happyShift action_88
+action_628 (359) = happyShift action_89
+action_628 (360) = happyShift action_90
+action_628 (361) = happyShift action_91
+action_628 (362) = happyShift action_92
+action_628 (363) = happyShift action_93
+action_628 (364) = happyShift action_94
+action_628 (365) = happyShift action_95
+action_628 (366) = happyShift action_96
+action_628 (367) = happyShift action_97
+action_628 (368) = happyShift action_98
+action_628 (369) = happyShift action_99
+action_628 (370) = happyShift action_100
+action_628 (371) = happyShift action_101
+action_628 (373) = happyShift action_102
+action_628 (378) = happyShift action_103
+action_628 (380) = happyShift action_104
+action_628 (381) = happyShift action_105
+action_628 (383) = happyShift action_106
+action_628 (384) = happyShift action_107
+action_628 (391) = happyShift action_712
+action_628 (392) = happyShift action_109
+action_628 (396) = happyShift action_110
+action_628 (402) = happyShift action_112
+action_628 (403) = happyShift action_113
+action_628 (411) = happyShift action_114
+action_628 (412) = happyShift action_115
+action_628 (413) = happyShift action_116
+action_628 (168) = happyGoto action_708
+action_628 (169) = happyGoto action_24
+action_628 (170) = happyGoto action_25
+action_628 (171) = happyGoto action_26
+action_628 (172) = happyGoto action_27
+action_628 (173) = happyGoto action_28
+action_628 (176) = happyGoto action_29
+action_628 (177) = happyGoto action_30
+action_628 (178) = happyGoto action_31
+action_628 (181) = happyGoto action_32
+action_628 (182) = happyGoto action_33
+action_628 (183) = happyGoto action_34
+action_628 (190) = happyGoto action_35
+action_628 (205) = happyGoto action_875
+action_628 (206) = happyGoto action_710
+action_628 (215) = happyGoto action_711
+action_628 (228) = happyGoto action_38
+action_628 (231) = happyGoto action_39
+action_628 (232) = happyGoto action_40
+action_628 (234) = happyGoto action_41
+action_628 (244) = happyGoto action_42
+action_628 (245) = happyGoto action_43
+action_628 (246) = happyGoto action_44
+action_628 (247) = happyGoto action_45
+action_628 (248) = happyGoto action_46
+action_628 (249) = happyGoto action_47
+action_628 (257) = happyGoto action_48
+action_628 _ = happyFail
+
+action_629 _ = happyReduce_424
+
+action_630 _ = happyReduce_489
+
+action_631 (311) = happyShift action_461
+action_631 (356) = happyShift action_874
+action_631 _ = happyFail
+
+action_632 (354) = happyShift action_873
+action_632 _ = happyFail
+
+action_633 _ = happyReduce_556
+
+action_634 (318) = happyShift action_872
+action_634 _ = happyFail
+
+action_635 _ = happyReduce_553
+
+action_636 (352) = happyShift action_870
+action_636 (353) = happyShift action_871
+action_636 _ = happyFail
+
+action_637 (316) = happyReduce_503
+action_637 (318) = happyReduce_503
+action_637 _ = happyReduce_664
+
+action_638 (316) = happyReduce_504
+action_638 (318) = happyReduce_504
+action_638 _ = happyReduce_689
+
+action_639 (316) = happyReduce_511
+action_639 (318) = happyReduce_511
+action_639 _ = happyReduce_668
+
+action_640 (316) = happyReduce_512
+action_640 (318) = happyReduce_512
+action_640 _ = happyReduce_678
+
+action_641 (316) = happyReduce_513
+action_641 (318) = happyReduce_513
+action_641 _ = happyReduce_679
+
+action_642 (316) = happyReduce_515
+action_642 (318) = happyReduce_515
+action_642 _ = happyReduce_681
+
+action_643 (316) = happyReduce_514
+action_643 (318) = happyReduce_514
+action_643 _ = happyReduce_680
+
+action_644 (316) = happyReduce_516
+action_644 (318) = happyReduce_516
+action_644 _ = happyReduce_669
+
+action_645 (316) = happyReduce_517
+action_645 (318) = happyReduce_517
+action_645 _ = happyReduce_670
+
+action_646 (316) = happyReduce_518
+action_646 (318) = happyReduce_518
+action_646 _ = happyReduce_671
+
+action_647 (316) = happyReduce_519
+action_647 (318) = happyReduce_519
+action_647 _ = happyReduce_672
+
+action_648 (316) = happyReduce_520
+action_648 (318) = happyReduce_520
+action_648 _ = happyReduce_673
+
+action_649 (316) = happyReduce_521
+action_649 (318) = happyReduce_521
+action_649 _ = happyReduce_674
+
+action_650 (316) = happyReduce_522
+action_650 (318) = happyReduce_522
+action_650 _ = happyReduce_675
+
+action_651 (316) = happyReduce_523
+action_651 (318) = happyReduce_523
+action_651 _ = happyReduce_676
+
+action_652 (316) = happyReduce_524
+action_652 (318) = happyReduce_524
+action_652 _ = happyReduce_665
+
+action_653 (316) = happyReduce_531
+action_653 (318) = happyReduce_531
+action_653 _ = happyReduce_683
+
+action_654 (316) = happyReduce_532
+action_654 (318) = happyReduce_532
+action_654 _ = happyReduce_682
+
+action_655 (316) = happyReduce_534
+action_655 (318) = happyReduce_534
+action_655 _ = happyReduce_667
+
+action_656 (316) = happyReduce_552
+action_656 (318) = happyReduce_552
+action_656 _ = happyReduce_666
+
+action_657 _ = happyReduce_501
+
+action_658 (425) = happyShift action_869
+action_658 _ = happyFail
+
+action_659 _ = happyReduce_186
+
+action_660 (320) = happyShift action_868
+action_660 _ = happyReduce_188
+
+action_661 (311) = happyShift action_867
+action_661 _ = happyReduce_190
+
+action_662 _ = happyReduce_193
+
+action_663 (278) = happyShift action_49
+action_663 (285) = happyShift action_211
+action_663 (299) = happyShift action_663
+action_663 (314) = happyShift action_214
+action_663 (327) = happyShift action_216
+action_663 (328) = happyShift action_340
+action_663 (329) = happyShift action_218
+action_663 (358) = happyShift action_88
+action_663 (359) = happyShift action_89
+action_663 (360) = happyShift action_90
+action_663 (361) = happyShift action_91
+action_663 (362) = happyShift action_92
+action_663 (363) = happyShift action_93
+action_663 (364) = happyShift action_94
+action_663 (365) = happyShift action_95
+action_663 (366) = happyShift action_96
+action_663 (367) = happyShift action_97
+action_663 (368) = happyShift action_98
+action_663 (369) = happyShift action_99
+action_663 (370) = happyShift action_100
+action_663 (371) = happyShift action_101
+action_663 (380) = happyShift action_104
+action_663 (381) = happyShift action_105
+action_663 (383) = happyShift action_106
+action_663 (402) = happyShift action_112
+action_663 (403) = happyShift action_113
+action_663 (83) = happyGoto action_866
+action_663 (84) = happyGoto action_660
+action_663 (85) = happyGoto action_661
+action_663 (229) = happyGoto action_662
+action_663 (245) = happyGoto action_43
+action_663 (246) = happyGoto action_390
+action_663 (254) = happyGoto action_760
+action_663 (255) = happyGoto action_209
+action_663 _ = happyFail
+
+action_664 (425) = happyShift action_865
+action_664 _ = happyFail
+
+action_665 (303) = happyShift action_860
+action_665 (425) = happyShift action_864
+action_665 _ = happyFail
+
+action_666 _ = happyReduce_230
+
+action_667 (292) = happyShift action_863
+action_667 _ = happyFail
+
+action_668 (311) = happyShift action_862
+action_668 _ = happyReduce_233
+
+action_669 (303) = happyShift action_860
+action_669 (425) = happyShift action_861
+action_669 _ = happyFail
+
+action_670 (303) = happyShift action_858
+action_670 (425) = happyShift action_859
+action_670 _ = happyFail
+
+action_671 _ = happyReduce_216
+
+action_672 (307) = happyShift action_674
+action_672 (93) = happyGoto action_857
+action_672 _ = happyReduce_219
+
+action_673 (278) = happyShift action_49
+action_673 (279) = happyShift action_50
+action_673 (299) = happyShift action_423
+action_673 (358) = happyShift action_88
+action_673 (359) = happyShift action_89
+action_673 (360) = happyShift action_90
+action_673 (361) = happyShift action_91
+action_673 (362) = happyShift action_92
+action_673 (363) = happyShift action_93
+action_673 (364) = happyShift action_94
+action_673 (365) = happyShift action_95
+action_673 (366) = happyShift action_96
+action_673 (367) = happyShift action_97
+action_673 (368) = happyShift action_98
+action_673 (369) = happyShift action_99
+action_673 (370) = happyShift action_100
+action_673 (371) = happyShift action_101
+action_673 (380) = happyShift action_104
+action_673 (381) = happyShift action_105
+action_673 (383) = happyShift action_106
+action_673 (402) = happyShift action_112
+action_673 (403) = happyShift action_113
+action_673 (231) = happyGoto action_856
+action_673 (244) = happyGoto action_42
+action_673 (245) = happyGoto action_43
+action_673 (246) = happyGoto action_44
+action_673 _ = happyFail
+
+action_674 (289) = happyShift action_854
+action_674 (325) = happyShift action_855
+action_674 _ = happyFail
+
+action_675 (278) = happyShift action_49
+action_675 (279) = happyShift action_50
+action_675 (299) = happyShift action_423
+action_675 (358) = happyShift action_88
+action_675 (359) = happyShift action_89
+action_675 (360) = happyShift action_90
+action_675 (361) = happyShift action_91
+action_675 (362) = happyShift action_92
+action_675 (363) = happyShift action_93
+action_675 (364) = happyShift action_94
+action_675 (365) = happyShift action_95
+action_675 (366) = happyShift action_96
+action_675 (367) = happyShift action_97
+action_675 (368) = happyShift action_98
+action_675 (369) = happyShift action_99
+action_675 (370) = happyShift action_100
+action_675 (371) = happyShift action_101
+action_675 (380) = happyShift action_104
+action_675 (381) = happyShift action_105
+action_675 (383) = happyShift action_106
+action_675 (402) = happyShift action_112
+action_675 (403) = happyShift action_113
+action_675 (231) = happyGoto action_853
+action_675 (244) = happyGoto action_42
+action_675 (245) = happyGoto action_43
+action_675 (246) = happyGoto action_44
+action_675 _ = happyFail
+
+action_676 (278) = happyShift action_49
+action_676 (280) = happyShift action_51
+action_676 (281) = happyShift action_52
+action_676 (282) = happyShift action_53
+action_676 (283) = happyShift action_54
+action_676 (289) = happyShift action_135
+action_676 (292) = happyShift action_136
+action_676 (299) = happyShift action_137
+action_676 (301) = happyShift action_138
+action_676 (307) = happyShift action_139
+action_676 (309) = happyShift action_140
+action_676 (312) = happyShift action_141
+action_676 (325) = happyShift action_142
+action_676 (328) = happyShift action_143
+action_676 (337) = happyShift action_144
+action_676 (338) = happyShift action_145
+action_676 (344) = happyShift action_146
+action_676 (346) = happyShift action_147
+action_676 (358) = happyShift action_88
+action_676 (359) = happyShift action_148
+action_676 (360) = happyShift action_149
+action_676 (361) = happyShift action_150
+action_676 (363) = happyShift action_93
+action_676 (364) = happyShift action_94
+action_676 (365) = happyShift action_95
+action_676 (366) = happyShift action_96
+action_676 (367) = happyShift action_97
+action_676 (368) = happyShift action_98
+action_676 (369) = happyShift action_99
+action_676 (370) = happyShift action_100
+action_676 (371) = happyShift action_101
+action_676 (381) = happyShift action_151
+action_676 (383) = happyShift action_106
+action_676 (402) = happyShift action_112
+action_676 (416) = happyShift action_152
+action_676 (417) = happyShift action_153
+action_676 (103) = happyGoto action_117
+action_676 (105) = happyGoto action_118
+action_676 (108) = happyGoto action_119
+action_676 (109) = happyGoto action_120
+action_676 (110) = happyGoto action_121
+action_676 (111) = happyGoto action_122
+action_676 (112) = happyGoto action_123
+action_676 (113) = happyGoto action_124
+action_676 (114) = happyGoto action_125
+action_676 (115) = happyGoto action_126
+action_676 (118) = happyGoto action_852
+action_676 (119) = happyGoto action_129
+action_676 (232) = happyGoto action_130
+action_676 (245) = happyGoto action_131
+action_676 (247) = happyGoto action_45
+action_676 (248) = happyGoto action_132
+action_676 (249) = happyGoto action_47
+action_676 (270) = happyGoto action_133
+action_676 (271) = happyGoto action_134
+action_676 _ = happyFail
+
+action_677 (278) = happyShift action_49
+action_677 (279) = happyShift action_50
+action_677 (299) = happyShift action_423
+action_677 (358) = happyShift action_88
+action_677 (359) = happyShift action_89
+action_677 (360) = happyShift action_90
+action_677 (361) = happyShift action_91
+action_677 (362) = happyShift action_92
+action_677 (363) = happyShift action_93
+action_677 (364) = happyShift action_94
+action_677 (365) = happyShift action_95
+action_677 (366) = happyShift action_96
+action_677 (367) = happyShift action_97
+action_677 (368) = happyShift action_98
+action_677 (369) = happyShift action_99
+action_677 (370) = happyShift action_100
+action_677 (371) = happyShift action_101
+action_677 (380) = happyShift action_104
+action_677 (381) = happyShift action_105
+action_677 (383) = happyShift action_106
+action_677 (402) = happyShift action_112
+action_677 (403) = happyShift action_113
+action_677 (231) = happyGoto action_851
+action_677 (244) = happyGoto action_42
+action_677 (245) = happyGoto action_43
+action_677 (246) = happyGoto action_44
+action_677 _ = happyFail
+
+action_678 (278) = happyShift action_49
+action_678 (279) = happyShift action_50
+action_678 (299) = happyShift action_423
+action_678 (358) = happyShift action_88
+action_678 (359) = happyShift action_89
+action_678 (360) = happyShift action_90
+action_678 (361) = happyShift action_91
+action_678 (362) = happyShift action_92
+action_678 (363) = happyShift action_93
+action_678 (364) = happyShift action_94
+action_678 (365) = happyShift action_95
+action_678 (366) = happyShift action_96
+action_678 (367) = happyShift action_97
+action_678 (368) = happyShift action_98
+action_678 (369) = happyShift action_99
+action_678 (370) = happyShift action_100
+action_678 (371) = happyShift action_101
+action_678 (380) = happyShift action_104
+action_678 (381) = happyShift action_105
+action_678 (383) = happyShift action_106
+action_678 (402) = happyShift action_112
+action_678 (403) = happyShift action_113
+action_678 (231) = happyGoto action_850
+action_678 (244) = happyGoto action_42
+action_678 (245) = happyGoto action_43
+action_678 (246) = happyGoto action_44
+action_678 _ = happyFail
+
+action_679 (278) = happyShift action_49
+action_679 (317) = happyShift action_849
+action_679 (358) = happyShift action_88
+action_679 (359) = happyShift action_89
+action_679 (360) = happyShift action_90
+action_679 (361) = happyShift action_91
+action_679 (362) = happyShift action_92
+action_679 (363) = happyShift action_93
+action_679 (364) = happyShift action_94
+action_679 (365) = happyShift action_95
+action_679 (366) = happyShift action_96
+action_679 (367) = happyShift action_97
+action_679 (368) = happyShift action_98
+action_679 (369) = happyShift action_99
+action_679 (370) = happyShift action_100
+action_679 (371) = happyShift action_101
+action_679 (380) = happyShift action_104
+action_679 (381) = happyShift action_105
+action_679 (383) = happyShift action_106
+action_679 (402) = happyShift action_112
+action_679 (403) = happyShift action_113
+action_679 (245) = happyGoto action_43
+action_679 (246) = happyGoto action_847
+action_679 (263) = happyGoto action_848
+action_679 _ = happyReduce_723
+
+action_680 (286) = happyShift action_186
+action_680 (288) = happyShift action_187
+action_680 (250) = happyGoto action_846
+action_680 (251) = happyGoto action_184
+action_680 _ = happyFail
+
+action_681 (318) = happyShift action_844
+action_681 (321) = happyShift action_845
+action_681 _ = happyFail
+
+action_682 (286) = happyShift action_186
+action_682 (251) = happyGoto action_759
+action_682 _ = happyFail
+
+action_683 (318) = happyShift action_843
+action_683 _ = happyFail
+
+action_684 (278) = happyShift action_49
+action_684 (280) = happyShift action_51
+action_684 (281) = happyShift action_52
+action_684 (282) = happyShift action_53
+action_684 (283) = happyShift action_54
+action_684 (289) = happyShift action_135
+action_684 (292) = happyShift action_136
+action_684 (299) = happyShift action_137
+action_684 (301) = happyShift action_138
+action_684 (307) = happyShift action_139
+action_684 (309) = happyShift action_140
+action_684 (312) = happyShift action_141
+action_684 (325) = happyShift action_142
+action_684 (328) = happyShift action_143
+action_684 (337) = happyShift action_144
+action_684 (338) = happyShift action_145
+action_684 (344) = happyShift action_146
+action_684 (346) = happyShift action_147
+action_684 (358) = happyShift action_88
+action_684 (359) = happyShift action_148
+action_684 (360) = happyShift action_149
+action_684 (361) = happyShift action_150
+action_684 (363) = happyShift action_93
+action_684 (364) = happyShift action_94
+action_684 (365) = happyShift action_95
+action_684 (366) = happyShift action_96
+action_684 (367) = happyShift action_97
+action_684 (368) = happyShift action_98
+action_684 (369) = happyShift action_99
+action_684 (370) = happyShift action_100
+action_684 (371) = happyShift action_101
+action_684 (383) = happyShift action_106
+action_684 (402) = happyShift action_112
+action_684 (416) = happyShift action_152
+action_684 (417) = happyShift action_153
+action_684 (103) = happyGoto action_117
+action_684 (105) = happyGoto action_842
+action_684 (108) = happyGoto action_193
+action_684 (109) = happyGoto action_120
+action_684 (110) = happyGoto action_121
+action_684 (111) = happyGoto action_122
+action_684 (112) = happyGoto action_123
+action_684 (113) = happyGoto action_124
+action_684 (114) = happyGoto action_125
+action_684 (115) = happyGoto action_126
+action_684 (232) = happyGoto action_130
+action_684 (245) = happyGoto action_131
+action_684 (247) = happyGoto action_45
+action_684 (248) = happyGoto action_132
+action_684 (249) = happyGoto action_47
+action_684 (270) = happyGoto action_133
+action_684 (271) = happyGoto action_134
+action_684 _ = happyFail
+
+action_685 (278) = happyShift action_49
+action_685 (282) = happyShift action_53
+action_685 (283) = happyShift action_54
+action_685 (289) = happyShift action_135
+action_685 (292) = happyShift action_136
+action_685 (299) = happyShift action_137
+action_685 (301) = happyShift action_138
+action_685 (307) = happyShift action_139
+action_685 (309) = happyShift action_140
+action_685 (312) = happyShift action_141
+action_685 (325) = happyShift action_142
+action_685 (328) = happyShift action_143
+action_685 (337) = happyShift action_144
+action_685 (338) = happyShift action_145
+action_685 (344) = happyShift action_146
+action_685 (346) = happyShift action_147
+action_685 (358) = happyShift action_88
+action_685 (359) = happyShift action_148
+action_685 (360) = happyShift action_149
+action_685 (361) = happyShift action_150
+action_685 (363) = happyShift action_93
+action_685 (364) = happyShift action_94
+action_685 (365) = happyShift action_95
+action_685 (366) = happyShift action_96
+action_685 (367) = happyShift action_97
+action_685 (368) = happyShift action_98
+action_685 (369) = happyShift action_99
+action_685 (370) = happyShift action_100
+action_685 (371) = happyShift action_101
+action_685 (383) = happyShift action_106
+action_685 (402) = happyShift action_112
+action_685 (416) = happyShift action_152
+action_685 (417) = happyShift action_153
+action_685 (102) = happyGoto action_840
+action_685 (103) = happyGoto action_841
+action_685 (108) = happyGoto action_193
+action_685 (109) = happyGoto action_120
+action_685 (110) = happyGoto action_121
+action_685 (111) = happyGoto action_122
+action_685 (112) = happyGoto action_123
+action_685 (113) = happyGoto action_124
+action_685 (114) = happyGoto action_125
+action_685 (115) = happyGoto action_126
+action_685 (245) = happyGoto action_131
+action_685 (248) = happyGoto action_132
+action_685 (249) = happyGoto action_47
+action_685 (270) = happyGoto action_133
+action_685 (271) = happyGoto action_134
+action_685 _ = happyFail
+
+action_686 (282) = happyShift action_53
+action_686 (283) = happyShift action_54
+action_686 (299) = happyShift action_839
+action_686 (115) = happyGoto action_838
+action_686 (248) = happyGoto action_132
+action_686 (249) = happyGoto action_47
+action_686 _ = happyFail
+
+action_687 (278) = happyShift action_49
+action_687 (280) = happyShift action_51
+action_687 (281) = happyShift action_52
+action_687 (282) = happyShift action_53
+action_687 (283) = happyShift action_54
+action_687 (289) = happyShift action_135
+action_687 (292) = happyShift action_136
+action_687 (299) = happyShift action_137
+action_687 (301) = happyShift action_138
+action_687 (307) = happyShift action_139
+action_687 (309) = happyShift action_140
+action_687 (312) = happyShift action_141
+action_687 (325) = happyShift action_142
+action_687 (328) = happyShift action_143
+action_687 (337) = happyShift action_144
+action_687 (338) = happyShift action_145
+action_687 (344) = happyShift action_146
+action_687 (346) = happyShift action_147
+action_687 (358) = happyShift action_88
+action_687 (359) = happyShift action_148
+action_687 (360) = happyShift action_149
+action_687 (361) = happyShift action_150
+action_687 (363) = happyShift action_93
+action_687 (364) = happyShift action_94
+action_687 (365) = happyShift action_95
+action_687 (366) = happyShift action_96
+action_687 (367) = happyShift action_97
+action_687 (368) = happyShift action_98
+action_687 (369) = happyShift action_99
+action_687 (370) = happyShift action_100
+action_687 (371) = happyShift action_101
+action_687 (381) = happyShift action_151
+action_687 (383) = happyShift action_106
+action_687 (402) = happyShift action_112
+action_687 (416) = happyShift action_152
+action_687 (417) = happyShift action_153
+action_687 (103) = happyGoto action_117
+action_687 (105) = happyGoto action_118
+action_687 (108) = happyGoto action_119
+action_687 (109) = happyGoto action_120
+action_687 (110) = happyGoto action_121
+action_687 (111) = happyGoto action_122
+action_687 (112) = happyGoto action_123
+action_687 (113) = happyGoto action_124
+action_687 (114) = happyGoto action_125
+action_687 (115) = happyGoto action_126
+action_687 (118) = happyGoto action_837
+action_687 (119) = happyGoto action_129
+action_687 (232) = happyGoto action_130
+action_687 (245) = happyGoto action_131
+action_687 (247) = happyGoto action_45
+action_687 (248) = happyGoto action_132
+action_687 (249) = happyGoto action_47
+action_687 (270) = happyGoto action_133
+action_687 (271) = happyGoto action_134
+action_687 _ = happyFail
+
+action_688 (425) = happyShift action_836
+action_688 _ = happyFail
+
+action_689 (425) = happyShift action_835
+action_689 _ = happyFail
+
+action_690 (425) = happyShift action_834
+action_690 _ = happyFail
+
+action_691 (422) = happyShift action_688
+action_691 (423) = happyShift action_689
+action_691 (424) = happyShift action_690
+action_691 (66) = happyGoto action_833
+action_691 _ = happyReduce_148
+
+action_692 (278) = happyShift action_49
+action_692 (280) = happyShift action_51
+action_692 (281) = happyShift action_52
+action_692 (282) = happyShift action_53
+action_692 (283) = happyShift action_54
+action_692 (289) = happyShift action_135
+action_692 (292) = happyShift action_136
+action_692 (299) = happyShift action_137
+action_692 (301) = happyShift action_138
+action_692 (307) = happyShift action_139
+action_692 (309) = happyShift action_140
+action_692 (312) = happyShift action_141
+action_692 (325) = happyShift action_142
+action_692 (328) = happyShift action_143
+action_692 (337) = happyShift action_144
+action_692 (338) = happyShift action_145
+action_692 (344) = happyShift action_146
+action_692 (346) = happyShift action_147
+action_692 (358) = happyShift action_88
+action_692 (359) = happyShift action_148
+action_692 (360) = happyShift action_149
+action_692 (361) = happyShift action_150
+action_692 (363) = happyShift action_93
+action_692 (364) = happyShift action_94
+action_692 (365) = happyShift action_95
+action_692 (366) = happyShift action_96
+action_692 (367) = happyShift action_97
+action_692 (368) = happyShift action_98
+action_692 (369) = happyShift action_99
+action_692 (370) = happyShift action_100
+action_692 (371) = happyShift action_101
+action_692 (381) = happyShift action_151
+action_692 (383) = happyShift action_106
+action_692 (402) = happyShift action_112
+action_692 (416) = happyShift action_152
+action_692 (417) = happyShift action_153
+action_692 (72) = happyGoto action_829
+action_692 (103) = happyGoto action_117
+action_692 (104) = happyGoto action_830
+action_692 (105) = happyGoto action_831
+action_692 (108) = happyGoto action_119
+action_692 (109) = happyGoto action_120
+action_692 (110) = happyGoto action_121
+action_692 (111) = happyGoto action_122
+action_692 (112) = happyGoto action_123
+action_692 (113) = happyGoto action_124
+action_692 (114) = happyGoto action_125
+action_692 (115) = happyGoto action_126
+action_692 (118) = happyGoto action_195
+action_692 (119) = happyGoto action_129
+action_692 (120) = happyGoto action_832
+action_692 (121) = happyGoto action_197
+action_692 (232) = happyGoto action_130
+action_692 (245) = happyGoto action_131
+action_692 (247) = happyGoto action_45
+action_692 (248) = happyGoto action_132
+action_692 (249) = happyGoto action_47
+action_692 (270) = happyGoto action_133
+action_692 (271) = happyGoto action_134
+action_692 _ = happyReduce_161
+
+action_693 (278) = happyShift action_49
+action_693 (280) = happyShift action_51
+action_693 (281) = happyShift action_52
+action_693 (282) = happyShift action_53
+action_693 (283) = happyShift action_54
+action_693 (289) = happyShift action_135
+action_693 (292) = happyShift action_136
+action_693 (299) = happyShift action_137
+action_693 (301) = happyShift action_138
+action_693 (307) = happyShift action_139
+action_693 (309) = happyShift action_140
+action_693 (312) = happyShift action_141
+action_693 (325) = happyShift action_142
+action_693 (328) = happyShift action_143
+action_693 (337) = happyShift action_144
+action_693 (338) = happyShift action_145
+action_693 (344) = happyShift action_146
+action_693 (346) = happyShift action_147
+action_693 (358) = happyShift action_88
+action_693 (359) = happyShift action_148
+action_693 (360) = happyShift action_149
+action_693 (361) = happyShift action_150
+action_693 (363) = happyShift action_93
+action_693 (364) = happyShift action_94
+action_693 (365) = happyShift action_95
+action_693 (366) = happyShift action_96
+action_693 (367) = happyShift action_97
+action_693 (368) = happyShift action_98
+action_693 (369) = happyShift action_99
+action_693 (370) = happyShift action_100
+action_693 (371) = happyShift action_101
+action_693 (381) = happyShift action_151
+action_693 (383) = happyShift action_106
+action_693 (402) = happyShift action_112
+action_693 (416) = happyShift action_152
+action_693 (417) = happyShift action_153
+action_693 (103) = happyGoto action_117
+action_693 (105) = happyGoto action_118
+action_693 (108) = happyGoto action_119
+action_693 (109) = happyGoto action_120
+action_693 (110) = happyGoto action_121
+action_693 (111) = happyGoto action_122
+action_693 (112) = happyGoto action_123
+action_693 (113) = happyGoto action_124
+action_693 (114) = happyGoto action_125
+action_693 (115) = happyGoto action_126
+action_693 (118) = happyGoto action_828
+action_693 (119) = happyGoto action_129
+action_693 (232) = happyGoto action_130
+action_693 (245) = happyGoto action_131
+action_693 (247) = happyGoto action_45
+action_693 (248) = happyGoto action_132
+action_693 (249) = happyGoto action_47
+action_693 (270) = happyGoto action_133
+action_693 (271) = happyGoto action_134
+action_693 _ = happyFail
+
+action_694 (320) = happyShift action_827
+action_694 (126) = happyGoto action_826
+action_694 _ = happyReduce_308
+
+action_695 (363) = happyShift action_817
+action_695 (364) = happyShift action_818
+action_695 (365) = happyShift action_819
+action_695 (366) = happyShift action_820
+action_695 (367) = happyShift action_821
+action_695 (368) = happyShift action_822
+action_695 (369) = happyShift action_823
+action_695 (370) = happyShift action_824
+action_695 (88) = happyGoto action_825
+action_695 _ = happyFail
+
+action_696 (363) = happyShift action_817
+action_696 (364) = happyShift action_818
+action_696 (365) = happyShift action_819
+action_696 (366) = happyShift action_820
+action_696 (367) = happyShift action_821
+action_696 (368) = happyShift action_822
+action_696 (369) = happyShift action_823
+action_696 (370) = happyShift action_824
+action_696 (88) = happyGoto action_816
+action_696 _ = happyFail
+
+action_697 (318) = happyShift action_813
+action_697 (320) = happyShift action_814
+action_697 (165) = happyGoto action_815
+action_697 (166) = happyGoto action_811
+action_697 (167) = happyGoto action_812
+action_697 _ = happyFail
+
+action_698 (318) = happyShift action_813
+action_698 (320) = happyShift action_814
+action_698 (165) = happyGoto action_810
+action_698 (166) = happyGoto action_811
+action_698 (167) = happyGoto action_812
+action_698 _ = happyFail
+
+action_699 (278) = happyShift action_49
+action_699 (279) = happyShift action_50
+action_699 (299) = happyShift action_423
+action_699 (358) = happyShift action_88
+action_699 (359) = happyShift action_89
+action_699 (360) = happyShift action_90
+action_699 (361) = happyShift action_91
+action_699 (362) = happyShift action_92
+action_699 (363) = happyShift action_93
+action_699 (364) = happyShift action_94
+action_699 (365) = happyShift action_95
+action_699 (366) = happyShift action_96
+action_699 (367) = happyShift action_97
+action_699 (368) = happyShift action_98
+action_699 (369) = happyShift action_99
+action_699 (370) = happyShift action_100
+action_699 (371) = happyShift action_101
+action_699 (380) = happyShift action_104
+action_699 (381) = happyShift action_105
+action_699 (383) = happyShift action_106
+action_699 (402) = happyShift action_112
+action_699 (403) = happyShift action_113
+action_699 (87) = happyGoto action_808
+action_699 (231) = happyGoto action_809
+action_699 (244) = happyGoto action_42
+action_699 (245) = happyGoto action_43
+action_699 (246) = happyGoto action_44
+action_699 _ = happyFail
+
+action_700 (278) = happyShift action_49
+action_700 (280) = happyShift action_51
+action_700 (281) = happyShift action_52
+action_700 (282) = happyShift action_53
+action_700 (283) = happyShift action_54
+action_700 (289) = happyShift action_135
+action_700 (292) = happyShift action_136
+action_700 (299) = happyShift action_137
+action_700 (301) = happyShift action_138
+action_700 (307) = happyShift action_139
+action_700 (309) = happyShift action_140
+action_700 (312) = happyShift action_141
+action_700 (325) = happyShift action_142
+action_700 (328) = happyShift action_143
+action_700 (337) = happyShift action_144
+action_700 (338) = happyShift action_145
+action_700 (344) = happyShift action_146
+action_700 (346) = happyShift action_147
+action_700 (358) = happyShift action_88
+action_700 (359) = happyShift action_148
+action_700 (360) = happyShift action_149
+action_700 (361) = happyShift action_150
+action_700 (363) = happyShift action_93
+action_700 (364) = happyShift action_94
+action_700 (365) = happyShift action_95
+action_700 (366) = happyShift action_96
+action_700 (367) = happyShift action_97
+action_700 (368) = happyShift action_98
+action_700 (369) = happyShift action_99
+action_700 (370) = happyShift action_100
+action_700 (371) = happyShift action_101
+action_700 (381) = happyShift action_151
+action_700 (383) = happyShift action_106
+action_700 (402) = happyShift action_112
+action_700 (416) = happyShift action_152
+action_700 (417) = happyShift action_153
+action_700 (103) = happyGoto action_117
+action_700 (105) = happyGoto action_118
+action_700 (108) = happyGoto action_119
+action_700 (109) = happyGoto action_120
+action_700 (110) = happyGoto action_121
+action_700 (111) = happyGoto action_122
+action_700 (112) = happyGoto action_123
+action_700 (113) = happyGoto action_124
+action_700 (114) = happyGoto action_125
+action_700 (115) = happyGoto action_126
+action_700 (117) = happyGoto action_807
+action_700 (118) = happyGoto action_128
+action_700 (119) = happyGoto action_129
+action_700 (232) = happyGoto action_130
+action_700 (245) = happyGoto action_131
+action_700 (247) = happyGoto action_45
+action_700 (248) = happyGoto action_132
+action_700 (249) = happyGoto action_47
+action_700 (270) = happyGoto action_133
+action_700 (271) = happyGoto action_134
+action_700 _ = happyFail
+
+action_701 (317) = happyShift action_805
+action_701 (318) = happyShift action_806
+action_701 (133) = happyGoto action_803
+action_701 (150) = happyGoto action_804
+action_701 _ = happyReduce_357
+
+action_702 (278) = happyShift action_49
+action_702 (280) = happyShift action_51
+action_702 (281) = happyShift action_52
+action_702 (282) = happyShift action_53
+action_702 (283) = happyShift action_54
+action_702 (289) = happyShift action_135
+action_702 (292) = happyShift action_136
+action_702 (299) = happyShift action_137
+action_702 (301) = happyShift action_138
+action_702 (307) = happyShift action_139
+action_702 (309) = happyShift action_140
+action_702 (312) = happyShift action_141
+action_702 (325) = happyShift action_142
+action_702 (328) = happyShift action_143
+action_702 (337) = happyShift action_144
+action_702 (338) = happyShift action_145
+action_702 (344) = happyShift action_146
+action_702 (346) = happyShift action_147
+action_702 (358) = happyShift action_88
+action_702 (359) = happyShift action_148
+action_702 (360) = happyShift action_149
+action_702 (361) = happyShift action_150
+action_702 (363) = happyShift action_93
+action_702 (364) = happyShift action_94
+action_702 (365) = happyShift action_95
+action_702 (366) = happyShift action_96
+action_702 (367) = happyShift action_97
+action_702 (368) = happyShift action_98
+action_702 (369) = happyShift action_99
+action_702 (370) = happyShift action_100
+action_702 (371) = happyShift action_101
+action_702 (381) = happyShift action_151
+action_702 (383) = happyShift action_106
+action_702 (402) = happyShift action_112
+action_702 (416) = happyShift action_152
+action_702 (417) = happyShift action_153
+action_702 (103) = happyGoto action_117
+action_702 (105) = happyGoto action_118
+action_702 (108) = happyGoto action_119
+action_702 (109) = happyGoto action_120
+action_702 (110) = happyGoto action_121
+action_702 (111) = happyGoto action_122
+action_702 (112) = happyGoto action_123
+action_702 (113) = happyGoto action_124
+action_702 (114) = happyGoto action_125
+action_702 (115) = happyGoto action_126
+action_702 (117) = happyGoto action_802
+action_702 (118) = happyGoto action_128
+action_702 (119) = happyGoto action_129
+action_702 (232) = happyGoto action_130
+action_702 (245) = happyGoto action_131
+action_702 (247) = happyGoto action_45
+action_702 (248) = happyGoto action_132
+action_702 (249) = happyGoto action_47
+action_702 (270) = happyGoto action_133
+action_702 (271) = happyGoto action_134
+action_702 _ = happyFail
+
+action_703 (278) = happyShift action_49
+action_703 (279) = happyShift action_50
+action_703 (280) = happyShift action_51
+action_703 (281) = happyShift action_52
+action_703 (282) = happyShift action_53
+action_703 (283) = happyShift action_54
+action_703 (289) = happyShift action_55
+action_703 (290) = happyShift action_56
+action_703 (291) = happyShift action_57
+action_703 (292) = happyShift action_58
+action_703 (293) = happyShift action_59
+action_703 (294) = happyShift action_60
+action_703 (295) = happyShift action_61
+action_703 (296) = happyShift action_62
+action_703 (297) = happyShift action_63
+action_703 (298) = happyShift action_64
+action_703 (299) = happyShift action_65
+action_703 (301) = happyShift action_66
+action_703 (307) = happyShift action_67
+action_703 (309) = happyShift action_68
+action_703 (312) = happyShift action_69
+action_703 (319) = happyShift action_70
+action_703 (324) = happyShift action_71
+action_703 (325) = happyShift action_72
+action_703 (327) = happyShift action_73
+action_703 (328) = happyShift action_486
+action_703 (334) = happyShift action_75
+action_703 (337) = happyShift action_76
+action_703 (338) = happyShift action_77
+action_703 (339) = happyShift action_78
+action_703 (340) = happyShift action_79
+action_703 (341) = happyShift action_80
+action_703 (342) = happyShift action_81
+action_703 (344) = happyShift action_82
+action_703 (345) = happyShift action_83
+action_703 (346) = happyShift action_84
+action_703 (348) = happyShift action_85
+action_703 (350) = happyShift action_86
+action_703 (351) = happyShift action_87
+action_703 (357) = happyShift action_487
+action_703 (358) = happyShift action_88
+action_703 (359) = happyShift action_89
+action_703 (360) = happyShift action_90
+action_703 (361) = happyShift action_91
+action_703 (362) = happyShift action_92
+action_703 (363) = happyShift action_93
+action_703 (364) = happyShift action_94
+action_703 (365) = happyShift action_95
+action_703 (366) = happyShift action_96
+action_703 (367) = happyShift action_97
+action_703 (368) = happyShift action_98
+action_703 (369) = happyShift action_99
+action_703 (370) = happyShift action_100
+action_703 (371) = happyShift action_101
+action_703 (373) = happyShift action_102
+action_703 (374) = happyShift action_488
+action_703 (375) = happyShift action_489
+action_703 (376) = happyShift action_490
+action_703 (377) = happyShift action_491
+action_703 (378) = happyShift action_103
+action_703 (380) = happyShift action_104
+action_703 (381) = happyShift action_105
+action_703 (383) = happyShift action_106
+action_703 (384) = happyShift action_107
+action_703 (387) = happyShift action_492
+action_703 (388) = happyShift action_493
+action_703 (389) = happyShift action_494
+action_703 (390) = happyShift action_495
+action_703 (391) = happyShift action_159
+action_703 (392) = happyShift action_109
+action_703 (394) = happyShift action_496
+action_703 (396) = happyShift action_110
+action_703 (399) = happyShift action_497
+action_703 (402) = happyShift action_112
+action_703 (403) = happyShift action_113
+action_703 (404) = happyShift action_498
+action_703 (405) = happyShift action_499
+action_703 (406) = happyShift action_500
+action_703 (407) = happyShift action_501
+action_703 (408) = happyShift action_502
+action_703 (410) = happyShift action_503
+action_703 (411) = happyShift action_114
+action_703 (412) = happyShift action_115
+action_703 (413) = happyShift action_116
+action_703 (414) = happyShift action_504
+action_703 (415) = happyShift action_505
+action_703 (420) = happyShift action_506
+action_703 (421) = happyShift action_507
+action_703 (49) = happyGoto action_469
+action_703 (51) = happyGoto action_470
+action_703 (58) = happyGoto action_801
+action_703 (63) = happyGoto action_474
+action_703 (71) = happyGoto action_475
+action_703 (75) = happyGoto action_476
+action_703 (77) = happyGoto action_477
+action_703 (78) = happyGoto action_478
+action_703 (79) = happyGoto action_479
+action_703 (162) = happyGoto action_480
+action_703 (170) = happyGoto action_481
+action_703 (171) = happyGoto action_26
+action_703 (172) = happyGoto action_482
+action_703 (173) = happyGoto action_28
+action_703 (176) = happyGoto action_29
+action_703 (177) = happyGoto action_30
+action_703 (178) = happyGoto action_31
+action_703 (181) = happyGoto action_32
+action_703 (182) = happyGoto action_33
+action_703 (183) = happyGoto action_34
+action_703 (190) = happyGoto action_35
+action_703 (228) = happyGoto action_38
+action_703 (231) = happyGoto action_39
+action_703 (232) = happyGoto action_40
+action_703 (234) = happyGoto action_41
+action_703 (244) = happyGoto action_42
+action_703 (245) = happyGoto action_43
+action_703 (246) = happyGoto action_44
+action_703 (247) = happyGoto action_45
+action_703 (248) = happyGoto action_46
+action_703 (249) = happyGoto action_47
+action_703 (257) = happyGoto action_48
+action_703 (260) = happyGoto action_483
+action_703 (261) = happyGoto action_484
+action_703 (265) = happyGoto action_485
+action_703 _ = happyReduce_40
+
+action_704 (303) = happyShift action_566
+action_704 _ = happyReduce_105
+
+action_705 (343) = happyShift action_800
+action_705 _ = happyFail
+
+action_706 (285) = happyShift action_211
+action_706 (286) = happyShift action_186
+action_706 (313) = happyShift action_799
+action_706 (314) = happyShift action_214
+action_706 (327) = happyShift action_216
+action_706 (328) = happyShift action_340
+action_706 (329) = happyShift action_218
+action_706 (52) = happyGoto action_793
+action_706 (235) = happyGoto action_794
+action_706 (238) = happyGoto action_795
+action_706 (240) = happyGoto action_796
+action_706 (251) = happyGoto action_797
+action_706 (254) = happyGoto action_798
+action_706 (255) = happyGoto action_209
+action_706 _ = happyFail
+
+action_707 _ = happyReduce_94
+
+action_708 _ = happyReduce_581
+
+action_709 (311) = happyShift action_791
+action_709 (335) = happyShift action_792
+action_709 _ = happyFail
+
+action_710 _ = happyReduce_579
+
+action_711 (321) = happyShift action_790
+action_711 _ = happyFail
+
+action_712 (304) = happyShift action_173
+action_712 (76) = happyGoto action_170
+action_712 (86) = happyGoto action_789
+action_712 (258) = happyGoto action_172
+action_712 _ = happyReduce_714
+
+action_713 _ = happyReduce_488
+
+action_714 _ = happyReduce_414
+
+action_715 (278) = happyShift action_49
+action_715 (279) = happyShift action_50
+action_715 (280) = happyShift action_51
+action_715 (281) = happyShift action_52
+action_715 (282) = happyShift action_53
+action_715 (283) = happyShift action_54
+action_715 (289) = happyShift action_55
+action_715 (290) = happyShift action_56
+action_715 (291) = happyShift action_57
+action_715 (292) = happyShift action_58
+action_715 (293) = happyShift action_59
+action_715 (294) = happyShift action_60
+action_715 (295) = happyShift action_61
+action_715 (296) = happyShift action_62
+action_715 (297) = happyShift action_63
+action_715 (298) = happyShift action_64
+action_715 (299) = happyShift action_65
+action_715 (301) = happyShift action_66
+action_715 (303) = happyShift action_566
+action_715 (307) = happyShift action_67
+action_715 (309) = happyShift action_68
+action_715 (312) = happyShift action_69
+action_715 (319) = happyShift action_70
+action_715 (324) = happyShift action_71
+action_715 (325) = happyShift action_72
+action_715 (327) = happyShift action_73
+action_715 (328) = happyShift action_74
+action_715 (334) = happyShift action_75
+action_715 (337) = happyShift action_76
+action_715 (338) = happyShift action_77
+action_715 (339) = happyShift action_78
+action_715 (340) = happyShift action_79
+action_715 (341) = happyShift action_80
+action_715 (342) = happyShift action_81
+action_715 (344) = happyShift action_82
+action_715 (345) = happyShift action_83
+action_715 (346) = happyShift action_84
+action_715 (348) = happyShift action_85
+action_715 (350) = happyShift action_86
+action_715 (351) = happyShift action_87
+action_715 (358) = happyShift action_88
+action_715 (359) = happyShift action_89
+action_715 (360) = happyShift action_90
+action_715 (361) = happyShift action_91
+action_715 (362) = happyShift action_92
+action_715 (363) = happyShift action_93
+action_715 (364) = happyShift action_94
+action_715 (365) = happyShift action_95
+action_715 (366) = happyShift action_96
+action_715 (367) = happyShift action_97
+action_715 (368) = happyShift action_98
+action_715 (369) = happyShift action_99
+action_715 (370) = happyShift action_100
+action_715 (371) = happyShift action_101
+action_715 (373) = happyShift action_102
+action_715 (378) = happyShift action_103
+action_715 (380) = happyShift action_104
+action_715 (381) = happyShift action_105
+action_715 (383) = happyShift action_106
+action_715 (384) = happyShift action_107
+action_715 (391) = happyShift action_159
+action_715 (392) = happyShift action_109
+action_715 (396) = happyShift action_110
+action_715 (402) = happyShift action_112
+action_715 (403) = happyShift action_113
+action_715 (411) = happyShift action_114
+action_715 (412) = happyShift action_115
+action_715 (413) = happyShift action_116
+action_715 (169) = happyGoto action_157
+action_715 (170) = happyGoto action_25
+action_715 (171) = happyGoto action_26
+action_715 (172) = happyGoto action_27
+action_715 (173) = happyGoto action_28
+action_715 (176) = happyGoto action_29
+action_715 (177) = happyGoto action_30
+action_715 (178) = happyGoto action_31
+action_715 (181) = happyGoto action_32
+action_715 (182) = happyGoto action_33
+action_715 (183) = happyGoto action_34
+action_715 (190) = happyGoto action_35
+action_715 (210) = happyGoto action_786
+action_715 (211) = happyGoto action_787
+action_715 (215) = happyGoto action_788
+action_715 (228) = happyGoto action_38
+action_715 (231) = happyGoto action_39
+action_715 (232) = happyGoto action_40
+action_715 (234) = happyGoto action_41
+action_715 (244) = happyGoto action_42
+action_715 (245) = happyGoto action_43
+action_715 (246) = happyGoto action_44
+action_715 (247) = happyGoto action_45
+action_715 (248) = happyGoto action_46
+action_715 (249) = happyGoto action_47
+action_715 (257) = happyGoto action_48
+action_715 _ = happyFail
+
+action_716 (305) = happyShift action_785
+action_716 _ = happyFail
+
+action_717 (1) = happyShift action_400
+action_717 (306) = happyShift action_401
+action_717 (259) = happyGoto action_784
+action_717 _ = happyFail
+
+action_718 (320) = happyShift action_779
+action_718 _ = happyReduce_588
+
+action_719 (311) = happyShift action_783
+action_719 _ = happyReduce_568
+
+action_720 _ = happyReduce_570
+
+action_721 _ = happyReduce_571
+
+action_722 _ = happyReduce_572
+
+action_723 (278) = happyShift action_49
+action_723 (279) = happyShift action_50
+action_723 (280) = happyShift action_51
+action_723 (281) = happyShift action_52
+action_723 (282) = happyShift action_53
+action_723 (283) = happyShift action_54
+action_723 (289) = happyShift action_55
+action_723 (290) = happyShift action_56
+action_723 (291) = happyShift action_57
+action_723 (292) = happyShift action_58
+action_723 (293) = happyShift action_59
+action_723 (294) = happyShift action_60
+action_723 (295) = happyShift action_61
+action_723 (296) = happyShift action_62
+action_723 (297) = happyShift action_63
+action_723 (298) = happyShift action_64
+action_723 (299) = happyShift action_65
+action_723 (301) = happyShift action_66
+action_723 (307) = happyShift action_67
+action_723 (309) = happyShift action_68
+action_723 (312) = happyShift action_69
+action_723 (319) = happyShift action_70
+action_723 (324) = happyShift action_71
+action_723 (325) = happyShift action_72
+action_723 (327) = happyShift action_73
+action_723 (334) = happyShift action_75
+action_723 (337) = happyShift action_76
+action_723 (338) = happyShift action_77
+action_723 (339) = happyShift action_78
+action_723 (340) = happyShift action_79
+action_723 (341) = happyShift action_80
+action_723 (342) = happyShift action_81
+action_723 (344) = happyShift action_82
+action_723 (345) = happyShift action_83
+action_723 (346) = happyShift action_84
+action_723 (348) = happyShift action_85
+action_723 (350) = happyShift action_86
+action_723 (351) = happyShift action_87
+action_723 (358) = happyShift action_88
+action_723 (359) = happyShift action_89
+action_723 (360) = happyShift action_90
+action_723 (361) = happyShift action_91
+action_723 (362) = happyShift action_92
+action_723 (363) = happyShift action_93
+action_723 (364) = happyShift action_94
+action_723 (365) = happyShift action_95
+action_723 (366) = happyShift action_96
+action_723 (367) = happyShift action_97
+action_723 (368) = happyShift action_98
+action_723 (369) = happyShift action_99
+action_723 (370) = happyShift action_100
+action_723 (371) = happyShift action_101
+action_723 (373) = happyShift action_102
+action_723 (378) = happyShift action_103
+action_723 (380) = happyShift action_104
+action_723 (381) = happyShift action_105
+action_723 (382) = happyShift action_782
+action_723 (383) = happyShift action_106
+action_723 (384) = happyShift action_107
+action_723 (391) = happyShift action_159
+action_723 (392) = happyShift action_109
+action_723 (396) = happyShift action_110
+action_723 (402) = happyShift action_112
+action_723 (403) = happyShift action_113
+action_723 (411) = happyShift action_114
+action_723 (412) = happyShift action_115
+action_723 (413) = happyShift action_116
+action_723 (168) = happyGoto action_781
+action_723 (169) = happyGoto action_161
+action_723 (170) = happyGoto action_25
+action_723 (171) = happyGoto action_26
+action_723 (172) = happyGoto action_27
+action_723 (173) = happyGoto action_28
+action_723 (176) = happyGoto action_29
+action_723 (177) = happyGoto action_30
+action_723 (178) = happyGoto action_31
+action_723 (181) = happyGoto action_32
+action_723 (182) = happyGoto action_33
+action_723 (183) = happyGoto action_34
+action_723 (190) = happyGoto action_35
+action_723 (228) = happyGoto action_38
+action_723 (231) = happyGoto action_39
+action_723 (232) = happyGoto action_40
+action_723 (234) = happyGoto action_41
+action_723 (244) = happyGoto action_42
+action_723 (245) = happyGoto action_43
+action_723 (246) = happyGoto action_44
+action_723 (247) = happyGoto action_45
+action_723 (248) = happyGoto action_46
+action_723 (249) = happyGoto action_47
+action_723 (257) = happyGoto action_48
+action_723 _ = happyFail
+
+action_724 _ = happyReduce_586
+
+action_725 (315) = happyShift action_780
+action_725 (322) = happyShift action_439
+action_725 _ = happyReduce_479
+
+action_726 _ = happyReduce_566
+
+action_727 _ = happyReduce_649
+
+action_728 (320) = happyShift action_779
+action_728 _ = happyReduce_564
+
+action_729 _ = happyReduce_562
+
+action_730 (315) = happyShift action_778
+action_730 (322) = happyShift action_439
+action_730 _ = happyReduce_479
+
+action_731 _ = happyReduce_565
+
+action_732 _ = happyReduce_458
+
+action_733 _ = happyReduce_457
+
+action_734 (302) = happyShift action_777
+action_734 (311) = happyShift action_202
+action_734 (184) = happyGoto action_440
+action_734 (187) = happyGoto action_776
+action_734 _ = happyFail
+
+action_735 _ = happyReduce_487
+
+action_736 _ = happyReduce_481
+
+action_737 (320) = happyShift action_438
+action_737 _ = happyReduce_491
+
+action_738 _ = happyReduce_490
+
+action_739 _ = happyReduce_454
+
+action_740 _ = happyReduce_453
+
+action_741 (300) = happyShift action_775
+action_741 (311) = happyShift action_202
+action_741 (184) = happyGoto action_432
+action_741 (186) = happyGoto action_774
+action_741 _ = happyFail
+
+action_742 _ = happyReduce_484
+
+action_743 (278) = happyShift action_49
+action_743 (279) = happyShift action_50
+action_743 (280) = happyShift action_51
+action_743 (281) = happyShift action_52
+action_743 (282) = happyShift action_53
+action_743 (283) = happyShift action_54
+action_743 (289) = happyShift action_55
+action_743 (290) = happyShift action_56
+action_743 (291) = happyShift action_57
+action_743 (292) = happyShift action_58
+action_743 (293) = happyShift action_59
+action_743 (294) = happyShift action_60
+action_743 (295) = happyShift action_61
+action_743 (296) = happyShift action_62
+action_743 (297) = happyShift action_63
+action_743 (298) = happyShift action_64
+action_743 (299) = happyShift action_65
+action_743 (301) = happyShift action_66
+action_743 (307) = happyShift action_67
+action_743 (309) = happyShift action_68
+action_743 (312) = happyShift action_69
+action_743 (319) = happyShift action_70
+action_743 (324) = happyShift action_71
+action_743 (325) = happyShift action_72
+action_743 (327) = happyShift action_73
+action_743 (334) = happyShift action_75
+action_743 (337) = happyShift action_76
+action_743 (338) = happyShift action_77
+action_743 (339) = happyShift action_78
+action_743 (340) = happyShift action_79
+action_743 (341) = happyShift action_80
+action_743 (342) = happyShift action_81
+action_743 (344) = happyShift action_82
+action_743 (345) = happyShift action_83
+action_743 (346) = happyShift action_84
+action_743 (348) = happyShift action_85
+action_743 (350) = happyShift action_86
+action_743 (351) = happyShift action_87
+action_743 (358) = happyShift action_88
+action_743 (359) = happyShift action_89
+action_743 (360) = happyShift action_90
+action_743 (361) = happyShift action_91
+action_743 (362) = happyShift action_92
+action_743 (363) = happyShift action_93
+action_743 (364) = happyShift action_94
+action_743 (365) = happyShift action_95
+action_743 (366) = happyShift action_96
+action_743 (367) = happyShift action_97
+action_743 (368) = happyShift action_98
+action_743 (369) = happyShift action_99
+action_743 (370) = happyShift action_100
+action_743 (371) = happyShift action_101
+action_743 (373) = happyShift action_102
+action_743 (378) = happyShift action_103
+action_743 (380) = happyShift action_104
+action_743 (381) = happyShift action_105
+action_743 (383) = happyShift action_106
+action_743 (384) = happyShift action_107
+action_743 (391) = happyShift action_159
+action_743 (392) = happyShift action_109
+action_743 (396) = happyShift action_110
+action_743 (402) = happyShift action_112
+action_743 (403) = happyShift action_113
+action_743 (411) = happyShift action_114
+action_743 (412) = happyShift action_115
+action_743 (413) = happyShift action_116
+action_743 (169) = happyGoto action_773
+action_743 (170) = happyGoto action_25
+action_743 (171) = happyGoto action_26
+action_743 (172) = happyGoto action_27
+action_743 (173) = happyGoto action_28
+action_743 (176) = happyGoto action_29
+action_743 (177) = happyGoto action_30
+action_743 (178) = happyGoto action_31
+action_743 (181) = happyGoto action_32
+action_743 (182) = happyGoto action_33
+action_743 (183) = happyGoto action_34
+action_743 (190) = happyGoto action_35
+action_743 (228) = happyGoto action_38
+action_743 (231) = happyGoto action_39
+action_743 (232) = happyGoto action_40
+action_743 (234) = happyGoto action_41
+action_743 (244) = happyGoto action_42
+action_743 (245) = happyGoto action_43
+action_743 (246) = happyGoto action_44
+action_743 (247) = happyGoto action_45
+action_743 (248) = happyGoto action_46
+action_743 (249) = happyGoto action_47
+action_743 (257) = happyGoto action_48
+action_743 _ = happyFail
+
+action_744 (278) = happyShift action_49
+action_744 (279) = happyShift action_50
+action_744 (299) = happyShift action_423
+action_744 (315) = happyShift action_425
+action_744 (358) = happyShift action_88
+action_744 (359) = happyShift action_89
+action_744 (360) = happyShift action_90
+action_744 (361) = happyShift action_91
+action_744 (362) = happyShift action_92
+action_744 (363) = happyShift action_93
+action_744 (364) = happyShift action_94
+action_744 (365) = happyShift action_95
+action_744 (366) = happyShift action_96
+action_744 (367) = happyShift action_97
+action_744 (368) = happyShift action_98
+action_744 (369) = happyShift action_99
+action_744 (370) = happyShift action_100
+action_744 (371) = happyShift action_101
+action_744 (380) = happyShift action_104
+action_744 (381) = happyShift action_105
+action_744 (383) = happyShift action_106
+action_744 (402) = happyShift action_112
+action_744 (403) = happyShift action_113
+action_744 (223) = happyGoto action_772
+action_744 (224) = happyGoto action_421
+action_744 (231) = happyGoto action_422
+action_744 (244) = happyGoto action_42
+action_744 (245) = happyGoto action_43
+action_744 (246) = happyGoto action_44
+action_744 _ = happyFail
+
+action_745 _ = happyReduce_445
+
+action_746 _ = happyReduce_653
+
+action_747 _ = happyReduce_647
+
+action_748 (292) = happyShift action_771
+action_748 (40) = happyGoto action_770
+action_748 _ = happyReduce_70
+
+action_749 _ = happyReduce_67
+
+action_750 (303) = happyShift action_566
+action_750 (385) = happyShift action_22
+action_750 (35) = happyGoto action_769
+action_750 (36) = happyGoto action_564
+action_750 _ = happyFail
+
+action_751 (303) = happyShift action_566
+action_751 (385) = happyShift action_22
+action_751 (35) = happyGoto action_768
+action_751 (36) = happyGoto action_564
+action_751 _ = happyFail
+
+action_752 _ = happyReduce_20
+
+action_753 _ = happyReduce_23
+
+action_754 _ = happyReduce_26
+
+action_755 (303) = happyShift action_566
+action_755 (425) = happyShift action_767
+action_755 _ = happyFail
+
+action_756 (282) = happyShift action_53
+action_756 (249) = happyGoto action_766
+action_756 _ = happyFail
+
+action_757 (278) = happyShift action_49
+action_757 (279) = happyShift action_50
+action_757 (280) = happyShift action_51
+action_757 (281) = happyShift action_52
+action_757 (282) = happyShift action_53
+action_757 (283) = happyShift action_54
+action_757 (289) = happyShift action_55
+action_757 (290) = happyShift action_56
+action_757 (291) = happyShift action_57
+action_757 (292) = happyShift action_58
+action_757 (293) = happyShift action_59
+action_757 (294) = happyShift action_60
+action_757 (295) = happyShift action_61
+action_757 (296) = happyShift action_62
+action_757 (297) = happyShift action_63
+action_757 (298) = happyShift action_64
+action_757 (299) = happyShift action_65
+action_757 (301) = happyShift action_66
+action_757 (307) = happyShift action_67
+action_757 (309) = happyShift action_68
+action_757 (312) = happyShift action_69
+action_757 (324) = happyShift action_71
+action_757 (325) = happyShift action_72
+action_757 (334) = happyShift action_75
+action_757 (337) = happyShift action_76
+action_757 (338) = happyShift action_77
+action_757 (339) = happyShift action_78
+action_757 (340) = happyShift action_79
+action_757 (341) = happyShift action_80
+action_757 (342) = happyShift action_81
+action_757 (344) = happyShift action_82
+action_757 (345) = happyShift action_83
+action_757 (346) = happyShift action_84
+action_757 (348) = happyShift action_85
+action_757 (350) = happyShift action_86
+action_757 (351) = happyShift action_87
+action_757 (358) = happyShift action_88
+action_757 (359) = happyShift action_89
+action_757 (360) = happyShift action_90
+action_757 (361) = happyShift action_91
+action_757 (362) = happyShift action_92
+action_757 (363) = happyShift action_93
+action_757 (364) = happyShift action_94
+action_757 (365) = happyShift action_95
+action_757 (366) = happyShift action_96
+action_757 (367) = happyShift action_97
+action_757 (368) = happyShift action_98
+action_757 (369) = happyShift action_99
+action_757 (370) = happyShift action_100
+action_757 (371) = happyShift action_101
+action_757 (380) = happyShift action_104
+action_757 (381) = happyShift action_105
+action_757 (383) = happyShift action_106
+action_757 (402) = happyShift action_112
+action_757 (403) = happyShift action_113
+action_757 (181) = happyGoto action_765
+action_757 (182) = happyGoto action_33
+action_757 (183) = happyGoto action_34
+action_757 (190) = happyGoto action_35
+action_757 (228) = happyGoto action_38
+action_757 (231) = happyGoto action_39
+action_757 (232) = happyGoto action_40
+action_757 (234) = happyGoto action_41
+action_757 (244) = happyGoto action_42
+action_757 (245) = happyGoto action_43
+action_757 (246) = happyGoto action_44
+action_757 (247) = happyGoto action_45
+action_757 (248) = happyGoto action_46
+action_757 (249) = happyGoto action_47
+action_757 (257) = happyGoto action_48
+action_757 _ = happyFail
+
+action_758 _ = happyReduce_238
+
+action_759 (300) = happyShift action_764
+action_759 _ = happyFail
+
+action_760 (300) = happyShift action_763
+action_760 _ = happyFail
+
+action_761 _ = happyReduce_24
+
+action_762 _ = happyReduce_239
+
+action_763 _ = happyReduce_634
+
+action_764 _ = happyReduce_641
+
+action_765 _ = happyReduce_237
+
+action_766 _ = happyReduce_25
+
+action_767 _ = happyReduce_22
+
+action_768 (27) = happyGoto action_1020
+action_768 (28) = happyGoto action_1022
+action_768 _ = happyReduce_41
+
+action_769 (27) = happyGoto action_1020
+action_769 (28) = happyGoto action_1021
+action_769 _ = happyReduce_41
+
+action_770 (282) = happyShift action_403
+action_770 (283) = happyShift action_404
+action_770 (267) = happyGoto action_1019
+action_770 _ = happyFail
+
+action_771 _ = happyReduce_69
+
+action_772 _ = happyReduce_618
+
+action_773 _ = happyReduce_621
+
+action_774 _ = happyReduce_482
+
+action_775 _ = happyReduce_483
+
+action_776 _ = happyReduce_485
+
+action_777 _ = happyReduce_486
+
+action_778 (278) = happyShift action_49
+action_778 (279) = happyShift action_50
+action_778 (280) = happyShift action_51
+action_778 (281) = happyShift action_52
+action_778 (282) = happyShift action_53
+action_778 (283) = happyShift action_54
+action_778 (289) = happyShift action_55
+action_778 (290) = happyShift action_56
+action_778 (291) = happyShift action_57
+action_778 (292) = happyShift action_58
+action_778 (293) = happyShift action_59
+action_778 (294) = happyShift action_60
+action_778 (295) = happyShift action_61
+action_778 (296) = happyShift action_62
+action_778 (297) = happyShift action_63
+action_778 (298) = happyShift action_64
+action_778 (299) = happyShift action_65
+action_778 (301) = happyShift action_66
+action_778 (307) = happyShift action_67
+action_778 (309) = happyShift action_68
+action_778 (312) = happyShift action_69
+action_778 (319) = happyShift action_70
+action_778 (324) = happyShift action_71
+action_778 (325) = happyShift action_72
+action_778 (327) = happyShift action_73
+action_778 (334) = happyShift action_75
+action_778 (337) = happyShift action_76
+action_778 (338) = happyShift action_77
+action_778 (339) = happyShift action_78
+action_778 (340) = happyShift action_79
+action_778 (341) = happyShift action_80
+action_778 (342) = happyShift action_81
+action_778 (344) = happyShift action_82
+action_778 (345) = happyShift action_83
+action_778 (346) = happyShift action_84
+action_778 (348) = happyShift action_85
+action_778 (350) = happyShift action_86
+action_778 (351) = happyShift action_87
+action_778 (358) = happyShift action_88
+action_778 (359) = happyShift action_89
+action_778 (360) = happyShift action_90
+action_778 (361) = happyShift action_91
+action_778 (362) = happyShift action_92
+action_778 (363) = happyShift action_93
+action_778 (364) = happyShift action_94
+action_778 (365) = happyShift action_95
+action_778 (366) = happyShift action_96
+action_778 (367) = happyShift action_97
+action_778 (368) = happyShift action_98
+action_778 (369) = happyShift action_99
+action_778 (370) = happyShift action_100
+action_778 (371) = happyShift action_101
+action_778 (373) = happyShift action_102
+action_778 (378) = happyShift action_103
+action_778 (380) = happyShift action_104
+action_778 (381) = happyShift action_105
+action_778 (383) = happyShift action_106
+action_778 (384) = happyShift action_107
+action_778 (391) = happyShift action_159
+action_778 (392) = happyShift action_109
+action_778 (396) = happyShift action_110
+action_778 (402) = happyShift action_112
+action_778 (403) = happyShift action_113
+action_778 (411) = happyShift action_114
+action_778 (412) = happyShift action_115
+action_778 (413) = happyShift action_116
+action_778 (169) = happyGoto action_1018
+action_778 (170) = happyGoto action_25
+action_778 (171) = happyGoto action_26
+action_778 (172) = happyGoto action_27
+action_778 (173) = happyGoto action_28
+action_778 (176) = happyGoto action_29
+action_778 (177) = happyGoto action_30
+action_778 (178) = happyGoto action_31
+action_778 (181) = happyGoto action_32
+action_778 (182) = happyGoto action_33
+action_778 (183) = happyGoto action_34
+action_778 (190) = happyGoto action_35
+action_778 (228) = happyGoto action_38
+action_778 (231) = happyGoto action_39
+action_778 (232) = happyGoto action_40
+action_778 (234) = happyGoto action_41
+action_778 (244) = happyGoto action_42
+action_778 (245) = happyGoto action_43
+action_778 (246) = happyGoto action_44
+action_778 (247) = happyGoto action_45
+action_778 (248) = happyGoto action_46
+action_778 (249) = happyGoto action_47
+action_778 (257) = happyGoto action_48
+action_778 _ = happyReduce_561
+
+action_779 (278) = happyShift action_49
+action_779 (279) = happyShift action_50
+action_779 (280) = happyShift action_51
+action_779 (281) = happyShift action_52
+action_779 (282) = happyShift action_53
+action_779 (283) = happyShift action_54
+action_779 (289) = happyShift action_55
+action_779 (290) = happyShift action_56
+action_779 (291) = happyShift action_57
+action_779 (292) = happyShift action_58
+action_779 (293) = happyShift action_59
+action_779 (294) = happyShift action_60
+action_779 (295) = happyShift action_61
+action_779 (296) = happyShift action_62
+action_779 (297) = happyShift action_63
+action_779 (298) = happyShift action_64
+action_779 (299) = happyShift action_65
+action_779 (301) = happyShift action_66
+action_779 (307) = happyShift action_67
+action_779 (309) = happyShift action_68
+action_779 (312) = happyShift action_69
+action_779 (319) = happyShift action_70
+action_779 (324) = happyShift action_71
+action_779 (325) = happyShift action_72
+action_779 (327) = happyShift action_73
+action_779 (328) = happyShift action_74
+action_779 (334) = happyShift action_75
+action_779 (337) = happyShift action_76
+action_779 (338) = happyShift action_77
+action_779 (339) = happyShift action_78
+action_779 (340) = happyShift action_79
+action_779 (341) = happyShift action_80
+action_779 (342) = happyShift action_81
+action_779 (344) = happyShift action_82
+action_779 (345) = happyShift action_83
+action_779 (346) = happyShift action_84
+action_779 (348) = happyShift action_85
+action_779 (350) = happyShift action_86
+action_779 (351) = happyShift action_87
+action_779 (358) = happyShift action_88
+action_779 (359) = happyShift action_89
+action_779 (360) = happyShift action_90
+action_779 (361) = happyShift action_91
+action_779 (362) = happyShift action_92
+action_779 (363) = happyShift action_93
+action_779 (364) = happyShift action_94
+action_779 (365) = happyShift action_95
+action_779 (366) = happyShift action_96
+action_779 (367) = happyShift action_97
+action_779 (368) = happyShift action_98
+action_779 (369) = happyShift action_99
+action_779 (370) = happyShift action_100
+action_779 (371) = happyShift action_101
+action_779 (373) = happyShift action_102
+action_779 (378) = happyShift action_103
+action_779 (380) = happyShift action_104
+action_779 (381) = happyShift action_105
+action_779 (383) = happyShift action_106
+action_779 (384) = happyShift action_107
+action_779 (391) = happyShift action_712
+action_779 (392) = happyShift action_109
+action_779 (396) = happyShift action_110
+action_779 (398) = happyShift action_723
+action_779 (402) = happyShift action_112
+action_779 (403) = happyShift action_113
+action_779 (411) = happyShift action_114
+action_779 (412) = happyShift action_115
+action_779 (413) = happyShift action_116
+action_779 (168) = happyGoto action_708
+action_779 (169) = happyGoto action_24
+action_779 (170) = happyGoto action_25
+action_779 (171) = happyGoto action_26
+action_779 (172) = happyGoto action_27
+action_779 (173) = happyGoto action_28
+action_779 (176) = happyGoto action_29
+action_779 (177) = happyGoto action_30
+action_779 (178) = happyGoto action_31
+action_779 (181) = happyGoto action_32
+action_779 (182) = happyGoto action_33
+action_779 (183) = happyGoto action_34
+action_779 (190) = happyGoto action_35
+action_779 (202) = happyGoto action_1017
+action_779 (203) = happyGoto action_720
+action_779 (204) = happyGoto action_721
+action_779 (206) = happyGoto action_722
+action_779 (215) = happyGoto action_711
+action_779 (228) = happyGoto action_38
+action_779 (231) = happyGoto action_39
+action_779 (232) = happyGoto action_40
+action_779 (234) = happyGoto action_41
+action_779 (244) = happyGoto action_42
+action_779 (245) = happyGoto action_43
+action_779 (246) = happyGoto action_44
+action_779 (247) = happyGoto action_45
+action_779 (248) = happyGoto action_46
+action_779 (249) = happyGoto action_47
+action_779 (257) = happyGoto action_48
+action_779 _ = happyFail
+
+action_780 (278) = happyShift action_49
+action_780 (279) = happyShift action_50
+action_780 (280) = happyShift action_51
+action_780 (281) = happyShift action_52
+action_780 (282) = happyShift action_53
+action_780 (283) = happyShift action_54
+action_780 (289) = happyShift action_55
+action_780 (290) = happyShift action_56
+action_780 (291) = happyShift action_57
+action_780 (292) = happyShift action_58
+action_780 (293) = happyShift action_59
+action_780 (294) = happyShift action_60
+action_780 (295) = happyShift action_61
+action_780 (296) = happyShift action_62
+action_780 (297) = happyShift action_63
+action_780 (298) = happyShift action_64
+action_780 (299) = happyShift action_65
+action_780 (301) = happyShift action_66
+action_780 (307) = happyShift action_67
+action_780 (309) = happyShift action_68
+action_780 (312) = happyShift action_69
+action_780 (319) = happyShift action_70
+action_780 (324) = happyShift action_71
+action_780 (325) = happyShift action_72
+action_780 (327) = happyShift action_73
+action_780 (334) = happyShift action_75
+action_780 (337) = happyShift action_76
+action_780 (338) = happyShift action_77
+action_780 (339) = happyShift action_78
+action_780 (340) = happyShift action_79
+action_780 (341) = happyShift action_80
+action_780 (342) = happyShift action_81
+action_780 (344) = happyShift action_82
+action_780 (345) = happyShift action_83
+action_780 (346) = happyShift action_84
+action_780 (348) = happyShift action_85
+action_780 (350) = happyShift action_86
+action_780 (351) = happyShift action_87
+action_780 (358) = happyShift action_88
+action_780 (359) = happyShift action_89
+action_780 (360) = happyShift action_90
+action_780 (361) = happyShift action_91
+action_780 (362) = happyShift action_92
+action_780 (363) = happyShift action_93
+action_780 (364) = happyShift action_94
+action_780 (365) = happyShift action_95
+action_780 (366) = happyShift action_96
+action_780 (367) = happyShift action_97
+action_780 (368) = happyShift action_98
+action_780 (369) = happyShift action_99
+action_780 (370) = happyShift action_100
+action_780 (371) = happyShift action_101
+action_780 (373) = happyShift action_102
+action_780 (378) = happyShift action_103
+action_780 (380) = happyShift action_104
+action_780 (381) = happyShift action_105
+action_780 (383) = happyShift action_106
+action_780 (384) = happyShift action_107
+action_780 (391) = happyShift action_159
+action_780 (392) = happyShift action_109
+action_780 (396) = happyShift action_110
+action_780 (402) = happyShift action_112
+action_780 (403) = happyShift action_113
+action_780 (411) = happyShift action_114
+action_780 (412) = happyShift action_115
+action_780 (413) = happyShift action_116
+action_780 (169) = happyGoto action_1016
+action_780 (170) = happyGoto action_25
+action_780 (171) = happyGoto action_26
+action_780 (172) = happyGoto action_27
+action_780 (173) = happyGoto action_28
+action_780 (176) = happyGoto action_29
+action_780 (177) = happyGoto action_30
+action_780 (178) = happyGoto action_31
+action_780 (181) = happyGoto action_32
+action_780 (182) = happyGoto action_33
+action_780 (183) = happyGoto action_34
+action_780 (190) = happyGoto action_35
+action_780 (228) = happyGoto action_38
+action_780 (231) = happyGoto action_39
+action_780 (232) = happyGoto action_40
+action_780 (234) = happyGoto action_41
+action_780 (244) = happyGoto action_42
+action_780 (245) = happyGoto action_43
+action_780 (246) = happyGoto action_44
+action_780 (247) = happyGoto action_45
+action_780 (248) = happyGoto action_46
+action_780 (249) = happyGoto action_47
+action_780 (257) = happyGoto action_48
+action_780 _ = happyFail
+
+action_781 (372) = happyShift action_1015
+action_781 _ = happyReduce_573
+
+action_782 (372) = happyShift action_1013
+action_782 (400) = happyShift action_1014
+action_782 _ = happyFail
+
+action_783 (278) = happyShift action_49
+action_783 (279) = happyShift action_50
+action_783 (280) = happyShift action_51
+action_783 (281) = happyShift action_52
+action_783 (282) = happyShift action_53
+action_783 (283) = happyShift action_54
+action_783 (289) = happyShift action_55
+action_783 (290) = happyShift action_56
+action_783 (291) = happyShift action_57
+action_783 (292) = happyShift action_58
+action_783 (293) = happyShift action_59
+action_783 (294) = happyShift action_60
+action_783 (295) = happyShift action_61
+action_783 (296) = happyShift action_62
+action_783 (297) = happyShift action_63
+action_783 (298) = happyShift action_64
+action_783 (299) = happyShift action_65
+action_783 (301) = happyShift action_66
+action_783 (307) = happyShift action_67
+action_783 (309) = happyShift action_68
+action_783 (312) = happyShift action_69
+action_783 (319) = happyShift action_70
+action_783 (324) = happyShift action_71
+action_783 (325) = happyShift action_72
+action_783 (327) = happyShift action_73
+action_783 (328) = happyShift action_74
+action_783 (334) = happyShift action_75
+action_783 (337) = happyShift action_76
+action_783 (338) = happyShift action_77
+action_783 (339) = happyShift action_78
+action_783 (340) = happyShift action_79
+action_783 (341) = happyShift action_80
+action_783 (342) = happyShift action_81
+action_783 (344) = happyShift action_82
+action_783 (345) = happyShift action_83
+action_783 (346) = happyShift action_84
+action_783 (348) = happyShift action_85
+action_783 (350) = happyShift action_86
+action_783 (351) = happyShift action_87
+action_783 (358) = happyShift action_88
+action_783 (359) = happyShift action_89
+action_783 (360) = happyShift action_90
+action_783 (361) = happyShift action_91
+action_783 (362) = happyShift action_92
+action_783 (363) = happyShift action_93
+action_783 (364) = happyShift action_94
+action_783 (365) = happyShift action_95
+action_783 (366) = happyShift action_96
+action_783 (367) = happyShift action_97
+action_783 (368) = happyShift action_98
+action_783 (369) = happyShift action_99
+action_783 (370) = happyShift action_100
+action_783 (371) = happyShift action_101
+action_783 (373) = happyShift action_102
+action_783 (378) = happyShift action_103
+action_783 (380) = happyShift action_104
+action_783 (381) = happyShift action_105
+action_783 (383) = happyShift action_106
+action_783 (384) = happyShift action_107
+action_783 (391) = happyShift action_712
+action_783 (392) = happyShift action_109
+action_783 (396) = happyShift action_110
+action_783 (398) = happyShift action_723
+action_783 (402) = happyShift action_112
+action_783 (403) = happyShift action_113
+action_783 (411) = happyShift action_114
+action_783 (412) = happyShift action_115
+action_783 (413) = happyShift action_116
+action_783 (168) = happyGoto action_708
+action_783 (169) = happyGoto action_24
+action_783 (170) = happyGoto action_25
+action_783 (171) = happyGoto action_26
+action_783 (172) = happyGoto action_27
+action_783 (173) = happyGoto action_28
+action_783 (176) = happyGoto action_29
+action_783 (177) = happyGoto action_30
+action_783 (178) = happyGoto action_31
+action_783 (181) = happyGoto action_32
+action_783 (182) = happyGoto action_33
+action_783 (183) = happyGoto action_34
+action_783 (190) = happyGoto action_35
+action_783 (203) = happyGoto action_1012
+action_783 (204) = happyGoto action_721
+action_783 (206) = happyGoto action_722
+action_783 (215) = happyGoto action_711
+action_783 (228) = happyGoto action_38
+action_783 (231) = happyGoto action_39
+action_783 (232) = happyGoto action_40
+action_783 (234) = happyGoto action_41
+action_783 (244) = happyGoto action_42
+action_783 (245) = happyGoto action_43
+action_783 (246) = happyGoto action_44
+action_783 (247) = happyGoto action_45
+action_783 (248) = happyGoto action_46
+action_783 (249) = happyGoto action_47
+action_783 (257) = happyGoto action_48
+action_783 _ = happyFail
+
+action_784 _ = happyReduce_590
+
+action_785 _ = happyReduce_589
+
+action_786 (27) = happyGoto action_1010
+action_786 (28) = happyGoto action_1011
+action_786 _ = happyReduce_41
+
+action_787 _ = happyReduce_593
+
+action_788 (320) = happyShift action_628
+action_788 (322) = happyShift action_1009
+action_788 (212) = happyGoto action_1006
+action_788 (213) = happyGoto action_1007
+action_788 (214) = happyGoto action_1008
+action_788 _ = happyFail
+
+action_789 (386) = happyShift action_524
+action_789 _ = happyReduce_582
+
+action_790 (278) = happyShift action_49
+action_790 (279) = happyShift action_50
+action_790 (280) = happyShift action_51
+action_790 (281) = happyShift action_52
+action_790 (282) = happyShift action_53
+action_790 (283) = happyShift action_54
+action_790 (289) = happyShift action_55
+action_790 (290) = happyShift action_56
+action_790 (291) = happyShift action_57
+action_790 (292) = happyShift action_58
+action_790 (293) = happyShift action_59
+action_790 (294) = happyShift action_60
+action_790 (295) = happyShift action_61
+action_790 (296) = happyShift action_62
+action_790 (297) = happyShift action_63
+action_790 (298) = happyShift action_64
+action_790 (299) = happyShift action_65
+action_790 (301) = happyShift action_66
+action_790 (307) = happyShift action_67
+action_790 (309) = happyShift action_68
+action_790 (312) = happyShift action_69
+action_790 (319) = happyShift action_70
+action_790 (324) = happyShift action_71
+action_790 (325) = happyShift action_72
+action_790 (327) = happyShift action_73
+action_790 (334) = happyShift action_75
+action_790 (337) = happyShift action_76
+action_790 (338) = happyShift action_77
+action_790 (339) = happyShift action_78
+action_790 (340) = happyShift action_79
+action_790 (341) = happyShift action_80
+action_790 (342) = happyShift action_81
+action_790 (344) = happyShift action_82
+action_790 (345) = happyShift action_83
+action_790 (346) = happyShift action_84
+action_790 (348) = happyShift action_85
+action_790 (350) = happyShift action_86
+action_790 (351) = happyShift action_87
+action_790 (358) = happyShift action_88
+action_790 (359) = happyShift action_89
+action_790 (360) = happyShift action_90
+action_790 (361) = happyShift action_91
+action_790 (362) = happyShift action_92
+action_790 (363) = happyShift action_93
+action_790 (364) = happyShift action_94
+action_790 (365) = happyShift action_95
+action_790 (366) = happyShift action_96
+action_790 (367) = happyShift action_97
+action_790 (368) = happyShift action_98
+action_790 (369) = happyShift action_99
+action_790 (370) = happyShift action_100
+action_790 (371) = happyShift action_101
+action_790 (373) = happyShift action_102
+action_790 (378) = happyShift action_103
+action_790 (380) = happyShift action_104
+action_790 (381) = happyShift action_105
+action_790 (383) = happyShift action_106
+action_790 (384) = happyShift action_107
+action_790 (391) = happyShift action_159
+action_790 (392) = happyShift action_109
+action_790 (396) = happyShift action_110
+action_790 (402) = happyShift action_112
+action_790 (403) = happyShift action_113
+action_790 (411) = happyShift action_114
+action_790 (412) = happyShift action_115
+action_790 (413) = happyShift action_116
+action_790 (168) = happyGoto action_1005
+action_790 (169) = happyGoto action_161
+action_790 (170) = happyGoto action_25
+action_790 (171) = happyGoto action_26
+action_790 (172) = happyGoto action_27
+action_790 (173) = happyGoto action_28
+action_790 (176) = happyGoto action_29
+action_790 (177) = happyGoto action_30
+action_790 (178) = happyGoto action_31
+action_790 (181) = happyGoto action_32
+action_790 (182) = happyGoto action_33
+action_790 (183) = happyGoto action_34
+action_790 (190) = happyGoto action_35
+action_790 (228) = happyGoto action_38
+action_790 (231) = happyGoto action_39
+action_790 (232) = happyGoto action_40
+action_790 (234) = happyGoto action_41
+action_790 (244) = happyGoto action_42
+action_790 (245) = happyGoto action_43
+action_790 (246) = happyGoto action_44
+action_790 (247) = happyGoto action_45
+action_790 (248) = happyGoto action_46
+action_790 (249) = happyGoto action_47
+action_790 (257) = happyGoto action_48
+action_790 _ = happyFail
+
+action_791 (278) = happyShift action_49
+action_791 (279) = happyShift action_50
+action_791 (280) = happyShift action_51
+action_791 (281) = happyShift action_52
+action_791 (282) = happyShift action_53
+action_791 (283) = happyShift action_54
+action_791 (289) = happyShift action_55
+action_791 (290) = happyShift action_56
+action_791 (291) = happyShift action_57
+action_791 (292) = happyShift action_58
+action_791 (293) = happyShift action_59
+action_791 (294) = happyShift action_60
+action_791 (295) = happyShift action_61
+action_791 (296) = happyShift action_62
+action_791 (297) = happyShift action_63
+action_791 (298) = happyShift action_64
+action_791 (299) = happyShift action_65
+action_791 (301) = happyShift action_66
+action_791 (307) = happyShift action_67
+action_791 (309) = happyShift action_68
+action_791 (312) = happyShift action_69
+action_791 (319) = happyShift action_70
+action_791 (324) = happyShift action_71
+action_791 (325) = happyShift action_72
+action_791 (327) = happyShift action_73
+action_791 (328) = happyShift action_74
+action_791 (334) = happyShift action_75
+action_791 (337) = happyShift action_76
+action_791 (338) = happyShift action_77
+action_791 (339) = happyShift action_78
+action_791 (340) = happyShift action_79
+action_791 (341) = happyShift action_80
+action_791 (342) = happyShift action_81
+action_791 (344) = happyShift action_82
+action_791 (345) = happyShift action_83
+action_791 (346) = happyShift action_84
+action_791 (348) = happyShift action_85
+action_791 (350) = happyShift action_86
+action_791 (351) = happyShift action_87
+action_791 (358) = happyShift action_88
+action_791 (359) = happyShift action_89
+action_791 (360) = happyShift action_90
+action_791 (361) = happyShift action_91
+action_791 (362) = happyShift action_92
+action_791 (363) = happyShift action_93
+action_791 (364) = happyShift action_94
+action_791 (365) = happyShift action_95
+action_791 (366) = happyShift action_96
+action_791 (367) = happyShift action_97
+action_791 (368) = happyShift action_98
+action_791 (369) = happyShift action_99
+action_791 (370) = happyShift action_100
+action_791 (371) = happyShift action_101
+action_791 (373) = happyShift action_102
+action_791 (378) = happyShift action_103
+action_791 (380) = happyShift action_104
+action_791 (381) = happyShift action_105
+action_791 (383) = happyShift action_106
+action_791 (384) = happyShift action_107
+action_791 (391) = happyShift action_712
+action_791 (392) = happyShift action_109
+action_791 (396) = happyShift action_110
+action_791 (402) = happyShift action_112
+action_791 (403) = happyShift action_113
+action_791 (411) = happyShift action_114
+action_791 (412) = happyShift action_115
+action_791 (413) = happyShift action_116
+action_791 (168) = happyGoto action_708
+action_791 (169) = happyGoto action_24
+action_791 (170) = happyGoto action_25
+action_791 (171) = happyGoto action_26
+action_791 (172) = happyGoto action_27
+action_791 (173) = happyGoto action_28
+action_791 (176) = happyGoto action_29
+action_791 (177) = happyGoto action_30
+action_791 (178) = happyGoto action_31
+action_791 (181) = happyGoto action_32
+action_791 (182) = happyGoto action_33
+action_791 (183) = happyGoto action_34
+action_791 (190) = happyGoto action_35
+action_791 (206) = happyGoto action_1004
+action_791 (215) = happyGoto action_711
+action_791 (228) = happyGoto action_38
+action_791 (231) = happyGoto action_39
+action_791 (232) = happyGoto action_40
+action_791 (234) = happyGoto action_41
+action_791 (244) = happyGoto action_42
+action_791 (245) = happyGoto action_43
+action_791 (246) = happyGoto action_44
+action_791 (247) = happyGoto action_45
+action_791 (248) = happyGoto action_46
+action_791 (249) = happyGoto action_47
+action_791 (257) = happyGoto action_48
+action_791 _ = happyFail
+
+action_792 _ = happyReduce_464
+
+action_793 (311) = happyShift action_1003
+action_793 _ = happyReduce_92
+
+action_794 _ = happyReduce_654
+
+action_795 _ = happyReduce_655
+
+action_796 _ = happyReduce_99
+
+action_797 _ = happyReduce_650
+
+action_798 _ = happyReduce_644
+
+action_799 (278) = happyShift action_49
+action_799 (282) = happyShift action_53
+action_799 (358) = happyShift action_88
+action_799 (359) = happyShift action_89
+action_799 (360) = happyShift action_90
+action_799 (361) = happyShift action_91
+action_799 (362) = happyShift action_92
+action_799 (363) = happyShift action_93
+action_799 (364) = happyShift action_94
+action_799 (365) = happyShift action_95
+action_799 (366) = happyShift action_96
+action_799 (367) = happyShift action_97
+action_799 (368) = happyShift action_98
+action_799 (369) = happyShift action_99
+action_799 (370) = happyShift action_100
+action_799 (371) = happyShift action_101
+action_799 (380) = happyShift action_104
+action_799 (381) = happyShift action_105
+action_799 (383) = happyShift action_106
+action_799 (402) = happyShift action_112
+action_799 (403) = happyShift action_113
+action_799 (245) = happyGoto action_43
+action_799 (246) = happyGoto action_1001
+action_799 (249) = happyGoto action_1002
+action_799 _ = happyFail
+
+action_800 _ = happyReduce_471
+
+action_801 _ = happyReduce_106
+
+action_802 (317) = happyShift action_805
+action_802 (318) = happyShift action_806
+action_802 (133) = happyGoto action_999
+action_802 (150) = happyGoto action_1000
+action_802 _ = happyReduce_357
+
+action_803 (377) = happyShift action_998
+action_803 (141) = happyGoto action_997
+action_803 _ = happyReduce_336
+
+action_804 (401) = happyShift action_996
+action_804 (129) = happyGoto action_995
+action_804 _ = happyReduce_315
+
+action_805 (278) = happyShift action_49
+action_805 (279) = happyShift action_50
+action_805 (282) = happyShift action_53
+action_805 (283) = happyShift action_54
+action_805 (299) = happyShift action_609
+action_805 (307) = happyShift action_610
+action_805 (329) = happyShift action_611
+action_805 (358) = happyShift action_88
+action_805 (359) = happyShift action_89
+action_805 (360) = happyShift action_90
+action_805 (361) = happyShift action_91
+action_805 (362) = happyShift action_92
+action_805 (363) = happyShift action_93
+action_805 (364) = happyShift action_94
+action_805 (365) = happyShift action_95
+action_805 (366) = happyShift action_96
+action_805 (367) = happyShift action_97
+action_805 (368) = happyShift action_98
+action_805 (369) = happyShift action_99
+action_805 (370) = happyShift action_100
+action_805 (371) = happyShift action_101
+action_805 (380) = happyShift action_104
+action_805 (381) = happyShift action_105
+action_805 (383) = happyShift action_106
+action_805 (402) = happyShift action_112
+action_805 (403) = happyShift action_113
+action_805 (144) = happyGoto action_994
+action_805 (145) = happyGoto action_603
+action_805 (146) = happyGoto action_604
+action_805 (147) = happyGoto action_605
+action_805 (148) = happyGoto action_606
+action_805 (234) = happyGoto action_181
+action_805 (244) = happyGoto action_607
+action_805 (245) = happyGoto action_43
+action_805 (246) = happyGoto action_44
+action_805 (248) = happyGoto action_46
+action_805 (249) = happyGoto action_47
+action_805 (269) = happyGoto action_608
+action_805 _ = happyFail
+
+action_806 (381) = happyShift action_993
+action_806 (134) = happyGoto action_990
+action_806 (135) = happyGoto action_991
+action_806 (136) = happyGoto action_992
+action_806 _ = happyReduce_327
+
+action_807 (318) = happyReduce_393
+action_807 (320) = happyReduce_393
+action_807 _ = happyReduce_175
+
+action_808 (311) = happyShift action_988
+action_808 (317) = happyShift action_989
+action_808 _ = happyFail
+
+action_809 _ = happyReduce_198
+
+action_810 (401) = happyShift action_983
+action_810 (163) = happyGoto action_987
+action_810 _ = happyReduce_392
+
+action_811 (320) = happyShift action_814
+action_811 (167) = happyGoto action_986
+action_811 _ = happyReduce_396
+
+action_812 _ = happyReduce_398
+
+action_813 (278) = happyShift action_49
+action_813 (279) = happyShift action_50
+action_813 (280) = happyShift action_51
+action_813 (281) = happyShift action_52
+action_813 (282) = happyShift action_53
+action_813 (283) = happyShift action_54
+action_813 (289) = happyShift action_55
+action_813 (290) = happyShift action_56
+action_813 (291) = happyShift action_57
+action_813 (292) = happyShift action_58
+action_813 (293) = happyShift action_59
+action_813 (294) = happyShift action_60
+action_813 (295) = happyShift action_61
+action_813 (296) = happyShift action_62
+action_813 (297) = happyShift action_63
+action_813 (298) = happyShift action_64
+action_813 (299) = happyShift action_65
+action_813 (301) = happyShift action_66
+action_813 (307) = happyShift action_67
+action_813 (309) = happyShift action_68
+action_813 (312) = happyShift action_69
+action_813 (319) = happyShift action_70
+action_813 (324) = happyShift action_71
+action_813 (325) = happyShift action_72
+action_813 (327) = happyShift action_73
+action_813 (334) = happyShift action_75
+action_813 (337) = happyShift action_76
+action_813 (338) = happyShift action_77
+action_813 (339) = happyShift action_78
+action_813 (340) = happyShift action_79
+action_813 (341) = happyShift action_80
+action_813 (342) = happyShift action_81
+action_813 (344) = happyShift action_82
+action_813 (345) = happyShift action_83
+action_813 (346) = happyShift action_84
+action_813 (348) = happyShift action_85
+action_813 (350) = happyShift action_86
+action_813 (351) = happyShift action_87
+action_813 (358) = happyShift action_88
+action_813 (359) = happyShift action_89
+action_813 (360) = happyShift action_90
+action_813 (361) = happyShift action_91
+action_813 (362) = happyShift action_92
+action_813 (363) = happyShift action_93
+action_813 (364) = happyShift action_94
+action_813 (365) = happyShift action_95
+action_813 (366) = happyShift action_96
+action_813 (367) = happyShift action_97
+action_813 (368) = happyShift action_98
+action_813 (369) = happyShift action_99
+action_813 (370) = happyShift action_100
+action_813 (371) = happyShift action_101
+action_813 (373) = happyShift action_102
+action_813 (378) = happyShift action_103
+action_813 (380) = happyShift action_104
+action_813 (381) = happyShift action_105
+action_813 (383) = happyShift action_106
+action_813 (384) = happyShift action_107
+action_813 (391) = happyShift action_159
+action_813 (392) = happyShift action_109
+action_813 (396) = happyShift action_110
+action_813 (402) = happyShift action_112
+action_813 (403) = happyShift action_113
+action_813 (411) = happyShift action_114
+action_813 (412) = happyShift action_115
+action_813 (413) = happyShift action_116
+action_813 (168) = happyGoto action_985
+action_813 (169) = happyGoto action_161
+action_813 (170) = happyGoto action_25
+action_813 (171) = happyGoto action_26
+action_813 (172) = happyGoto action_27
+action_813 (173) = happyGoto action_28
+action_813 (176) = happyGoto action_29
+action_813 (177) = happyGoto action_30
+action_813 (178) = happyGoto action_31
+action_813 (181) = happyGoto action_32
+action_813 (182) = happyGoto action_33
+action_813 (183) = happyGoto action_34
+action_813 (190) = happyGoto action_35
+action_813 (228) = happyGoto action_38
+action_813 (231) = happyGoto action_39
+action_813 (232) = happyGoto action_40
+action_813 (234) = happyGoto action_41
+action_813 (244) = happyGoto action_42
+action_813 (245) = happyGoto action_43
+action_813 (246) = happyGoto action_44
+action_813 (247) = happyGoto action_45
+action_813 (248) = happyGoto action_46
+action_813 (249) = happyGoto action_47
+action_813 (257) = happyGoto action_48
+action_813 _ = happyFail
+
+action_814 (278) = happyShift action_49
+action_814 (279) = happyShift action_50
+action_814 (280) = happyShift action_51
+action_814 (281) = happyShift action_52
+action_814 (282) = happyShift action_53
+action_814 (283) = happyShift action_54
+action_814 (289) = happyShift action_55
+action_814 (290) = happyShift action_56
+action_814 (291) = happyShift action_57
+action_814 (292) = happyShift action_58
+action_814 (293) = happyShift action_59
+action_814 (294) = happyShift action_60
+action_814 (295) = happyShift action_61
+action_814 (296) = happyShift action_62
+action_814 (297) = happyShift action_63
+action_814 (298) = happyShift action_64
+action_814 (299) = happyShift action_65
+action_814 (301) = happyShift action_66
+action_814 (307) = happyShift action_67
+action_814 (309) = happyShift action_68
+action_814 (312) = happyShift action_69
+action_814 (319) = happyShift action_70
+action_814 (324) = happyShift action_71
+action_814 (325) = happyShift action_72
+action_814 (327) = happyShift action_73
+action_814 (328) = happyShift action_74
+action_814 (334) = happyShift action_75
+action_814 (337) = happyShift action_76
+action_814 (338) = happyShift action_77
+action_814 (339) = happyShift action_78
+action_814 (340) = happyShift action_79
+action_814 (341) = happyShift action_80
+action_814 (342) = happyShift action_81
+action_814 (344) = happyShift action_82
+action_814 (345) = happyShift action_83
+action_814 (346) = happyShift action_84
+action_814 (348) = happyShift action_85
+action_814 (350) = happyShift action_86
+action_814 (351) = happyShift action_87
+action_814 (358) = happyShift action_88
+action_814 (359) = happyShift action_89
+action_814 (360) = happyShift action_90
+action_814 (361) = happyShift action_91
+action_814 (362) = happyShift action_92
+action_814 (363) = happyShift action_93
+action_814 (364) = happyShift action_94
+action_814 (365) = happyShift action_95
+action_814 (366) = happyShift action_96
+action_814 (367) = happyShift action_97
+action_814 (368) = happyShift action_98
+action_814 (369) = happyShift action_99
+action_814 (370) = happyShift action_100
+action_814 (371) = happyShift action_101
+action_814 (373) = happyShift action_102
+action_814 (378) = happyShift action_103
+action_814 (380) = happyShift action_104
+action_814 (381) = happyShift action_105
+action_814 (383) = happyShift action_106
+action_814 (384) = happyShift action_107
+action_814 (391) = happyShift action_712
+action_814 (392) = happyShift action_109
+action_814 (396) = happyShift action_110
+action_814 (402) = happyShift action_112
+action_814 (403) = happyShift action_113
+action_814 (411) = happyShift action_114
+action_814 (412) = happyShift action_115
+action_814 (413) = happyShift action_116
+action_814 (168) = happyGoto action_708
+action_814 (169) = happyGoto action_24
+action_814 (170) = happyGoto action_25
+action_814 (171) = happyGoto action_26
+action_814 (172) = happyGoto action_27
+action_814 (173) = happyGoto action_28
+action_814 (176) = happyGoto action_29
+action_814 (177) = happyGoto action_30
+action_814 (178) = happyGoto action_31
+action_814 (181) = happyGoto action_32
+action_814 (182) = happyGoto action_33
+action_814 (183) = happyGoto action_34
+action_814 (190) = happyGoto action_35
+action_814 (205) = happyGoto action_984
+action_814 (206) = happyGoto action_710
+action_814 (215) = happyGoto action_711
+action_814 (228) = happyGoto action_38
+action_814 (231) = happyGoto action_39
+action_814 (232) = happyGoto action_40
+action_814 (234) = happyGoto action_41
+action_814 (244) = happyGoto action_42
+action_814 (245) = happyGoto action_43
+action_814 (246) = happyGoto action_44
+action_814 (247) = happyGoto action_45
+action_814 (248) = happyGoto action_46
+action_814 (249) = happyGoto action_47
+action_814 (257) = happyGoto action_48
+action_814 _ = happyFail
+
+action_815 (401) = happyShift action_983
+action_815 (163) = happyGoto action_982
+action_815 _ = happyReduce_392
+
+action_816 (359) = happyShift action_978
+action_816 (360) = happyShift action_979
+action_816 (361) = happyShift action_980
+action_816 (362) = happyShift action_981
+action_816 (89) = happyGoto action_977
+action_816 _ = happyReduce_211
+
+action_817 _ = happyReduce_199
+
+action_818 _ = happyReduce_200
+
+action_819 _ = happyReduce_201
+
+action_820 _ = happyReduce_202
+
+action_821 _ = happyReduce_203
+
+action_822 _ = happyReduce_204
+
+action_823 _ = happyReduce_205
+
+action_824 _ = happyReduce_206
+
+action_825 (278) = happyShift action_49
+action_825 (292) = happyShift action_975
+action_825 (299) = happyShift action_976
+action_825 (358) = happyShift action_88
+action_825 (363) = happyShift action_93
+action_825 (364) = happyShift action_94
+action_825 (365) = happyShift action_95
+action_825 (366) = happyShift action_96
+action_825 (367) = happyShift action_97
+action_825 (368) = happyShift action_98
+action_825 (369) = happyShift action_99
+action_825 (370) = happyShift action_100
+action_825 (371) = happyShift action_101
+action_825 (383) = happyShift action_106
+action_825 (402) = happyShift action_112
+action_825 (90) = happyGoto action_972
+action_825 (230) = happyGoto action_973
+action_825 (245) = happyGoto action_974
+action_825 _ = happyFail
+
+action_826 (401) = happyShift action_971
+action_826 (151) = happyGoto action_970
+action_826 _ = happyReduce_361
+
+action_827 (124) = happyGoto action_967
+action_827 (127) = happyGoto action_968
+action_827 (128) = happyGoto action_969
+action_827 _ = happyReduce_306
+
+action_828 (317) = happyShift action_966
+action_828 (59) = happyGoto action_965
+action_828 _ = happyReduce_129
+
+action_829 (300) = happyShift action_964
+action_829 _ = happyFail
+
+action_830 _ = happyReduce_160
+
+action_831 (311) = happyReduce_296
+action_831 _ = happyReduce_245
+
+action_832 _ = happyReduce_159
+
+action_833 (278) = happyShift action_49
+action_833 (280) = happyShift action_51
+action_833 (281) = happyShift action_52
+action_833 (282) = happyShift action_53
+action_833 (283) = happyShift action_54
+action_833 (289) = happyShift action_135
+action_833 (292) = happyShift action_136
+action_833 (299) = happyShift action_137
+action_833 (301) = happyShift action_138
+action_833 (307) = happyShift action_139
+action_833 (309) = happyShift action_140
+action_833 (312) = happyShift action_141
+action_833 (325) = happyShift action_142
+action_833 (328) = happyShift action_143
+action_833 (337) = happyShift action_144
+action_833 (338) = happyShift action_145
+action_833 (344) = happyShift action_146
+action_833 (346) = happyShift action_147
+action_833 (358) = happyShift action_88
+action_833 (359) = happyShift action_148
+action_833 (360) = happyShift action_149
+action_833 (361) = happyShift action_150
+action_833 (363) = happyShift action_93
+action_833 (364) = happyShift action_94
+action_833 (365) = happyShift action_95
+action_833 (366) = happyShift action_96
+action_833 (367) = happyShift action_97
+action_833 (368) = happyShift action_98
+action_833 (369) = happyShift action_99
+action_833 (370) = happyShift action_100
+action_833 (371) = happyShift action_101
+action_833 (381) = happyShift action_151
+action_833 (383) = happyShift action_106
+action_833 (402) = happyShift action_112
+action_833 (416) = happyShift action_152
+action_833 (417) = happyShift action_153
+action_833 (103) = happyGoto action_117
+action_833 (105) = happyGoto action_118
+action_833 (108) = happyGoto action_119
+action_833 (109) = happyGoto action_120
+action_833 (110) = happyGoto action_121
+action_833 (111) = happyGoto action_122
+action_833 (112) = happyGoto action_123
+action_833 (113) = happyGoto action_124
+action_833 (114) = happyGoto action_125
+action_833 (115) = happyGoto action_126
+action_833 (118) = happyGoto action_963
+action_833 (119) = happyGoto action_129
+action_833 (232) = happyGoto action_130
+action_833 (245) = happyGoto action_131
+action_833 (247) = happyGoto action_45
+action_833 (248) = happyGoto action_132
+action_833 (249) = happyGoto action_47
+action_833 (270) = happyGoto action_133
+action_833 (271) = happyGoto action_134
+action_833 _ = happyFail
+
+action_834 _ = happyReduce_146
+
+action_835 _ = happyReduce_145
+
+action_836 _ = happyReduce_147
+
+action_837 (401) = happyShift action_962
+action_837 (157) = happyGoto action_961
+action_837 _ = happyReduce_377
+
+action_838 (64) = happyGoto action_960
+action_838 _ = happyReduce_141
+
+action_839 (285) = happyShift action_211
+action_839 (286) = happyShift action_186
+action_839 (287) = happyShift action_212
+action_839 (288) = happyShift action_187
+action_839 (314) = happyShift action_214
+action_839 (316) = happyShift action_190
+action_839 (327) = happyShift action_216
+action_839 (328) = happyShift action_340
+action_839 (329) = happyShift action_218
+action_839 (243) = happyGoto action_206
+action_839 (250) = happyGoto action_183
+action_839 (251) = happyGoto action_184
+action_839 (252) = happyGoto action_207
+action_839 (254) = happyGoto action_208
+action_839 (255) = happyGoto action_209
+action_839 (256) = happyGoto action_210
+action_839 _ = happyFail
+
+action_840 (318) = happyShift action_959
+action_840 _ = happyFail
+
+action_841 _ = happyReduce_240
+
+action_842 (317) = happyShift action_957
+action_842 (318) = happyShift action_958
+action_842 (60) = happyGoto action_956
+action_842 _ = happyReduce_131
+
+action_843 (278) = happyShift action_49
+action_843 (280) = happyShift action_51
+action_843 (281) = happyShift action_52
+action_843 (282) = happyShift action_53
+action_843 (283) = happyShift action_54
+action_843 (289) = happyShift action_135
+action_843 (292) = happyShift action_136
+action_843 (299) = happyShift action_137
+action_843 (301) = happyShift action_138
+action_843 (307) = happyShift action_139
+action_843 (309) = happyShift action_140
+action_843 (312) = happyShift action_141
+action_843 (325) = happyShift action_142
+action_843 (328) = happyShift action_143
+action_843 (337) = happyShift action_144
+action_843 (338) = happyShift action_145
+action_843 (344) = happyShift action_146
+action_843 (346) = happyShift action_147
+action_843 (358) = happyShift action_88
+action_843 (359) = happyShift action_148
+action_843 (360) = happyShift action_149
+action_843 (361) = happyShift action_150
+action_843 (363) = happyShift action_93
+action_843 (364) = happyShift action_94
+action_843 (365) = happyShift action_95
+action_843 (366) = happyShift action_96
+action_843 (367) = happyShift action_97
+action_843 (368) = happyShift action_98
+action_843 (369) = happyShift action_99
+action_843 (370) = happyShift action_100
+action_843 (371) = happyShift action_101
+action_843 (381) = happyShift action_151
+action_843 (383) = happyShift action_106
+action_843 (402) = happyShift action_112
+action_843 (416) = happyShift action_152
+action_843 (417) = happyShift action_153
+action_843 (103) = happyGoto action_117
+action_843 (105) = happyGoto action_118
+action_843 (108) = happyGoto action_119
+action_843 (109) = happyGoto action_120
+action_843 (110) = happyGoto action_121
+action_843 (111) = happyGoto action_122
+action_843 (112) = happyGoto action_123
+action_843 (113) = happyGoto action_124
+action_843 (114) = happyGoto action_125
+action_843 (115) = happyGoto action_126
+action_843 (117) = happyGoto action_955
+action_843 (118) = happyGoto action_128
+action_843 (119) = happyGoto action_129
+action_843 (232) = happyGoto action_130
+action_843 (245) = happyGoto action_131
+action_843 (247) = happyGoto action_45
+action_843 (248) = happyGoto action_132
+action_843 (249) = happyGoto action_47
+action_843 (270) = happyGoto action_133
+action_843 (271) = happyGoto action_134
+action_843 _ = happyFail
+
+action_844 (278) = happyShift action_49
+action_844 (279) = happyShift action_50
+action_844 (280) = happyShift action_51
+action_844 (281) = happyShift action_52
+action_844 (282) = happyShift action_53
+action_844 (283) = happyShift action_54
+action_844 (289) = happyShift action_55
+action_844 (290) = happyShift action_56
+action_844 (291) = happyShift action_57
+action_844 (292) = happyShift action_58
+action_844 (293) = happyShift action_59
+action_844 (294) = happyShift action_60
+action_844 (295) = happyShift action_61
+action_844 (296) = happyShift action_62
+action_844 (297) = happyShift action_63
+action_844 (298) = happyShift action_64
+action_844 (299) = happyShift action_65
+action_844 (301) = happyShift action_66
+action_844 (307) = happyShift action_67
+action_844 (309) = happyShift action_68
+action_844 (312) = happyShift action_69
+action_844 (319) = happyShift action_70
+action_844 (324) = happyShift action_71
+action_844 (325) = happyShift action_72
+action_844 (327) = happyShift action_73
+action_844 (328) = happyShift action_74
+action_844 (334) = happyShift action_75
+action_844 (337) = happyShift action_76
+action_844 (338) = happyShift action_77
+action_844 (339) = happyShift action_78
+action_844 (340) = happyShift action_79
+action_844 (341) = happyShift action_80
+action_844 (342) = happyShift action_81
+action_844 (344) = happyShift action_82
+action_844 (345) = happyShift action_83
+action_844 (346) = happyShift action_84
+action_844 (348) = happyShift action_85
+action_844 (350) = happyShift action_86
+action_844 (351) = happyShift action_87
+action_844 (358) = happyShift action_88
+action_844 (359) = happyShift action_89
+action_844 (360) = happyShift action_90
+action_844 (361) = happyShift action_91
+action_844 (362) = happyShift action_92
+action_844 (363) = happyShift action_93
+action_844 (364) = happyShift action_94
+action_844 (365) = happyShift action_95
+action_844 (366) = happyShift action_96
+action_844 (367) = happyShift action_97
+action_844 (368) = happyShift action_98
+action_844 (369) = happyShift action_99
+action_844 (370) = happyShift action_100
+action_844 (371) = happyShift action_101
+action_844 (373) = happyShift action_102
+action_844 (378) = happyShift action_103
+action_844 (380) = happyShift action_104
+action_844 (381) = happyShift action_105
+action_844 (383) = happyShift action_106
+action_844 (384) = happyShift action_107
+action_844 (391) = happyShift action_159
+action_844 (392) = happyShift action_109
+action_844 (396) = happyShift action_110
+action_844 (402) = happyShift action_112
+action_844 (403) = happyShift action_113
+action_844 (411) = happyShift action_114
+action_844 (412) = happyShift action_115
+action_844 (413) = happyShift action_116
+action_844 (169) = happyGoto action_157
+action_844 (170) = happyGoto action_25
+action_844 (171) = happyGoto action_26
+action_844 (172) = happyGoto action_27
+action_844 (173) = happyGoto action_28
+action_844 (176) = happyGoto action_29
+action_844 (177) = happyGoto action_30
+action_844 (178) = happyGoto action_31
+action_844 (181) = happyGoto action_32
+action_844 (182) = happyGoto action_33
+action_844 (183) = happyGoto action_34
+action_844 (190) = happyGoto action_35
+action_844 (215) = happyGoto action_954
+action_844 (228) = happyGoto action_38
+action_844 (231) = happyGoto action_39
+action_844 (232) = happyGoto action_40
+action_844 (234) = happyGoto action_41
+action_844 (244) = happyGoto action_42
+action_844 (245) = happyGoto action_43
+action_844 (246) = happyGoto action_44
+action_844 (247) = happyGoto action_45
+action_844 (248) = happyGoto action_46
+action_844 (249) = happyGoto action_47
+action_844 (257) = happyGoto action_48
+action_844 _ = happyFail
+
+action_845 (278) = happyShift action_49
+action_845 (279) = happyShift action_50
+action_845 (280) = happyShift action_51
+action_845 (281) = happyShift action_52
+action_845 (282) = happyShift action_53
+action_845 (283) = happyShift action_54
+action_845 (289) = happyShift action_55
+action_845 (290) = happyShift action_56
+action_845 (291) = happyShift action_57
+action_845 (292) = happyShift action_58
+action_845 (293) = happyShift action_59
+action_845 (294) = happyShift action_60
+action_845 (295) = happyShift action_61
+action_845 (296) = happyShift action_62
+action_845 (297) = happyShift action_63
+action_845 (298) = happyShift action_64
+action_845 (299) = happyShift action_65
+action_845 (301) = happyShift action_66
+action_845 (307) = happyShift action_67
+action_845 (309) = happyShift action_68
+action_845 (312) = happyShift action_69
+action_845 (319) = happyShift action_70
+action_845 (324) = happyShift action_71
+action_845 (325) = happyShift action_72
+action_845 (327) = happyShift action_73
+action_845 (328) = happyShift action_74
+action_845 (334) = happyShift action_75
+action_845 (337) = happyShift action_76
+action_845 (338) = happyShift action_77
+action_845 (339) = happyShift action_78
+action_845 (340) = happyShift action_79
+action_845 (341) = happyShift action_80
+action_845 (342) = happyShift action_81
+action_845 (344) = happyShift action_82
+action_845 (345) = happyShift action_83
+action_845 (346) = happyShift action_84
+action_845 (348) = happyShift action_85
+action_845 (350) = happyShift action_86
+action_845 (351) = happyShift action_87
+action_845 (358) = happyShift action_88
+action_845 (359) = happyShift action_89
+action_845 (360) = happyShift action_90
+action_845 (361) = happyShift action_91
+action_845 (362) = happyShift action_92
+action_845 (363) = happyShift action_93
+action_845 (364) = happyShift action_94
+action_845 (365) = happyShift action_95
+action_845 (366) = happyShift action_96
+action_845 (367) = happyShift action_97
+action_845 (368) = happyShift action_98
+action_845 (369) = happyShift action_99
+action_845 (370) = happyShift action_100
+action_845 (371) = happyShift action_101
+action_845 (373) = happyShift action_102
+action_845 (378) = happyShift action_103
+action_845 (380) = happyShift action_104
+action_845 (381) = happyShift action_105
+action_845 (383) = happyShift action_106
+action_845 (384) = happyShift action_107
+action_845 (391) = happyShift action_159
+action_845 (392) = happyShift action_109
+action_845 (396) = happyShift action_110
+action_845 (402) = happyShift action_112
+action_845 (403) = happyShift action_113
+action_845 (411) = happyShift action_114
+action_845 (412) = happyShift action_115
+action_845 (413) = happyShift action_116
+action_845 (169) = happyGoto action_157
+action_845 (170) = happyGoto action_25
+action_845 (171) = happyGoto action_26
+action_845 (172) = happyGoto action_27
+action_845 (173) = happyGoto action_28
+action_845 (176) = happyGoto action_29
+action_845 (177) = happyGoto action_30
+action_845 (178) = happyGoto action_31
+action_845 (181) = happyGoto action_32
+action_845 (182) = happyGoto action_33
+action_845 (183) = happyGoto action_34
+action_845 (190) = happyGoto action_35
+action_845 (215) = happyGoto action_953
+action_845 (228) = happyGoto action_38
+action_845 (231) = happyGoto action_39
+action_845 (232) = happyGoto action_40
+action_845 (234) = happyGoto action_41
+action_845 (244) = happyGoto action_42
+action_845 (245) = happyGoto action_43
+action_845 (246) = happyGoto action_44
+action_845 (247) = happyGoto action_45
+action_845 (248) = happyGoto action_46
+action_845 (249) = happyGoto action_47
+action_845 (257) = happyGoto action_48
+action_845 _ = happyFail
+
+action_846 (278) = happyShift action_49
+action_846 (358) = happyShift action_88
+action_846 (359) = happyShift action_89
+action_846 (360) = happyShift action_90
+action_846 (361) = happyShift action_91
+action_846 (362) = happyShift action_92
+action_846 (363) = happyShift action_93
+action_846 (364) = happyShift action_94
+action_846 (365) = happyShift action_95
+action_846 (366) = happyShift action_96
+action_846 (367) = happyShift action_97
+action_846 (368) = happyShift action_98
+action_846 (369) = happyShift action_99
+action_846 (370) = happyShift action_100
+action_846 (371) = happyShift action_101
+action_846 (380) = happyShift action_104
+action_846 (381) = happyShift action_105
+action_846 (383) = happyShift action_106
+action_846 (402) = happyShift action_112
+action_846 (403) = happyShift action_113
+action_846 (245) = happyGoto action_43
+action_846 (246) = happyGoto action_952
+action_846 _ = happyFail
+
+action_847 (278) = happyShift action_49
+action_847 (358) = happyShift action_88
+action_847 (359) = happyShift action_89
+action_847 (360) = happyShift action_90
+action_847 (361) = happyShift action_91
+action_847 (362) = happyShift action_92
+action_847 (363) = happyShift action_93
+action_847 (364) = happyShift action_94
+action_847 (365) = happyShift action_95
+action_847 (366) = happyShift action_96
+action_847 (367) = happyShift action_97
+action_847 (368) = happyShift action_98
+action_847 (369) = happyShift action_99
+action_847 (370) = happyShift action_100
+action_847 (371) = happyShift action_101
+action_847 (380) = happyShift action_104
+action_847 (381) = happyShift action_105
+action_847 (383) = happyShift action_106
+action_847 (402) = happyShift action_112
+action_847 (403) = happyShift action_113
+action_847 (245) = happyGoto action_43
+action_847 (246) = happyGoto action_847
+action_847 (263) = happyGoto action_951
+action_847 _ = happyReduce_723
+
+action_848 _ = happyReduce_721
+
+action_849 (278) = happyShift action_49
+action_849 (280) = happyShift action_51
+action_849 (281) = happyShift action_52
+action_849 (282) = happyShift action_53
+action_849 (283) = happyShift action_54
+action_849 (289) = happyShift action_135
+action_849 (292) = happyShift action_136
+action_849 (299) = happyShift action_137
+action_849 (301) = happyShift action_138
+action_849 (307) = happyShift action_139
+action_849 (309) = happyShift action_140
+action_849 (312) = happyShift action_141
+action_849 (325) = happyShift action_142
+action_849 (328) = happyShift action_143
+action_849 (337) = happyShift action_144
+action_849 (338) = happyShift action_145
+action_849 (344) = happyShift action_146
+action_849 (346) = happyShift action_147
+action_849 (358) = happyShift action_88
+action_849 (359) = happyShift action_148
+action_849 (360) = happyShift action_149
+action_849 (361) = happyShift action_150
+action_849 (363) = happyShift action_93
+action_849 (364) = happyShift action_94
+action_849 (365) = happyShift action_95
+action_849 (366) = happyShift action_96
+action_849 (367) = happyShift action_97
+action_849 (368) = happyShift action_98
+action_849 (369) = happyShift action_99
+action_849 (370) = happyShift action_100
+action_849 (371) = happyShift action_101
+action_849 (381) = happyShift action_950
+action_849 (383) = happyShift action_106
+action_849 (402) = happyShift action_112
+action_849 (416) = happyShift action_152
+action_849 (417) = happyShift action_153
+action_849 (103) = happyGoto action_117
+action_849 (105) = happyGoto action_947
+action_849 (108) = happyGoto action_119
+action_849 (109) = happyGoto action_120
+action_849 (110) = happyGoto action_121
+action_849 (111) = happyGoto action_122
+action_849 (112) = happyGoto action_123
+action_849 (113) = happyGoto action_124
+action_849 (114) = happyGoto action_125
+action_849 (115) = happyGoto action_126
+action_849 (119) = happyGoto action_948
+action_849 (232) = happyGoto action_130
+action_849 (245) = happyGoto action_131
+action_849 (247) = happyGoto action_45
+action_849 (248) = happyGoto action_132
+action_849 (249) = happyGoto action_47
+action_849 (266) = happyGoto action_949
+action_849 (270) = happyGoto action_133
+action_849 (271) = happyGoto action_134
+action_849 _ = happyFail
+
+action_850 (425) = happyShift action_946
+action_850 _ = happyFail
+
+action_851 (425) = happyShift action_945
+action_851 _ = happyFail
+
+action_852 (425) = happyShift action_944
+action_852 _ = happyFail
+
+action_853 (317) = happyShift action_943
+action_853 _ = happyFail
+
+action_854 (308) = happyShift action_942
+action_854 _ = happyFail
+
+action_855 (289) = happyShift action_941
+action_855 _ = happyFail
+
+action_856 (317) = happyShift action_940
+action_856 _ = happyFail
+
+action_857 (381) = happyShift action_939
+action_857 (94) = happyGoto action_938
+action_857 _ = happyReduce_222
+
+action_858 (292) = happyShift action_672
+action_858 (92) = happyGoto action_937
+action_858 _ = happyReduce_215
+
+action_859 _ = happyReduce_124
+
+action_860 (278) = happyShift action_49
+action_860 (282) = happyShift action_53
+action_860 (299) = happyShift action_392
+action_860 (358) = happyShift action_88
+action_860 (359) = happyShift action_89
+action_860 (360) = happyShift action_90
+action_860 (361) = happyShift action_91
+action_860 (362) = happyShift action_92
+action_860 (363) = happyShift action_93
+action_860 (364) = happyShift action_94
+action_860 (365) = happyShift action_95
+action_860 (366) = happyShift action_96
+action_860 (367) = happyShift action_97
+action_860 (368) = happyShift action_98
+action_860 (369) = happyShift action_99
+action_860 (370) = happyShift action_100
+action_860 (371) = happyShift action_101
+action_860 (380) = happyShift action_104
+action_860 (381) = happyShift action_105
+action_860 (383) = happyShift action_106
+action_860 (402) = happyShift action_112
+action_860 (403) = happyShift action_113
+action_860 (98) = happyGoto action_936
+action_860 (99) = happyGoto action_667
+action_860 (100) = happyGoto action_668
+action_860 (229) = happyGoto action_388
+action_860 (233) = happyGoto action_389
+action_860 (245) = happyGoto action_43
+action_860 (246) = happyGoto action_390
+action_860 (249) = happyGoto action_391
+action_860 _ = happyReduce_229
+
+action_861 _ = happyReduce_125
+
+action_862 (278) = happyShift action_49
+action_862 (282) = happyShift action_53
+action_862 (299) = happyShift action_392
+action_862 (358) = happyShift action_88
+action_862 (359) = happyShift action_89
+action_862 (360) = happyShift action_90
+action_862 (361) = happyShift action_91
+action_862 (362) = happyShift action_92
+action_862 (363) = happyShift action_93
+action_862 (364) = happyShift action_94
+action_862 (365) = happyShift action_95
+action_862 (366) = happyShift action_96
+action_862 (367) = happyShift action_97
+action_862 (368) = happyShift action_98
+action_862 (369) = happyShift action_99
+action_862 (370) = happyShift action_100
+action_862 (371) = happyShift action_101
+action_862 (380) = happyShift action_104
+action_862 (381) = happyShift action_105
+action_862 (383) = happyShift action_106
+action_862 (402) = happyShift action_112
+action_862 (403) = happyShift action_113
+action_862 (99) = happyGoto action_935
+action_862 (100) = happyGoto action_668
+action_862 (229) = happyGoto action_388
+action_862 (233) = happyGoto action_389
+action_862 (245) = happyGoto action_43
+action_862 (246) = happyGoto action_390
+action_862 (249) = happyGoto action_391
+action_862 _ = happyFail
+
+action_863 _ = happyReduce_232
+
+action_864 _ = happyReduce_126
+
+action_865 _ = happyReduce_127
+
+action_866 (300) = happyShift action_934
+action_866 _ = happyFail
+
+action_867 (278) = happyShift action_49
+action_867 (299) = happyShift action_663
+action_867 (358) = happyShift action_88
+action_867 (359) = happyShift action_89
+action_867 (360) = happyShift action_90
+action_867 (361) = happyShift action_91
+action_867 (362) = happyShift action_92
+action_867 (363) = happyShift action_93
+action_867 (364) = happyShift action_94
+action_867 (365) = happyShift action_95
+action_867 (366) = happyShift action_96
+action_867 (367) = happyShift action_97
+action_867 (368) = happyShift action_98
+action_867 (369) = happyShift action_99
+action_867 (370) = happyShift action_100
+action_867 (371) = happyShift action_101
+action_867 (380) = happyShift action_104
+action_867 (381) = happyShift action_105
+action_867 (383) = happyShift action_106
+action_867 (402) = happyShift action_112
+action_867 (403) = happyShift action_113
+action_867 (84) = happyGoto action_933
+action_867 (85) = happyGoto action_661
+action_867 (229) = happyGoto action_662
+action_867 (245) = happyGoto action_43
+action_867 (246) = happyGoto action_390
+action_867 _ = happyFail
+
+action_868 (278) = happyShift action_49
+action_868 (299) = happyShift action_663
+action_868 (358) = happyShift action_88
+action_868 (359) = happyShift action_89
+action_868 (360) = happyShift action_90
+action_868 (361) = happyShift action_91
+action_868 (362) = happyShift action_92
+action_868 (363) = happyShift action_93
+action_868 (364) = happyShift action_94
+action_868 (365) = happyShift action_95
+action_868 (366) = happyShift action_96
+action_868 (367) = happyShift action_97
+action_868 (368) = happyShift action_98
+action_868 (369) = happyShift action_99
+action_868 (370) = happyShift action_100
+action_868 (371) = happyShift action_101
+action_868 (380) = happyShift action_104
+action_868 (381) = happyShift action_105
+action_868 (383) = happyShift action_106
+action_868 (402) = happyShift action_112
+action_868 (403) = happyShift action_113
+action_868 (83) = happyGoto action_932
+action_868 (84) = happyGoto action_660
+action_868 (85) = happyGoto action_661
+action_868 (229) = happyGoto action_662
+action_868 (245) = happyGoto action_43
+action_868 (246) = happyGoto action_390
+action_868 _ = happyFail
+
+action_869 _ = happyReduce_182
+
+action_870 (191) = happyGoto action_931
+action_870 _ = happyReduce_497
+
+action_871 _ = happyReduce_493
+
+action_872 (278) = happyShift action_49
+action_872 (279) = happyShift action_50
+action_872 (280) = happyShift action_51
+action_872 (281) = happyShift action_52
+action_872 (282) = happyShift action_53
+action_872 (283) = happyShift action_54
+action_872 (289) = happyShift action_55
+action_872 (290) = happyShift action_56
+action_872 (291) = happyShift action_57
+action_872 (292) = happyShift action_58
+action_872 (293) = happyShift action_59
+action_872 (294) = happyShift action_60
+action_872 (295) = happyShift action_61
+action_872 (296) = happyShift action_62
+action_872 (297) = happyShift action_63
+action_872 (298) = happyShift action_64
+action_872 (299) = happyShift action_65
+action_872 (301) = happyShift action_66
+action_872 (307) = happyShift action_67
+action_872 (309) = happyShift action_68
+action_872 (312) = happyShift action_69
+action_872 (324) = happyShift action_71
+action_872 (325) = happyShift action_72
+action_872 (334) = happyShift action_75
+action_872 (337) = happyShift action_76
+action_872 (338) = happyShift action_77
+action_872 (339) = happyShift action_78
+action_872 (340) = happyShift action_79
+action_872 (341) = happyShift action_80
+action_872 (342) = happyShift action_81
+action_872 (344) = happyShift action_82
+action_872 (345) = happyShift action_83
+action_872 (346) = happyShift action_84
+action_872 (348) = happyShift action_85
+action_872 (350) = happyShift action_86
+action_872 (351) = happyShift action_87
+action_872 (358) = happyShift action_88
+action_872 (359) = happyShift action_89
+action_872 (360) = happyShift action_90
+action_872 (361) = happyShift action_91
+action_872 (362) = happyShift action_92
+action_872 (363) = happyShift action_93
+action_872 (364) = happyShift action_94
+action_872 (365) = happyShift action_95
+action_872 (366) = happyShift action_96
+action_872 (367) = happyShift action_97
+action_872 (368) = happyShift action_98
+action_872 (369) = happyShift action_99
+action_872 (370) = happyShift action_100
+action_872 (371) = happyShift action_101
+action_872 (380) = happyShift action_104
+action_872 (381) = happyShift action_105
+action_872 (383) = happyShift action_106
+action_872 (402) = happyShift action_112
+action_872 (403) = happyShift action_113
+action_872 (181) = happyGoto action_930
+action_872 (182) = happyGoto action_33
+action_872 (183) = happyGoto action_34
+action_872 (190) = happyGoto action_35
+action_872 (228) = happyGoto action_38
+action_872 (231) = happyGoto action_39
+action_872 (232) = happyGoto action_40
+action_872 (234) = happyGoto action_41
+action_872 (244) = happyGoto action_42
+action_872 (245) = happyGoto action_43
+action_872 (246) = happyGoto action_44
+action_872 (247) = happyGoto action_45
+action_872 (248) = happyGoto action_46
+action_872 (249) = happyGoto action_47
+action_872 (257) = happyGoto action_48
+action_872 _ = happyFail
+
+action_873 _ = happyReduce_495
+
+action_874 _ = happyReduce_499
+
+action_875 (311) = happyShift action_791
+action_875 (322) = happyShift action_929
+action_875 _ = happyFail
+
+action_876 (303) = happyShift action_566
+action_876 (320) = happyShift action_628
+action_876 (214) = happyGoto action_928
+action_876 _ = happyReduce_604
+
+action_877 (303) = happyShift action_523
+action_877 (174) = happyGoto action_927
+action_877 _ = happyReduce_421
+
+action_878 _ = happyReduce_612
+
+action_879 (327) = happyShift action_926
+action_879 _ = happyFail
+
+action_880 (308) = happyShift action_925
+action_880 _ = happyFail
+
+action_881 (311) = happyShift action_924
+action_881 _ = happyFail
+
+action_882 (300) = happyShift action_923
+action_882 _ = happyReduce_342
+
+action_883 _ = happyReduce_352
+
+action_884 _ = happyReduce_346
+
+action_885 (278) = happyShift action_49
+action_885 (279) = happyShift action_50
+action_885 (282) = happyShift action_53
+action_885 (283) = happyShift action_54
+action_885 (299) = happyShift action_609
+action_885 (307) = happyShift action_610
+action_885 (329) = happyShift action_611
+action_885 (358) = happyShift action_88
+action_885 (359) = happyShift action_89
+action_885 (360) = happyShift action_90
+action_885 (361) = happyShift action_91
+action_885 (362) = happyShift action_92
+action_885 (363) = happyShift action_93
+action_885 (364) = happyShift action_94
+action_885 (365) = happyShift action_95
+action_885 (366) = happyShift action_96
+action_885 (367) = happyShift action_97
+action_885 (368) = happyShift action_98
+action_885 (369) = happyShift action_99
+action_885 (370) = happyShift action_100
+action_885 (371) = happyShift action_101
+action_885 (380) = happyShift action_104
+action_885 (381) = happyShift action_105
+action_885 (383) = happyShift action_106
+action_885 (402) = happyShift action_112
+action_885 (403) = happyShift action_113
+action_885 (145) = happyGoto action_922
+action_885 (146) = happyGoto action_604
+action_885 (147) = happyGoto action_605
+action_885 (148) = happyGoto action_606
+action_885 (234) = happyGoto action_181
+action_885 (244) = happyGoto action_607
+action_885 (245) = happyGoto action_43
+action_885 (246) = happyGoto action_44
+action_885 (248) = happyGoto action_46
+action_885 (249) = happyGoto action_47
+action_885 (269) = happyGoto action_608
+action_885 _ = happyFail
+
+action_886 _ = happyReduce_260
+
+action_887 (278) = happyShift action_49
+action_887 (279) = happyShift action_50
+action_887 (282) = happyShift action_53
+action_887 (283) = happyShift action_54
+action_887 (299) = happyShift action_609
+action_887 (307) = happyShift action_610
+action_887 (329) = happyShift action_611
+action_887 (358) = happyShift action_88
+action_887 (359) = happyShift action_89
+action_887 (360) = happyShift action_90
+action_887 (361) = happyShift action_91
+action_887 (362) = happyShift action_92
+action_887 (363) = happyShift action_93
+action_887 (364) = happyShift action_94
+action_887 (365) = happyShift action_95
+action_887 (366) = happyShift action_96
+action_887 (367) = happyShift action_97
+action_887 (368) = happyShift action_98
+action_887 (369) = happyShift action_99
+action_887 (370) = happyShift action_100
+action_887 (371) = happyShift action_101
+action_887 (380) = happyShift action_104
+action_887 (381) = happyShift action_105
+action_887 (383) = happyShift action_106
+action_887 (402) = happyShift action_112
+action_887 (403) = happyShift action_113
+action_887 (144) = happyGoto action_921
+action_887 (145) = happyGoto action_603
+action_887 (146) = happyGoto action_604
+action_887 (147) = happyGoto action_605
+action_887 (148) = happyGoto action_606
+action_887 (234) = happyGoto action_181
+action_887 (244) = happyGoto action_607
+action_887 (245) = happyGoto action_43
+action_887 (246) = happyGoto action_44
+action_887 (248) = happyGoto action_46
+action_887 (249) = happyGoto action_47
+action_887 (269) = happyGoto action_608
+action_887 _ = happyFail
+
+action_888 _ = happyReduce_60
+
+action_889 _ = happyReduce_35
+
+action_890 (278) = happyShift action_49
+action_890 (279) = happyShift action_50
+action_890 (280) = happyShift action_51
+action_890 (281) = happyShift action_52
+action_890 (282) = happyShift action_53
+action_890 (283) = happyShift action_54
+action_890 (289) = happyShift action_55
+action_890 (290) = happyShift action_56
+action_890 (291) = happyShift action_57
+action_890 (292) = happyShift action_58
+action_890 (293) = happyShift action_59
+action_890 (294) = happyShift action_60
+action_890 (295) = happyShift action_61
+action_890 (296) = happyShift action_62
+action_890 (297) = happyShift action_63
+action_890 (298) = happyShift action_64
+action_890 (299) = happyShift action_65
+action_890 (301) = happyShift action_66
+action_890 (307) = happyShift action_67
+action_890 (309) = happyShift action_68
+action_890 (312) = happyShift action_69
+action_890 (319) = happyShift action_70
+action_890 (324) = happyShift action_71
+action_890 (325) = happyShift action_72
+action_890 (327) = happyShift action_73
+action_890 (334) = happyShift action_75
+action_890 (337) = happyShift action_76
+action_890 (338) = happyShift action_77
+action_890 (339) = happyShift action_78
+action_890 (340) = happyShift action_79
+action_890 (341) = happyShift action_80
+action_890 (342) = happyShift action_81
+action_890 (344) = happyShift action_82
+action_890 (345) = happyShift action_83
+action_890 (346) = happyShift action_84
+action_890 (348) = happyShift action_85
+action_890 (350) = happyShift action_86
+action_890 (351) = happyShift action_87
+action_890 (358) = happyShift action_88
+action_890 (359) = happyShift action_89
+action_890 (360) = happyShift action_90
+action_890 (361) = happyShift action_91
+action_890 (362) = happyShift action_92
+action_890 (363) = happyShift action_93
+action_890 (364) = happyShift action_94
+action_890 (365) = happyShift action_95
+action_890 (366) = happyShift action_96
+action_890 (367) = happyShift action_97
+action_890 (368) = happyShift action_98
+action_890 (369) = happyShift action_99
+action_890 (370) = happyShift action_100
+action_890 (371) = happyShift action_101
+action_890 (373) = happyShift action_102
+action_890 (378) = happyShift action_103
+action_890 (380) = happyShift action_104
+action_890 (381) = happyShift action_105
+action_890 (383) = happyShift action_106
+action_890 (384) = happyShift action_107
+action_890 (391) = happyShift action_159
+action_890 (392) = happyShift action_109
+action_890 (396) = happyShift action_110
+action_890 (402) = happyShift action_112
+action_890 (403) = happyShift action_113
+action_890 (411) = happyShift action_114
+action_890 (412) = happyShift action_115
+action_890 (413) = happyShift action_116
+action_890 (168) = happyGoto action_920
+action_890 (169) = happyGoto action_161
+action_890 (170) = happyGoto action_25
+action_890 (171) = happyGoto action_26
+action_890 (172) = happyGoto action_27
+action_890 (173) = happyGoto action_28
+action_890 (176) = happyGoto action_29
+action_890 (177) = happyGoto action_30
+action_890 (178) = happyGoto action_31
+action_890 (181) = happyGoto action_32
+action_890 (182) = happyGoto action_33
+action_890 (183) = happyGoto action_34
+action_890 (190) = happyGoto action_35
+action_890 (228) = happyGoto action_38
+action_890 (231) = happyGoto action_39
+action_890 (232) = happyGoto action_40
+action_890 (234) = happyGoto action_41
+action_890 (244) = happyGoto action_42
+action_890 (245) = happyGoto action_43
+action_890 (246) = happyGoto action_44
+action_890 (247) = happyGoto action_45
+action_890 (248) = happyGoto action_46
+action_890 (249) = happyGoto action_47
+action_890 (257) = happyGoto action_48
+action_890 _ = happyFail
+
+action_891 (280) = happyShift action_51
+action_891 (281) = happyShift action_52
+action_891 (227) = happyGoto action_918
+action_891 (232) = happyGoto action_919
+action_891 (247) = happyGoto action_45
+action_891 _ = happyReduce_40
+
+action_892 (303) = happyShift action_566
+action_892 _ = happyReduce_623
+
+action_893 (278) = happyShift action_49
+action_893 (279) = happyShift action_50
+action_893 (280) = happyShift action_51
+action_893 (281) = happyShift action_52
+action_893 (282) = happyShift action_53
+action_893 (283) = happyShift action_54
+action_893 (289) = happyShift action_55
+action_893 (290) = happyShift action_56
+action_893 (291) = happyShift action_57
+action_893 (292) = happyShift action_58
+action_893 (293) = happyShift action_59
+action_893 (294) = happyShift action_60
+action_893 (295) = happyShift action_61
+action_893 (296) = happyShift action_62
+action_893 (297) = happyShift action_63
+action_893 (298) = happyShift action_64
+action_893 (299) = happyShift action_65
+action_893 (301) = happyShift action_66
+action_893 (307) = happyShift action_67
+action_893 (309) = happyShift action_68
+action_893 (312) = happyShift action_69
+action_893 (319) = happyShift action_592
+action_893 (324) = happyShift action_71
+action_893 (325) = happyShift action_72
+action_893 (327) = happyShift action_73
+action_893 (334) = happyShift action_75
+action_893 (337) = happyShift action_76
+action_893 (338) = happyShift action_77
+action_893 (339) = happyShift action_78
+action_893 (340) = happyShift action_79
+action_893 (341) = happyShift action_80
+action_893 (342) = happyShift action_81
+action_893 (344) = happyShift action_82
+action_893 (345) = happyShift action_83
+action_893 (346) = happyShift action_84
+action_893 (348) = happyShift action_85
+action_893 (350) = happyShift action_86
+action_893 (351) = happyShift action_87
+action_893 (358) = happyShift action_88
+action_893 (359) = happyShift action_89
+action_893 (360) = happyShift action_90
+action_893 (361) = happyShift action_91
+action_893 (362) = happyShift action_92
+action_893 (363) = happyShift action_93
+action_893 (364) = happyShift action_94
+action_893 (365) = happyShift action_95
+action_893 (366) = happyShift action_96
+action_893 (367) = happyShift action_97
+action_893 (368) = happyShift action_98
+action_893 (369) = happyShift action_99
+action_893 (370) = happyShift action_100
+action_893 (371) = happyShift action_101
+action_893 (373) = happyShift action_102
+action_893 (378) = happyShift action_103
+action_893 (380) = happyShift action_104
+action_893 (381) = happyShift action_105
+action_893 (383) = happyShift action_106
+action_893 (392) = happyShift action_109
+action_893 (402) = happyShift action_112
+action_893 (403) = happyShift action_113
+action_893 (176) = happyGoto action_419
+action_893 (178) = happyGoto action_31
+action_893 (181) = happyGoto action_32
+action_893 (182) = happyGoto action_33
+action_893 (183) = happyGoto action_34
+action_893 (190) = happyGoto action_35
+action_893 (228) = happyGoto action_38
+action_893 (231) = happyGoto action_39
+action_893 (232) = happyGoto action_40
+action_893 (234) = happyGoto action_41
+action_893 (244) = happyGoto action_42
+action_893 (245) = happyGoto action_43
+action_893 (246) = happyGoto action_44
+action_893 (247) = happyGoto action_45
+action_893 (248) = happyGoto action_46
+action_893 (249) = happyGoto action_47
+action_893 (257) = happyGoto action_48
+action_893 _ = happyFail
+
+action_894 (278) = happyShift action_49
+action_894 (279) = happyShift action_50
+action_894 (280) = happyShift action_51
+action_894 (281) = happyShift action_52
+action_894 (282) = happyShift action_53
+action_894 (283) = happyShift action_54
+action_894 (289) = happyShift action_55
+action_894 (290) = happyShift action_56
+action_894 (291) = happyShift action_57
+action_894 (292) = happyShift action_58
+action_894 (293) = happyShift action_59
+action_894 (294) = happyShift action_60
+action_894 (295) = happyShift action_61
+action_894 (296) = happyShift action_62
+action_894 (297) = happyShift action_63
+action_894 (298) = happyShift action_64
+action_894 (299) = happyShift action_65
+action_894 (301) = happyShift action_66
+action_894 (307) = happyShift action_67
+action_894 (309) = happyShift action_68
+action_894 (312) = happyShift action_69
+action_894 (319) = happyShift action_592
+action_894 (324) = happyShift action_71
+action_894 (325) = happyShift action_72
+action_894 (327) = happyShift action_73
+action_894 (328) = happyShift action_486
+action_894 (334) = happyShift action_75
+action_894 (337) = happyShift action_76
+action_894 (338) = happyShift action_77
+action_894 (339) = happyShift action_78
+action_894 (340) = happyShift action_79
+action_894 (341) = happyShift action_80
+action_894 (342) = happyShift action_81
+action_894 (344) = happyShift action_82
+action_894 (345) = happyShift action_83
+action_894 (346) = happyShift action_84
+action_894 (348) = happyShift action_85
+action_894 (350) = happyShift action_86
+action_894 (351) = happyShift action_87
+action_894 (358) = happyShift action_88
+action_894 (359) = happyShift action_89
+action_894 (360) = happyShift action_90
+action_894 (361) = happyShift action_91
+action_894 (362) = happyShift action_92
+action_894 (363) = happyShift action_93
+action_894 (364) = happyShift action_94
+action_894 (365) = happyShift action_95
+action_894 (366) = happyShift action_96
+action_894 (367) = happyShift action_97
+action_894 (368) = happyShift action_98
+action_894 (369) = happyShift action_99
+action_894 (370) = happyShift action_100
+action_894 (371) = happyShift action_101
+action_894 (373) = happyShift action_102
+action_894 (378) = happyShift action_103
+action_894 (380) = happyShift action_104
+action_894 (381) = happyShift action_105
+action_894 (383) = happyShift action_106
+action_894 (387) = happyShift action_492
+action_894 (388) = happyShift action_493
+action_894 (389) = happyShift action_494
+action_894 (392) = happyShift action_109
+action_894 (402) = happyShift action_112
+action_894 (403) = happyShift action_113
+action_894 (404) = happyShift action_498
+action_894 (405) = happyShift action_499
+action_894 (406) = happyShift action_500
+action_894 (407) = happyShift action_501
+action_894 (408) = happyShift action_502
+action_894 (421) = happyShift action_507
+action_894 (49) = happyGoto action_469
+action_894 (51) = happyGoto action_470
+action_894 (75) = happyGoto action_917
+action_894 (77) = happyGoto action_477
+action_894 (78) = happyGoto action_478
+action_894 (79) = happyGoto action_479
+action_894 (162) = happyGoto action_480
+action_894 (172) = happyGoto action_588
+action_894 (176) = happyGoto action_29
+action_894 (178) = happyGoto action_31
+action_894 (181) = happyGoto action_32
+action_894 (182) = happyGoto action_33
+action_894 (183) = happyGoto action_34
+action_894 (190) = happyGoto action_35
+action_894 (228) = happyGoto action_38
+action_894 (231) = happyGoto action_39
+action_894 (232) = happyGoto action_40
+action_894 (234) = happyGoto action_41
+action_894 (244) = happyGoto action_42
+action_894 (245) = happyGoto action_43
+action_894 (246) = happyGoto action_44
+action_894 (247) = happyGoto action_45
+action_894 (248) = happyGoto action_46
+action_894 (249) = happyGoto action_47
+action_894 (257) = happyGoto action_48
+action_894 (260) = happyGoto action_483
+action_894 (261) = happyGoto action_484
+action_894 (265) = happyGoto action_485
+action_894 _ = happyReduce_40
+
+action_895 (303) = happyShift action_566
+action_895 _ = happyReduce_162
+
+action_896 (425) = happyShift action_916
+action_896 _ = happyFail
+
+action_897 (425) = happyShift action_915
+action_897 _ = happyFail
+
+action_898 (401) = happyShift action_914
+action_898 _ = happyFail
+
+action_899 _ = happyReduce_42
+
+action_900 (278) = happyShift action_49
+action_900 (279) = happyShift action_50
+action_900 (282) = happyShift action_53
+action_900 (283) = happyShift action_54
+action_900 (299) = happyShift action_312
+action_900 (311) = happyShift action_910
+action_900 (358) = happyShift action_88
+action_900 (359) = happyShift action_89
+action_900 (360) = happyShift action_90
+action_900 (361) = happyShift action_91
+action_900 (362) = happyShift action_92
+action_900 (363) = happyShift action_93
+action_900 (364) = happyShift action_94
+action_900 (365) = happyShift action_95
+action_900 (366) = happyShift action_96
+action_900 (367) = happyShift action_97
+action_900 (368) = happyShift action_98
+action_900 (369) = happyShift action_99
+action_900 (370) = happyShift action_100
+action_900 (371) = happyShift action_101
+action_900 (380) = happyShift action_104
+action_900 (381) = happyShift action_105
+action_900 (383) = happyShift action_106
+action_900 (393) = happyShift action_911
+action_900 (399) = happyShift action_912
+action_900 (402) = happyShift action_112
+action_900 (403) = happyShift action_113
+action_900 (404) = happyShift action_913
+action_900 (31) = happyGoto action_905
+action_900 (32) = happyGoto action_906
+action_900 (33) = happyGoto action_907
+action_900 (231) = happyGoto action_908
+action_900 (234) = happyGoto action_181
+action_900 (244) = happyGoto action_42
+action_900 (245) = happyGoto action_43
+action_900 (246) = happyGoto action_44
+action_900 (248) = happyGoto action_46
+action_900 (249) = happyGoto action_47
+action_900 (269) = happyGoto action_909
+action_900 _ = happyReduce_47
+
+action_901 _ = happyReduce_15
+
+action_902 (352) = happyShift action_903
+action_902 (353) = happyShift action_904
+action_902 _ = happyFail
+
+action_903 (191) = happyGoto action_1113
+action_903 _ = happyReduce_497
+
+action_904 _ = happyReduce_18
+
+action_905 (300) = happyShift action_1112
+action_905 _ = happyFail
+
+action_906 (311) = happyShift action_1111
+action_906 (31) = happyGoto action_1110
+action_906 _ = happyReduce_47
+
+action_907 _ = happyReduce_49
+
+action_908 _ = happyReduce_50
+
+action_909 (299) = happyShift action_1109
+action_909 _ = happyReduce_52
+
+action_910 _ = happyReduce_46
+
+action_911 (282) = happyShift action_403
+action_911 (283) = happyShift action_404
+action_911 (267) = happyGoto action_1108
+action_911 _ = happyFail
+
+action_912 (278) = happyShift action_49
+action_912 (279) = happyShift action_50
+action_912 (282) = happyShift action_53
+action_912 (283) = happyShift action_54
+action_912 (299) = happyShift action_423
+action_912 (358) = happyShift action_88
+action_912 (359) = happyShift action_89
+action_912 (360) = happyShift action_90
+action_912 (361) = happyShift action_91
+action_912 (362) = happyShift action_92
+action_912 (363) = happyShift action_93
+action_912 (364) = happyShift action_94
+action_912 (365) = happyShift action_95
+action_912 (366) = happyShift action_96
+action_912 (367) = happyShift action_97
+action_912 (368) = happyShift action_98
+action_912 (369) = happyShift action_99
+action_912 (370) = happyShift action_100
+action_912 (371) = happyShift action_101
+action_912 (380) = happyShift action_104
+action_912 (381) = happyShift action_105
+action_912 (383) = happyShift action_106
+action_912 (402) = happyShift action_112
+action_912 (403) = happyShift action_113
+action_912 (34) = happyGoto action_1105
+action_912 (231) = happyGoto action_1106
+action_912 (244) = happyGoto action_42
+action_912 (245) = happyGoto action_43
+action_912 (246) = happyGoto action_44
+action_912 (248) = happyGoto action_1107
+action_912 (249) = happyGoto action_47
+action_912 _ = happyFail
+
+action_913 (282) = happyShift action_53
+action_913 (283) = happyShift action_54
+action_913 (299) = happyShift action_1104
+action_913 (234) = happyGoto action_1103
+action_913 (248) = happyGoto action_46
+action_913 (249) = happyGoto action_47
+action_913 _ = happyFail
+
+action_914 _ = happyReduce_28
+
+action_915 _ = happyReduce_30
+
+action_916 _ = happyReduce_31
+
+action_917 _ = happyReduce_164
+
+action_918 _ = happyReduce_624
+
+action_919 (318) = happyShift action_890
+action_919 _ = happyFail
+
+action_920 _ = happyReduce_626
+
+action_921 (300) = happyShift action_1102
+action_921 _ = happyFail
+
+action_922 _ = happyReduce_344
+
+action_923 _ = happyReduce_348
+
+action_924 (278) = happyShift action_49
+action_924 (279) = happyShift action_50
+action_924 (282) = happyShift action_53
+action_924 (283) = happyShift action_54
+action_924 (299) = happyShift action_609
+action_924 (307) = happyShift action_610
+action_924 (329) = happyShift action_611
+action_924 (358) = happyShift action_88
+action_924 (359) = happyShift action_89
+action_924 (360) = happyShift action_90
+action_924 (361) = happyShift action_91
+action_924 (362) = happyShift action_92
+action_924 (363) = happyShift action_93
+action_924 (364) = happyShift action_94
+action_924 (365) = happyShift action_95
+action_924 (366) = happyShift action_96
+action_924 (367) = happyShift action_97
+action_924 (368) = happyShift action_98
+action_924 (369) = happyShift action_99
+action_924 (370) = happyShift action_100
+action_924 (371) = happyShift action_101
+action_924 (380) = happyShift action_104
+action_924 (381) = happyShift action_105
+action_924 (383) = happyShift action_106
+action_924 (402) = happyShift action_112
+action_924 (403) = happyShift action_113
+action_924 (145) = happyGoto action_1100
+action_924 (146) = happyGoto action_604
+action_924 (147) = happyGoto action_605
+action_924 (148) = happyGoto action_606
+action_924 (149) = happyGoto action_1101
+action_924 (234) = happyGoto action_181
+action_924 (244) = happyGoto action_607
+action_924 (245) = happyGoto action_43
+action_924 (246) = happyGoto action_44
+action_924 (248) = happyGoto action_46
+action_924 (249) = happyGoto action_47
+action_924 (269) = happyGoto action_608
+action_924 _ = happyFail
+
+action_925 _ = happyReduce_354
+
+action_926 (289) = happyShift action_1099
+action_926 _ = happyFail
+
+action_927 (379) = happyShift action_1098
+action_927 _ = happyFail
+
+action_928 _ = happyReduce_605
+
+action_929 (278) = happyShift action_49
+action_929 (279) = happyShift action_50
+action_929 (280) = happyShift action_51
+action_929 (281) = happyShift action_52
+action_929 (282) = happyShift action_53
+action_929 (283) = happyShift action_54
+action_929 (289) = happyShift action_55
+action_929 (290) = happyShift action_56
+action_929 (291) = happyShift action_57
+action_929 (292) = happyShift action_58
+action_929 (293) = happyShift action_59
+action_929 (294) = happyShift action_60
+action_929 (295) = happyShift action_61
+action_929 (296) = happyShift action_62
+action_929 (297) = happyShift action_63
+action_929 (298) = happyShift action_64
+action_929 (299) = happyShift action_65
+action_929 (301) = happyShift action_66
+action_929 (307) = happyShift action_67
+action_929 (309) = happyShift action_68
+action_929 (312) = happyShift action_69
+action_929 (319) = happyShift action_70
+action_929 (324) = happyShift action_71
+action_929 (325) = happyShift action_72
+action_929 (327) = happyShift action_73
+action_929 (334) = happyShift action_75
+action_929 (337) = happyShift action_76
+action_929 (338) = happyShift action_77
+action_929 (339) = happyShift action_78
+action_929 (340) = happyShift action_79
+action_929 (341) = happyShift action_80
+action_929 (342) = happyShift action_81
+action_929 (344) = happyShift action_82
+action_929 (345) = happyShift action_83
+action_929 (346) = happyShift action_84
+action_929 (348) = happyShift action_85
+action_929 (350) = happyShift action_86
+action_929 (351) = happyShift action_87
+action_929 (358) = happyShift action_88
+action_929 (359) = happyShift action_89
+action_929 (360) = happyShift action_90
+action_929 (361) = happyShift action_91
+action_929 (362) = happyShift action_92
+action_929 (363) = happyShift action_93
+action_929 (364) = happyShift action_94
+action_929 (365) = happyShift action_95
+action_929 (366) = happyShift action_96
+action_929 (367) = happyShift action_97
+action_929 (368) = happyShift action_98
+action_929 (369) = happyShift action_99
+action_929 (370) = happyShift action_100
+action_929 (371) = happyShift action_101
+action_929 (373) = happyShift action_102
+action_929 (378) = happyShift action_103
+action_929 (380) = happyShift action_104
+action_929 (381) = happyShift action_105
+action_929 (383) = happyShift action_106
+action_929 (384) = happyShift action_107
+action_929 (391) = happyShift action_159
+action_929 (392) = happyShift action_109
+action_929 (396) = happyShift action_110
+action_929 (402) = happyShift action_112
+action_929 (403) = happyShift action_113
+action_929 (411) = happyShift action_114
+action_929 (412) = happyShift action_115
+action_929 (413) = happyShift action_116
+action_929 (168) = happyGoto action_1097
+action_929 (169) = happyGoto action_161
+action_929 (170) = happyGoto action_25
+action_929 (171) = happyGoto action_26
+action_929 (172) = happyGoto action_27
+action_929 (173) = happyGoto action_28
+action_929 (176) = happyGoto action_29
+action_929 (177) = happyGoto action_30
+action_929 (178) = happyGoto action_31
+action_929 (181) = happyGoto action_32
+action_929 (182) = happyGoto action_33
+action_929 (183) = happyGoto action_34
+action_929 (190) = happyGoto action_35
+action_929 (228) = happyGoto action_38
+action_929 (231) = happyGoto action_39
+action_929 (232) = happyGoto action_40
+action_929 (234) = happyGoto action_41
+action_929 (244) = happyGoto action_42
+action_929 (245) = happyGoto action_43
+action_929 (246) = happyGoto action_44
+action_929 (247) = happyGoto action_45
+action_929 (248) = happyGoto action_46
+action_929 (249) = happyGoto action_47
+action_929 (257) = happyGoto action_48
+action_929 _ = happyFail
+
+action_930 _ = happyReduce_555
+
+action_931 (303) = happyShift action_515
+action_931 (347) = happyShift action_516
+action_931 (348) = happyShift action_85
+action_931 (350) = happyShift action_86
+action_931 (351) = happyShift action_87
+action_931 (355) = happyShift action_517
+action_931 (175) = happyGoto action_1096
+action_931 (190) = happyGoto action_513
+action_931 (192) = happyGoto action_514
+action_931 _ = happyReduce_423
+
+action_932 _ = happyReduce_189
+
+action_933 _ = happyReduce_191
+
+action_934 _ = happyReduce_192
+
+action_935 _ = happyReduce_234
+
+action_936 _ = happyReduce_228
+
+action_937 _ = happyReduce_214
+
+action_938 (278) = happyShift action_49
+action_938 (279) = happyShift action_50
+action_938 (280) = happyShift action_51
+action_938 (281) = happyShift action_52
+action_938 (282) = happyShift action_53
+action_938 (283) = happyShift action_54
+action_938 (289) = happyShift action_55
+action_938 (290) = happyShift action_56
+action_938 (291) = happyShift action_57
+action_938 (292) = happyShift action_58
+action_938 (293) = happyShift action_59
+action_938 (294) = happyShift action_60
+action_938 (295) = happyShift action_61
+action_938 (296) = happyShift action_62
+action_938 (297) = happyShift action_63
+action_938 (298) = happyShift action_64
+action_938 (299) = happyShift action_65
+action_938 (301) = happyShift action_66
+action_938 (307) = happyShift action_67
+action_938 (309) = happyShift action_68
+action_938 (312) = happyShift action_69
+action_938 (319) = happyShift action_70
+action_938 (324) = happyShift action_71
+action_938 (325) = happyShift action_72
+action_938 (327) = happyShift action_73
+action_938 (334) = happyShift action_75
+action_938 (337) = happyShift action_76
+action_938 (338) = happyShift action_77
+action_938 (339) = happyShift action_78
+action_938 (340) = happyShift action_79
+action_938 (341) = happyShift action_80
+action_938 (342) = happyShift action_81
+action_938 (344) = happyShift action_82
+action_938 (345) = happyShift action_83
+action_938 (346) = happyShift action_84
+action_938 (348) = happyShift action_85
+action_938 (350) = happyShift action_86
+action_938 (351) = happyShift action_87
+action_938 (358) = happyShift action_88
+action_938 (359) = happyShift action_89
+action_938 (360) = happyShift action_90
+action_938 (361) = happyShift action_91
+action_938 (362) = happyShift action_92
+action_938 (363) = happyShift action_93
+action_938 (364) = happyShift action_94
+action_938 (365) = happyShift action_95
+action_938 (366) = happyShift action_96
+action_938 (367) = happyShift action_97
+action_938 (368) = happyShift action_98
+action_938 (369) = happyShift action_99
+action_938 (370) = happyShift action_100
+action_938 (371) = happyShift action_101
+action_938 (373) = happyShift action_102
+action_938 (378) = happyShift action_103
+action_938 (380) = happyShift action_104
+action_938 (381) = happyShift action_105
+action_938 (383) = happyShift action_106
+action_938 (384) = happyShift action_107
+action_938 (391) = happyShift action_159
+action_938 (392) = happyShift action_109
+action_938 (396) = happyShift action_110
+action_938 (402) = happyShift action_112
+action_938 (403) = happyShift action_113
+action_938 (411) = happyShift action_114
+action_938 (412) = happyShift action_115
+action_938 (413) = happyShift action_116
+action_938 (170) = happyGoto action_1095
+action_938 (171) = happyGoto action_26
+action_938 (172) = happyGoto action_316
+action_938 (173) = happyGoto action_28
+action_938 (176) = happyGoto action_29
+action_938 (177) = happyGoto action_30
+action_938 (178) = happyGoto action_31
+action_938 (181) = happyGoto action_32
+action_938 (182) = happyGoto action_33
+action_938 (183) = happyGoto action_34
+action_938 (190) = happyGoto action_35
+action_938 (228) = happyGoto action_38
+action_938 (231) = happyGoto action_39
+action_938 (232) = happyGoto action_40
+action_938 (234) = happyGoto action_41
+action_938 (244) = happyGoto action_42
+action_938 (245) = happyGoto action_43
+action_938 (246) = happyGoto action_44
+action_938 (247) = happyGoto action_45
+action_938 (248) = happyGoto action_46
+action_938 (249) = happyGoto action_47
+action_938 (257) = happyGoto action_48
+action_938 _ = happyFail
+
+action_939 (278) = happyShift action_49
+action_939 (299) = happyShift action_1094
+action_939 (358) = happyShift action_88
+action_939 (359) = happyShift action_89
+action_939 (360) = happyShift action_90
+action_939 (361) = happyShift action_91
+action_939 (362) = happyShift action_92
+action_939 (363) = happyShift action_93
+action_939 (364) = happyShift action_94
+action_939 (365) = happyShift action_95
+action_939 (366) = happyShift action_96
+action_939 (367) = happyShift action_97
+action_939 (368) = happyShift action_98
+action_939 (369) = happyShift action_99
+action_939 (370) = happyShift action_100
+action_939 (371) = happyShift action_101
+action_939 (380) = happyShift action_104
+action_939 (381) = happyShift action_105
+action_939 (383) = happyShift action_106
+action_939 (402) = happyShift action_112
+action_939 (403) = happyShift action_113
+action_939 (95) = happyGoto action_1091
+action_939 (96) = happyGoto action_1092
+action_939 (245) = happyGoto action_43
+action_939 (246) = happyGoto action_1093
+action_939 _ = happyFail
+
+action_940 (278) = happyShift action_49
+action_940 (280) = happyShift action_51
+action_940 (281) = happyShift action_52
+action_940 (282) = happyShift action_53
+action_940 (283) = happyShift action_54
+action_940 (289) = happyShift action_135
+action_940 (292) = happyShift action_136
+action_940 (299) = happyShift action_137
+action_940 (301) = happyShift action_138
+action_940 (307) = happyShift action_139
+action_940 (309) = happyShift action_140
+action_940 (312) = happyShift action_141
+action_940 (325) = happyShift action_142
+action_940 (328) = happyShift action_143
+action_940 (337) = happyShift action_144
+action_940 (338) = happyShift action_145
+action_940 (344) = happyShift action_146
+action_940 (346) = happyShift action_147
+action_940 (358) = happyShift action_88
+action_940 (359) = happyShift action_148
+action_940 (360) = happyShift action_149
+action_940 (361) = happyShift action_150
+action_940 (363) = happyShift action_93
+action_940 (364) = happyShift action_94
+action_940 (365) = happyShift action_95
+action_940 (366) = happyShift action_96
+action_940 (367) = happyShift action_97
+action_940 (368) = happyShift action_98
+action_940 (369) = happyShift action_99
+action_940 (370) = happyShift action_100
+action_940 (371) = happyShift action_101
+action_940 (381) = happyShift action_151
+action_940 (383) = happyShift action_106
+action_940 (402) = happyShift action_112
+action_940 (416) = happyShift action_152
+action_940 (417) = happyShift action_153
+action_940 (80) = happyGoto action_1090
+action_940 (81) = happyGoto action_1087
+action_940 (103) = happyGoto action_117
+action_940 (105) = happyGoto action_118
+action_940 (108) = happyGoto action_119
+action_940 (109) = happyGoto action_120
+action_940 (110) = happyGoto action_121
+action_940 (111) = happyGoto action_122
+action_940 (112) = happyGoto action_123
+action_940 (113) = happyGoto action_124
+action_940 (114) = happyGoto action_125
+action_940 (115) = happyGoto action_126
+action_940 (118) = happyGoto action_1088
+action_940 (119) = happyGoto action_129
+action_940 (232) = happyGoto action_130
+action_940 (245) = happyGoto action_131
+action_940 (247) = happyGoto action_45
+action_940 (248) = happyGoto action_132
+action_940 (249) = happyGoto action_47
+action_940 (270) = happyGoto action_133
+action_940 (271) = happyGoto action_134
+action_940 _ = happyFail
+
+action_941 (308) = happyShift action_1089
+action_941 _ = happyFail
+
+action_942 _ = happyReduce_220
+
+action_943 (278) = happyShift action_49
+action_943 (280) = happyShift action_51
+action_943 (281) = happyShift action_52
+action_943 (282) = happyShift action_53
+action_943 (283) = happyShift action_54
+action_943 (289) = happyShift action_135
+action_943 (292) = happyShift action_136
+action_943 (299) = happyShift action_137
+action_943 (301) = happyShift action_138
+action_943 (307) = happyShift action_139
+action_943 (309) = happyShift action_140
+action_943 (312) = happyShift action_141
+action_943 (325) = happyShift action_142
+action_943 (328) = happyShift action_143
+action_943 (337) = happyShift action_144
+action_943 (338) = happyShift action_145
+action_943 (344) = happyShift action_146
+action_943 (346) = happyShift action_147
+action_943 (358) = happyShift action_88
+action_943 (359) = happyShift action_148
+action_943 (360) = happyShift action_149
+action_943 (361) = happyShift action_150
+action_943 (363) = happyShift action_93
+action_943 (364) = happyShift action_94
+action_943 (365) = happyShift action_95
+action_943 (366) = happyShift action_96
+action_943 (367) = happyShift action_97
+action_943 (368) = happyShift action_98
+action_943 (369) = happyShift action_99
+action_943 (370) = happyShift action_100
+action_943 (371) = happyShift action_101
+action_943 (381) = happyShift action_151
+action_943 (383) = happyShift action_106
+action_943 (402) = happyShift action_112
+action_943 (416) = happyShift action_152
+action_943 (417) = happyShift action_153
+action_943 (80) = happyGoto action_1086
+action_943 (81) = happyGoto action_1087
+action_943 (103) = happyGoto action_117
+action_943 (105) = happyGoto action_118
+action_943 (108) = happyGoto action_119
+action_943 (109) = happyGoto action_120
+action_943 (110) = happyGoto action_121
+action_943 (111) = happyGoto action_122
+action_943 (112) = happyGoto action_123
+action_943 (113) = happyGoto action_124
+action_943 (114) = happyGoto action_125
+action_943 (115) = happyGoto action_126
+action_943 (118) = happyGoto action_1088
+action_943 (119) = happyGoto action_129
+action_943 (232) = happyGoto action_130
+action_943 (245) = happyGoto action_131
+action_943 (247) = happyGoto action_45
+action_943 (248) = happyGoto action_132
+action_943 (249) = happyGoto action_47
+action_943 (270) = happyGoto action_133
+action_943 (271) = happyGoto action_134
+action_943 _ = happyFail
+
+action_944 _ = happyReduce_181
+
+action_945 _ = happyReduce_178
+
+action_946 _ = happyReduce_177
+
+action_947 _ = happyReduce_731
+
+action_948 (278) = happyShift action_49
+action_948 (280) = happyShift action_51
+action_948 (281) = happyShift action_52
+action_948 (282) = happyShift action_53
+action_948 (283) = happyShift action_54
+action_948 (289) = happyShift action_135
+action_948 (292) = happyShift action_136
+action_948 (299) = happyShift action_137
+action_948 (301) = happyShift action_138
+action_948 (307) = happyShift action_139
+action_948 (309) = happyShift action_140
+action_948 (312) = happyShift action_141
+action_948 (325) = happyShift action_142
+action_948 (328) = happyShift action_143
+action_948 (337) = happyShift action_144
+action_948 (338) = happyShift action_145
+action_948 (344) = happyShift action_146
+action_948 (346) = happyShift action_147
+action_948 (358) = happyShift action_88
+action_948 (359) = happyShift action_148
+action_948 (360) = happyShift action_149
+action_948 (361) = happyShift action_150
+action_948 (363) = happyShift action_93
+action_948 (364) = happyShift action_94
+action_948 (365) = happyShift action_95
+action_948 (366) = happyShift action_96
+action_948 (367) = happyShift action_97
+action_948 (368) = happyShift action_98
+action_948 (369) = happyShift action_99
+action_948 (370) = happyShift action_100
+action_948 (371) = happyShift action_101
+action_948 (383) = happyShift action_106
+action_948 (402) = happyShift action_112
+action_948 (416) = happyShift action_152
+action_948 (417) = happyShift action_153
+action_948 (103) = happyGoto action_117
+action_948 (105) = happyGoto action_1084
+action_948 (108) = happyGoto action_119
+action_948 (109) = happyGoto action_120
+action_948 (110) = happyGoto action_121
+action_948 (111) = happyGoto action_122
+action_948 (112) = happyGoto action_123
+action_948 (113) = happyGoto action_124
+action_948 (114) = happyGoto action_125
+action_948 (115) = happyGoto action_126
+action_948 (119) = happyGoto action_1085
+action_948 (232) = happyGoto action_130
+action_948 (245) = happyGoto action_131
+action_948 (247) = happyGoto action_45
+action_948 (248) = happyGoto action_132
+action_948 (249) = happyGoto action_47
+action_948 (270) = happyGoto action_133
+action_948 (271) = happyGoto action_134
+action_948 _ = happyFail
+
+action_949 _ = happyReduce_727
+
+action_950 (122) = happyGoto action_1083
+action_950 _ = happyReduce_302
+
+action_951 _ = happyReduce_724
+
+action_952 _ = happyReduce_722
+
+action_953 (401) = happyShift action_1082
+action_953 (264) = happyGoto action_1081
+action_953 _ = happyReduce_719
+
+action_954 _ = happyReduce_718
+
+action_955 _ = happyReduce_109
+
+action_956 (320) = happyShift action_1080
+action_956 (53) = happyGoto action_1078
+action_956 (54) = happyGoto action_1079
+action_956 _ = happyReduce_100
+
+action_957 (278) = happyShift action_49
+action_957 (279) = happyShift action_50
+action_957 (282) = happyShift action_53
+action_957 (283) = happyShift action_54
+action_957 (299) = happyShift action_609
+action_957 (307) = happyShift action_610
+action_957 (329) = happyShift action_611
+action_957 (358) = happyShift action_88
+action_957 (359) = happyShift action_89
+action_957 (360) = happyShift action_90
+action_957 (361) = happyShift action_91
+action_957 (362) = happyShift action_92
+action_957 (363) = happyShift action_93
+action_957 (364) = happyShift action_94
+action_957 (365) = happyShift action_95
+action_957 (366) = happyShift action_96
+action_957 (367) = happyShift action_97
+action_957 (368) = happyShift action_98
+action_957 (369) = happyShift action_99
+action_957 (370) = happyShift action_100
+action_957 (371) = happyShift action_101
+action_957 (380) = happyShift action_104
+action_957 (381) = happyShift action_105
+action_957 (383) = happyShift action_106
+action_957 (402) = happyShift action_112
+action_957 (403) = happyShift action_113
+action_957 (144) = happyGoto action_1077
+action_957 (145) = happyGoto action_603
+action_957 (146) = happyGoto action_604
+action_957 (147) = happyGoto action_605
+action_957 (148) = happyGoto action_606
+action_957 (234) = happyGoto action_181
+action_957 (244) = happyGoto action_607
+action_957 (245) = happyGoto action_43
+action_957 (246) = happyGoto action_44
+action_957 (248) = happyGoto action_46
+action_957 (249) = happyGoto action_47
+action_957 (269) = happyGoto action_608
+action_957 _ = happyFail
+
+action_958 (278) = happyShift action_49
+action_958 (299) = happyShift action_560
+action_958 (358) = happyShift action_88
+action_958 (359) = happyShift action_148
+action_958 (360) = happyShift action_149
+action_958 (361) = happyShift action_150
+action_958 (363) = happyShift action_93
+action_958 (364) = happyShift action_94
+action_958 (365) = happyShift action_95
+action_958 (366) = happyShift action_96
+action_958 (367) = happyShift action_97
+action_958 (368) = happyShift action_98
+action_958 (369) = happyShift action_99
+action_958 (370) = happyShift action_100
+action_958 (371) = happyShift action_101
+action_958 (383) = happyShift action_106
+action_958 (402) = happyShift action_112
+action_958 (123) = happyGoto action_1076
+action_958 (245) = happyGoto action_131
+action_958 (270) = happyGoto action_559
+action_958 (271) = happyGoto action_134
+action_958 _ = happyFail
+
+action_959 (278) = happyShift action_49
+action_959 (280) = happyShift action_51
+action_959 (281) = happyShift action_52
+action_959 (282) = happyShift action_53
+action_959 (283) = happyShift action_54
+action_959 (289) = happyShift action_135
+action_959 (292) = happyShift action_136
+action_959 (299) = happyShift action_137
+action_959 (301) = happyShift action_138
+action_959 (307) = happyShift action_139
+action_959 (309) = happyShift action_140
+action_959 (312) = happyShift action_141
+action_959 (325) = happyShift action_142
+action_959 (328) = happyShift action_143
+action_959 (337) = happyShift action_144
+action_959 (338) = happyShift action_145
+action_959 (344) = happyShift action_146
+action_959 (346) = happyShift action_147
+action_959 (358) = happyShift action_88
+action_959 (359) = happyShift action_148
+action_959 (360) = happyShift action_149
+action_959 (361) = happyShift action_150
+action_959 (363) = happyShift action_93
+action_959 (364) = happyShift action_94
+action_959 (365) = happyShift action_95
+action_959 (366) = happyShift action_96
+action_959 (367) = happyShift action_97
+action_959 (368) = happyShift action_98
+action_959 (369) = happyShift action_99
+action_959 (370) = happyShift action_100
+action_959 (371) = happyShift action_101
+action_959 (381) = happyShift action_151
+action_959 (383) = happyShift action_106
+action_959 (402) = happyShift action_112
+action_959 (416) = happyShift action_152
+action_959 (417) = happyShift action_153
+action_959 (103) = happyGoto action_117
+action_959 (105) = happyGoto action_118
+action_959 (108) = happyGoto action_119
+action_959 (109) = happyGoto action_120
+action_959 (110) = happyGoto action_121
+action_959 (111) = happyGoto action_122
+action_959 (112) = happyGoto action_123
+action_959 (113) = happyGoto action_124
+action_959 (114) = happyGoto action_125
+action_959 (115) = happyGoto action_126
+action_959 (117) = happyGoto action_1075
+action_959 (118) = happyGoto action_128
+action_959 (119) = happyGoto action_129
+action_959 (232) = happyGoto action_130
+action_959 (245) = happyGoto action_131
+action_959 (247) = happyGoto action_45
+action_959 (248) = happyGoto action_132
+action_959 (249) = happyGoto action_47
+action_959 (270) = happyGoto action_133
+action_959 (271) = happyGoto action_134
+action_959 _ = happyFail
+
+action_960 (278) = happyShift action_1073
+action_960 (312) = happyShift action_1074
+action_960 (65) = happyGoto action_1072
+action_960 _ = happyReduce_140
+
+action_961 _ = happyReduce_118
+
+action_962 (304) = happyShift action_1071
+action_962 (258) = happyGoto action_1070
+action_962 _ = happyReduce_714
+
+action_963 _ = happyReduce_119
+
+action_964 _ = happyReduce_120
+
+action_965 _ = happyReduce_114
+
+action_966 (278) = happyShift action_49
+action_966 (279) = happyShift action_50
+action_966 (282) = happyShift action_53
+action_966 (283) = happyShift action_54
+action_966 (299) = happyShift action_609
+action_966 (307) = happyShift action_610
+action_966 (329) = happyShift action_611
+action_966 (358) = happyShift action_88
+action_966 (359) = happyShift action_89
+action_966 (360) = happyShift action_90
+action_966 (361) = happyShift action_91
+action_966 (362) = happyShift action_92
+action_966 (363) = happyShift action_93
+action_966 (364) = happyShift action_94
+action_966 (365) = happyShift action_95
+action_966 (366) = happyShift action_96
+action_966 (367) = happyShift action_97
+action_966 (368) = happyShift action_98
+action_966 (369) = happyShift action_99
+action_966 (370) = happyShift action_100
+action_966 (371) = happyShift action_101
+action_966 (380) = happyShift action_104
+action_966 (381) = happyShift action_105
+action_966 (383) = happyShift action_106
+action_966 (402) = happyShift action_112
+action_966 (403) = happyShift action_113
+action_966 (144) = happyGoto action_1069
+action_966 (145) = happyGoto action_603
+action_966 (146) = happyGoto action_604
+action_966 (147) = happyGoto action_605
+action_966 (148) = happyGoto action_606
+action_966 (234) = happyGoto action_181
+action_966 (244) = happyGoto action_607
+action_966 (245) = happyGoto action_43
+action_966 (246) = happyGoto action_44
+action_966 (248) = happyGoto action_46
+action_966 (249) = happyGoto action_47
+action_966 (269) = happyGoto action_608
+action_966 _ = happyFail
+
+action_967 (278) = happyShift action_49
+action_967 (322) = happyShift action_1068
+action_967 (358) = happyShift action_88
+action_967 (359) = happyShift action_148
+action_967 (360) = happyShift action_149
+action_967 (361) = happyShift action_150
+action_967 (363) = happyShift action_93
+action_967 (364) = happyShift action_94
+action_967 (365) = happyShift action_95
+action_967 (366) = happyShift action_96
+action_967 (367) = happyShift action_97
+action_967 (368) = happyShift action_98
+action_967 (369) = happyShift action_99
+action_967 (370) = happyShift action_100
+action_967 (371) = happyShift action_101
+action_967 (383) = happyShift action_106
+action_967 (402) = happyShift action_112
+action_967 (245) = happyGoto action_131
+action_967 (270) = happyGoto action_1067
+action_967 (271) = happyGoto action_134
+action_967 _ = happyFail
+
+action_968 (311) = happyShift action_1066
+action_968 _ = happyReduce_309
+
+action_969 _ = happyReduce_311
+
+action_970 _ = happyReduce_117
+
+action_971 (304) = happyShift action_1065
+action_971 (258) = happyGoto action_1064
+action_971 _ = happyReduce_714
+
+action_972 _ = happyReduce_123
+
+action_973 (317) = happyShift action_1063
+action_973 _ = happyFail
+
+action_974 _ = happyReduce_635
+
+action_975 (278) = happyShift action_49
+action_975 (299) = happyShift action_976
+action_975 (358) = happyShift action_88
+action_975 (363) = happyShift action_93
+action_975 (364) = happyShift action_94
+action_975 (365) = happyShift action_95
+action_975 (366) = happyShift action_96
+action_975 (367) = happyShift action_97
+action_975 (368) = happyShift action_98
+action_975 (369) = happyShift action_99
+action_975 (370) = happyShift action_100
+action_975 (371) = happyShift action_101
+action_975 (383) = happyShift action_106
+action_975 (402) = happyShift action_112
+action_975 (230) = happyGoto action_1062
+action_975 (245) = happyGoto action_974
+action_975 _ = happyFail
+
+action_976 (285) = happyShift action_211
+action_976 (314) = happyShift action_214
+action_976 (327) = happyShift action_216
+action_976 (328) = happyShift action_340
+action_976 (329) = happyShift action_218
+action_976 (254) = happyGoto action_1061
+action_976 (255) = happyGoto action_209
+action_976 _ = happyFail
+
+action_977 (278) = happyShift action_49
+action_977 (292) = happyShift action_975
+action_977 (299) = happyShift action_976
+action_977 (358) = happyShift action_88
+action_977 (363) = happyShift action_93
+action_977 (364) = happyShift action_94
+action_977 (365) = happyShift action_95
+action_977 (366) = happyShift action_96
+action_977 (367) = happyShift action_97
+action_977 (368) = happyShift action_98
+action_977 (369) = happyShift action_99
+action_977 (370) = happyShift action_100
+action_977 (371) = happyShift action_101
+action_977 (383) = happyShift action_106
+action_977 (402) = happyShift action_112
+action_977 (90) = happyGoto action_1060
+action_977 (230) = happyGoto action_973
+action_977 (245) = happyGoto action_974
+action_977 _ = happyFail
+
+action_978 _ = happyReduce_207
+
+action_979 _ = happyReduce_208
+
+action_980 _ = happyReduce_209
+
+action_981 _ = happyReduce_210
+
+action_982 _ = happyReduce_390
+
+action_983 (304) = happyShift action_173
+action_983 (76) = happyGoto action_170
+action_983 (86) = happyGoto action_1059
+action_983 (258) = happyGoto action_172
+action_983 _ = happyReduce_714
+
+action_984 (311) = happyShift action_791
+action_984 (318) = happyShift action_1058
+action_984 _ = happyFail
+
+action_985 _ = happyReduce_395
+
+action_986 _ = happyReduce_397
+
+action_987 _ = happyReduce_389
+
+action_988 (278) = happyShift action_49
+action_988 (299) = happyShift action_1057
+action_988 (358) = happyShift action_88
+action_988 (359) = happyShift action_89
+action_988 (360) = happyShift action_90
+action_988 (361) = happyShift action_91
+action_988 (362) = happyShift action_92
+action_988 (363) = happyShift action_93
+action_988 (364) = happyShift action_94
+action_988 (365) = happyShift action_95
+action_988 (366) = happyShift action_96
+action_988 (367) = happyShift action_97
+action_988 (368) = happyShift action_98
+action_988 (369) = happyShift action_99
+action_988 (370) = happyShift action_100
+action_988 (371) = happyShift action_101
+action_988 (380) = happyShift action_104
+action_988 (381) = happyShift action_105
+action_988 (383) = happyShift action_106
+action_988 (402) = happyShift action_112
+action_988 (403) = happyShift action_113
+action_988 (229) = happyGoto action_1056
+action_988 (245) = happyGoto action_43
+action_988 (246) = happyGoto action_390
+action_988 _ = happyFail
+
+action_989 (278) = happyShift action_49
+action_989 (280) = happyShift action_51
+action_989 (281) = happyShift action_52
+action_989 (282) = happyShift action_53
+action_989 (283) = happyShift action_54
+action_989 (289) = happyShift action_135
+action_989 (292) = happyShift action_136
+action_989 (299) = happyShift action_137
+action_989 (301) = happyShift action_138
+action_989 (307) = happyShift action_139
+action_989 (309) = happyShift action_140
+action_989 (312) = happyShift action_141
+action_989 (325) = happyShift action_142
+action_989 (328) = happyShift action_143
+action_989 (337) = happyShift action_144
+action_989 (338) = happyShift action_145
+action_989 (344) = happyShift action_146
+action_989 (346) = happyShift action_147
+action_989 (358) = happyShift action_88
+action_989 (359) = happyShift action_148
+action_989 (360) = happyShift action_149
+action_989 (361) = happyShift action_150
+action_989 (363) = happyShift action_93
+action_989 (364) = happyShift action_94
+action_989 (365) = happyShift action_95
+action_989 (366) = happyShift action_96
+action_989 (367) = happyShift action_97
+action_989 (368) = happyShift action_98
+action_989 (369) = happyShift action_99
+action_989 (370) = happyShift action_100
+action_989 (371) = happyShift action_101
+action_989 (381) = happyShift action_151
+action_989 (383) = happyShift action_106
+action_989 (402) = happyShift action_112
+action_989 (416) = happyShift action_152
+action_989 (417) = happyShift action_153
+action_989 (103) = happyGoto action_117
+action_989 (105) = happyGoto action_118
+action_989 (108) = happyGoto action_119
+action_989 (109) = happyGoto action_120
+action_989 (110) = happyGoto action_121
+action_989 (111) = happyGoto action_122
+action_989 (112) = happyGoto action_123
+action_989 (113) = happyGoto action_124
+action_989 (114) = happyGoto action_125
+action_989 (115) = happyGoto action_126
+action_989 (117) = happyGoto action_1055
+action_989 (118) = happyGoto action_128
+action_989 (119) = happyGoto action_129
+action_989 (232) = happyGoto action_130
+action_989 (245) = happyGoto action_131
+action_989 (247) = happyGoto action_45
+action_989 (248) = happyGoto action_132
+action_989 (249) = happyGoto action_47
+action_989 (270) = happyGoto action_133
+action_989 (271) = happyGoto action_134
+action_989 _ = happyFail
+
+action_990 (320) = happyShift action_1054
+action_990 _ = happyReduce_321
+
+action_991 _ = happyReduce_323
+
+action_992 (278) = happyShift action_49
+action_992 (282) = happyShift action_53
+action_992 (283) = happyShift action_54
+action_992 (289) = happyShift action_135
+action_992 (292) = happyShift action_136
+action_992 (299) = happyShift action_1053
+action_992 (301) = happyShift action_138
+action_992 (307) = happyShift action_139
+action_992 (309) = happyShift action_140
+action_992 (312) = happyShift action_141
+action_992 (325) = happyShift action_142
+action_992 (328) = happyShift action_143
+action_992 (337) = happyShift action_144
+action_992 (338) = happyShift action_145
+action_992 (344) = happyShift action_146
+action_992 (346) = happyShift action_147
+action_992 (358) = happyShift action_88
+action_992 (359) = happyShift action_148
+action_992 (360) = happyShift action_149
+action_992 (361) = happyShift action_150
+action_992 (363) = happyShift action_93
+action_992 (364) = happyShift action_94
+action_992 (365) = happyShift action_95
+action_992 (366) = happyShift action_96
+action_992 (367) = happyShift action_97
+action_992 (368) = happyShift action_98
+action_992 (369) = happyShift action_99
+action_992 (370) = happyShift action_100
+action_992 (371) = happyShift action_101
+action_992 (383) = happyShift action_106
+action_992 (402) = happyShift action_112
+action_992 (416) = happyShift action_152
+action_992 (417) = happyShift action_153
+action_992 (106) = happyGoto action_1046
+action_992 (108) = happyGoto action_1047
+action_992 (109) = happyGoto action_120
+action_992 (110) = happyGoto action_121
+action_992 (111) = happyGoto action_122
+action_992 (112) = happyGoto action_123
+action_992 (113) = happyGoto action_124
+action_992 (114) = happyGoto action_125
+action_992 (115) = happyGoto action_126
+action_992 (119) = happyGoto action_1048
+action_992 (137) = happyGoto action_1049
+action_992 (138) = happyGoto action_1050
+action_992 (234) = happyGoto action_1051
+action_992 (245) = happyGoto action_131
+action_992 (248) = happyGoto action_1052
+action_992 (249) = happyGoto action_47
+action_992 (270) = happyGoto action_133
+action_992 (271) = happyGoto action_134
+action_992 _ = happyFail
+
+action_993 (122) = happyGoto action_1045
+action_993 _ = happyReduce_302
+
+action_994 _ = happyReduce_358
+
+action_995 (377) = happyShift action_998
+action_995 (141) = happyGoto action_1044
+action_995 _ = happyReduce_336
+
+action_996 (304) = happyShift action_1043
+action_996 (258) = happyGoto action_1042
+action_996 _ = happyReduce_714
+
+action_997 _ = happyReduce_112
+
+action_998 (282) = happyShift action_53
+action_998 (283) = happyShift action_54
+action_998 (299) = happyShift action_1041
+action_998 (143) = happyGoto action_1039
+action_998 (248) = happyGoto action_1040
+action_998 (249) = happyGoto action_47
+action_998 _ = happyFail
+
+action_999 (377) = happyShift action_998
+action_999 (141) = happyGoto action_1038
+action_999 _ = happyReduce_336
+
+action_1000 (401) = happyShift action_996
+action_1000 (129) = happyGoto action_1037
+action_1000 _ = happyReduce_315
+
+action_1001 (313) = happyShift action_1036
+action_1001 _ = happyFail
+
+action_1002 (313) = happyShift action_1035
+action_1002 _ = happyFail
+
+action_1003 (285) = happyShift action_211
+action_1003 (286) = happyShift action_186
+action_1003 (313) = happyShift action_799
+action_1003 (314) = happyShift action_214
+action_1003 (327) = happyShift action_216
+action_1003 (328) = happyShift action_340
+action_1003 (329) = happyShift action_218
+action_1003 (235) = happyGoto action_794
+action_1003 (238) = happyGoto action_795
+action_1003 (240) = happyGoto action_1034
+action_1003 (251) = happyGoto action_797
+action_1003 (254) = happyGoto action_798
+action_1003 (255) = happyGoto action_209
+action_1003 _ = happyFail
+
+action_1004 _ = happyReduce_578
+
+action_1005 _ = happyReduce_580
+
+action_1006 (401) = happyShift action_983
+action_1006 (163) = happyGoto action_1033
+action_1006 _ = happyReduce_392
+
+action_1007 (320) = happyShift action_628
+action_1007 (214) = happyGoto action_1032
+action_1007 _ = happyReduce_596
+
+action_1008 _ = happyReduce_598
+
+action_1009 (278) = happyShift action_49
+action_1009 (279) = happyShift action_50
+action_1009 (280) = happyShift action_51
+action_1009 (281) = happyShift action_52
+action_1009 (282) = happyShift action_53
+action_1009 (283) = happyShift action_54
+action_1009 (289) = happyShift action_55
+action_1009 (290) = happyShift action_56
+action_1009 (291) = happyShift action_57
+action_1009 (292) = happyShift action_58
+action_1009 (293) = happyShift action_59
+action_1009 (294) = happyShift action_60
+action_1009 (295) = happyShift action_61
+action_1009 (296) = happyShift action_62
+action_1009 (297) = happyShift action_63
+action_1009 (298) = happyShift action_64
+action_1009 (299) = happyShift action_65
+action_1009 (301) = happyShift action_66
+action_1009 (307) = happyShift action_67
+action_1009 (309) = happyShift action_68
+action_1009 (312) = happyShift action_69
+action_1009 (319) = happyShift action_70
+action_1009 (324) = happyShift action_71
+action_1009 (325) = happyShift action_72
+action_1009 (327) = happyShift action_73
+action_1009 (334) = happyShift action_75
+action_1009 (337) = happyShift action_76
+action_1009 (338) = happyShift action_77
+action_1009 (339) = happyShift action_78
+action_1009 (340) = happyShift action_79
+action_1009 (341) = happyShift action_80
+action_1009 (342) = happyShift action_81
+action_1009 (344) = happyShift action_82
+action_1009 (345) = happyShift action_83
+action_1009 (346) = happyShift action_84
+action_1009 (348) = happyShift action_85
+action_1009 (350) = happyShift action_86
+action_1009 (351) = happyShift action_87
+action_1009 (358) = happyShift action_88
+action_1009 (359) = happyShift action_89
+action_1009 (360) = happyShift action_90
+action_1009 (361) = happyShift action_91
+action_1009 (362) = happyShift action_92
+action_1009 (363) = happyShift action_93
+action_1009 (364) = happyShift action_94
+action_1009 (365) = happyShift action_95
+action_1009 (366) = happyShift action_96
+action_1009 (367) = happyShift action_97
+action_1009 (368) = happyShift action_98
+action_1009 (369) = happyShift action_99
+action_1009 (370) = happyShift action_100
+action_1009 (371) = happyShift action_101
+action_1009 (373) = happyShift action_102
+action_1009 (378) = happyShift action_103
+action_1009 (380) = happyShift action_104
+action_1009 (381) = happyShift action_105
+action_1009 (383) = happyShift action_106
+action_1009 (384) = happyShift action_107
+action_1009 (391) = happyShift action_159
+action_1009 (392) = happyShift action_109
+action_1009 (396) = happyShift action_110
+action_1009 (402) = happyShift action_112
+action_1009 (403) = happyShift action_113
+action_1009 (411) = happyShift action_114
+action_1009 (412) = happyShift action_115
+action_1009 (413) = happyShift action_116
+action_1009 (168) = happyGoto action_1031
+action_1009 (169) = happyGoto action_161
+action_1009 (170) = happyGoto action_25
+action_1009 (171) = happyGoto action_26
+action_1009 (172) = happyGoto action_27
+action_1009 (173) = happyGoto action_28
+action_1009 (176) = happyGoto action_29
+action_1009 (177) = happyGoto action_30
+action_1009 (178) = happyGoto action_31
+action_1009 (181) = happyGoto action_32
+action_1009 (182) = happyGoto action_33
+action_1009 (183) = happyGoto action_34
+action_1009 (190) = happyGoto action_35
+action_1009 (228) = happyGoto action_38
+action_1009 (231) = happyGoto action_39
+action_1009 (232) = happyGoto action_40
+action_1009 (234) = happyGoto action_41
+action_1009 (244) = happyGoto action_42
+action_1009 (245) = happyGoto action_43
+action_1009 (246) = happyGoto action_44
+action_1009 (247) = happyGoto action_45
+action_1009 (248) = happyGoto action_46
+action_1009 (249) = happyGoto action_47
+action_1009 (257) = happyGoto action_48
+action_1009 _ = happyFail
+
+action_1010 (278) = happyShift action_49
+action_1010 (279) = happyShift action_50
+action_1010 (280) = happyShift action_51
+action_1010 (281) = happyShift action_52
+action_1010 (282) = happyShift action_53
+action_1010 (283) = happyShift action_54
+action_1010 (289) = happyShift action_55
+action_1010 (290) = happyShift action_56
+action_1010 (291) = happyShift action_57
+action_1010 (292) = happyShift action_58
+action_1010 (293) = happyShift action_59
+action_1010 (294) = happyShift action_60
+action_1010 (295) = happyShift action_61
+action_1010 (296) = happyShift action_62
+action_1010 (297) = happyShift action_63
+action_1010 (298) = happyShift action_64
+action_1010 (299) = happyShift action_65
+action_1010 (301) = happyShift action_66
+action_1010 (307) = happyShift action_67
+action_1010 (309) = happyShift action_68
+action_1010 (312) = happyShift action_69
+action_1010 (319) = happyShift action_70
+action_1010 (324) = happyShift action_71
+action_1010 (325) = happyShift action_72
+action_1010 (327) = happyShift action_73
+action_1010 (328) = happyShift action_74
+action_1010 (334) = happyShift action_75
+action_1010 (337) = happyShift action_76
+action_1010 (338) = happyShift action_77
+action_1010 (339) = happyShift action_78
+action_1010 (340) = happyShift action_79
+action_1010 (341) = happyShift action_80
+action_1010 (342) = happyShift action_81
+action_1010 (344) = happyShift action_82
+action_1010 (345) = happyShift action_83
+action_1010 (346) = happyShift action_84
+action_1010 (348) = happyShift action_85
+action_1010 (350) = happyShift action_86
+action_1010 (351) = happyShift action_87
+action_1010 (358) = happyShift action_88
+action_1010 (359) = happyShift action_89
+action_1010 (360) = happyShift action_90
+action_1010 (361) = happyShift action_91
+action_1010 (362) = happyShift action_92
+action_1010 (363) = happyShift action_93
+action_1010 (364) = happyShift action_94
+action_1010 (365) = happyShift action_95
+action_1010 (366) = happyShift action_96
+action_1010 (367) = happyShift action_97
+action_1010 (368) = happyShift action_98
+action_1010 (369) = happyShift action_99
+action_1010 (370) = happyShift action_100
+action_1010 (371) = happyShift action_101
+action_1010 (373) = happyShift action_102
+action_1010 (378) = happyShift action_103
+action_1010 (380) = happyShift action_104
+action_1010 (381) = happyShift action_105
+action_1010 (383) = happyShift action_106
+action_1010 (384) = happyShift action_107
+action_1010 (391) = happyShift action_159
+action_1010 (392) = happyShift action_109
+action_1010 (396) = happyShift action_110
+action_1010 (402) = happyShift action_112
+action_1010 (403) = happyShift action_113
+action_1010 (411) = happyShift action_114
+action_1010 (412) = happyShift action_115
+action_1010 (413) = happyShift action_116
+action_1010 (169) = happyGoto action_157
+action_1010 (170) = happyGoto action_25
+action_1010 (171) = happyGoto action_26
+action_1010 (172) = happyGoto action_27
+action_1010 (173) = happyGoto action_28
+action_1010 (176) = happyGoto action_29
+action_1010 (177) = happyGoto action_30
+action_1010 (178) = happyGoto action_31
+action_1010 (181) = happyGoto action_32
+action_1010 (182) = happyGoto action_33
+action_1010 (183) = happyGoto action_34
+action_1010 (190) = happyGoto action_35
+action_1010 (211) = happyGoto action_1030
+action_1010 (215) = happyGoto action_788
+action_1010 (228) = happyGoto action_38
+action_1010 (231) = happyGoto action_39
+action_1010 (232) = happyGoto action_40
+action_1010 (234) = happyGoto action_41
+action_1010 (244) = happyGoto action_42
+action_1010 (245) = happyGoto action_43
+action_1010 (246) = happyGoto action_44
+action_1010 (247) = happyGoto action_45
+action_1010 (248) = happyGoto action_46
+action_1010 (249) = happyGoto action_47
+action_1010 (257) = happyGoto action_48
+action_1010 _ = happyReduce_40
+
+action_1011 (303) = happyShift action_566
+action_1011 _ = happyReduce_591
+
+action_1012 _ = happyReduce_569
+
+action_1013 (278) = happyShift action_49
+action_1013 (279) = happyShift action_50
+action_1013 (280) = happyShift action_51
+action_1013 (281) = happyShift action_52
+action_1013 (282) = happyShift action_53
+action_1013 (283) = happyShift action_54
+action_1013 (289) = happyShift action_55
+action_1013 (290) = happyShift action_56
+action_1013 (291) = happyShift action_57
+action_1013 (292) = happyShift action_58
+action_1013 (293) = happyShift action_59
+action_1013 (294) = happyShift action_60
+action_1013 (295) = happyShift action_61
+action_1013 (296) = happyShift action_62
+action_1013 (297) = happyShift action_63
+action_1013 (298) = happyShift action_64
+action_1013 (299) = happyShift action_65
+action_1013 (301) = happyShift action_66
+action_1013 (307) = happyShift action_67
+action_1013 (309) = happyShift action_68
+action_1013 (312) = happyShift action_69
+action_1013 (319) = happyShift action_70
+action_1013 (324) = happyShift action_71
+action_1013 (325) = happyShift action_72
+action_1013 (327) = happyShift action_73
+action_1013 (334) = happyShift action_75
+action_1013 (337) = happyShift action_76
+action_1013 (338) = happyShift action_77
+action_1013 (339) = happyShift action_78
+action_1013 (340) = happyShift action_79
+action_1013 (341) = happyShift action_80
+action_1013 (342) = happyShift action_81
+action_1013 (344) = happyShift action_82
+action_1013 (345) = happyShift action_83
+action_1013 (346) = happyShift action_84
+action_1013 (348) = happyShift action_85
+action_1013 (350) = happyShift action_86
+action_1013 (351) = happyShift action_87
+action_1013 (358) = happyShift action_88
+action_1013 (359) = happyShift action_89
+action_1013 (360) = happyShift action_90
+action_1013 (361) = happyShift action_91
+action_1013 (362) = happyShift action_92
+action_1013 (363) = happyShift action_93
+action_1013 (364) = happyShift action_94
+action_1013 (365) = happyShift action_95
+action_1013 (366) = happyShift action_96
+action_1013 (367) = happyShift action_97
+action_1013 (368) = happyShift action_98
+action_1013 (369) = happyShift action_99
+action_1013 (370) = happyShift action_100
+action_1013 (371) = happyShift action_101
+action_1013 (373) = happyShift action_102
+action_1013 (378) = happyShift action_103
+action_1013 (380) = happyShift action_104
+action_1013 (381) = happyShift action_105
+action_1013 (383) = happyShift action_106
+action_1013 (384) = happyShift action_107
+action_1013 (391) = happyShift action_159
+action_1013 (392) = happyShift action_109
+action_1013 (396) = happyShift action_110
+action_1013 (402) = happyShift action_112
+action_1013 (403) = happyShift action_113
+action_1013 (411) = happyShift action_114
+action_1013 (412) = happyShift action_115
+action_1013 (413) = happyShift action_116
+action_1013 (168) = happyGoto action_1029
+action_1013 (169) = happyGoto action_161
+action_1013 (170) = happyGoto action_25
+action_1013 (171) = happyGoto action_26
+action_1013 (172) = happyGoto action_27
+action_1013 (173) = happyGoto action_28
+action_1013 (176) = happyGoto action_29
+action_1013 (177) = happyGoto action_30
+action_1013 (178) = happyGoto action_31
+action_1013 (181) = happyGoto action_32
+action_1013 (182) = happyGoto action_33
+action_1013 (183) = happyGoto action_34
+action_1013 (190) = happyGoto action_35
+action_1013 (228) = happyGoto action_38
+action_1013 (231) = happyGoto action_39
+action_1013 (232) = happyGoto action_40
+action_1013 (234) = happyGoto action_41
+action_1013 (244) = happyGoto action_42
+action_1013 (245) = happyGoto action_43
+action_1013 (246) = happyGoto action_44
+action_1013 (247) = happyGoto action_45
+action_1013 (248) = happyGoto action_46
+action_1013 (249) = happyGoto action_47
+action_1013 (257) = happyGoto action_48
+action_1013 _ = happyFail
+
+action_1014 (278) = happyShift action_49
+action_1014 (279) = happyShift action_50
+action_1014 (280) = happyShift action_51
+action_1014 (281) = happyShift action_52
+action_1014 (282) = happyShift action_53
+action_1014 (283) = happyShift action_54
+action_1014 (289) = happyShift action_55
+action_1014 (290) = happyShift action_56
+action_1014 (291) = happyShift action_57
+action_1014 (292) = happyShift action_58
+action_1014 (293) = happyShift action_59
+action_1014 (294) = happyShift action_60
+action_1014 (295) = happyShift action_61
+action_1014 (296) = happyShift action_62
+action_1014 (297) = happyShift action_63
+action_1014 (298) = happyShift action_64
+action_1014 (299) = happyShift action_65
+action_1014 (301) = happyShift action_66
+action_1014 (307) = happyShift action_67
+action_1014 (309) = happyShift action_68
+action_1014 (312) = happyShift action_69
+action_1014 (319) = happyShift action_70
+action_1014 (324) = happyShift action_71
+action_1014 (325) = happyShift action_72
+action_1014 (327) = happyShift action_73
+action_1014 (334) = happyShift action_75
+action_1014 (337) = happyShift action_76
+action_1014 (338) = happyShift action_77
+action_1014 (339) = happyShift action_78
+action_1014 (340) = happyShift action_79
+action_1014 (341) = happyShift action_80
+action_1014 (342) = happyShift action_81
+action_1014 (344) = happyShift action_82
+action_1014 (345) = happyShift action_83
+action_1014 (346) = happyShift action_84
+action_1014 (348) = happyShift action_85
+action_1014 (350) = happyShift action_86
+action_1014 (351) = happyShift action_87
+action_1014 (358) = happyShift action_88
+action_1014 (359) = happyShift action_89
+action_1014 (360) = happyShift action_90
+action_1014 (361) = happyShift action_91
+action_1014 (362) = happyShift action_92
+action_1014 (363) = happyShift action_93
+action_1014 (364) = happyShift action_94
+action_1014 (365) = happyShift action_95
+action_1014 (366) = happyShift action_96
+action_1014 (367) = happyShift action_97
+action_1014 (368) = happyShift action_98
+action_1014 (369) = happyShift action_99
+action_1014 (370) = happyShift action_100
+action_1014 (371) = happyShift action_101
+action_1014 (373) = happyShift action_102
+action_1014 (378) = happyShift action_103
+action_1014 (380) = happyShift action_104
+action_1014 (381) = happyShift action_105
+action_1014 (383) = happyShift action_106
+action_1014 (384) = happyShift action_107
+action_1014 (391) = happyShift action_159
+action_1014 (392) = happyShift action_109
+action_1014 (396) = happyShift action_110
+action_1014 (402) = happyShift action_112
+action_1014 (403) = happyShift action_113
+action_1014 (411) = happyShift action_114
+action_1014 (412) = happyShift action_115
+action_1014 (413) = happyShift action_116
+action_1014 (168) = happyGoto action_1028
+action_1014 (169) = happyGoto action_161
+action_1014 (170) = happyGoto action_25
+action_1014 (171) = happyGoto action_26
+action_1014 (172) = happyGoto action_27
+action_1014 (173) = happyGoto action_28
+action_1014 (176) = happyGoto action_29
+action_1014 (177) = happyGoto action_30
+action_1014 (178) = happyGoto action_31
+action_1014 (181) = happyGoto action_32
+action_1014 (182) = happyGoto action_33
+action_1014 (183) = happyGoto action_34
+action_1014 (190) = happyGoto action_35
+action_1014 (228) = happyGoto action_38
+action_1014 (231) = happyGoto action_39
+action_1014 (232) = happyGoto action_40
+action_1014 (234) = happyGoto action_41
+action_1014 (244) = happyGoto action_42
+action_1014 (245) = happyGoto action_43
+action_1014 (246) = happyGoto action_44
+action_1014 (247) = happyGoto action_45
+action_1014 (248) = happyGoto action_46
+action_1014 (249) = happyGoto action_47
+action_1014 (257) = happyGoto action_48
+action_1014 _ = happyFail
+
+action_1015 (278) = happyShift action_49
+action_1015 (279) = happyShift action_50
+action_1015 (280) = happyShift action_51
+action_1015 (281) = happyShift action_52
+action_1015 (282) = happyShift action_53
+action_1015 (283) = happyShift action_54
+action_1015 (289) = happyShift action_55
+action_1015 (290) = happyShift action_56
+action_1015 (291) = happyShift action_57
+action_1015 (292) = happyShift action_58
+action_1015 (293) = happyShift action_59
+action_1015 (294) = happyShift action_60
+action_1015 (295) = happyShift action_61
+action_1015 (296) = happyShift action_62
+action_1015 (297) = happyShift action_63
+action_1015 (298) = happyShift action_64
+action_1015 (299) = happyShift action_65
+action_1015 (301) = happyShift action_66
+action_1015 (307) = happyShift action_67
+action_1015 (309) = happyShift action_68
+action_1015 (312) = happyShift action_69
+action_1015 (319) = happyShift action_70
+action_1015 (324) = happyShift action_71
+action_1015 (325) = happyShift action_72
+action_1015 (327) = happyShift action_73
+action_1015 (334) = happyShift action_75
+action_1015 (337) = happyShift action_76
+action_1015 (338) = happyShift action_77
+action_1015 (339) = happyShift action_78
+action_1015 (340) = happyShift action_79
+action_1015 (341) = happyShift action_80
+action_1015 (342) = happyShift action_81
+action_1015 (344) = happyShift action_82
+action_1015 (345) = happyShift action_83
+action_1015 (346) = happyShift action_84
+action_1015 (348) = happyShift action_85
+action_1015 (350) = happyShift action_86
+action_1015 (351) = happyShift action_87
+action_1015 (358) = happyShift action_88
+action_1015 (359) = happyShift action_89
+action_1015 (360) = happyShift action_90
+action_1015 (361) = happyShift action_91
+action_1015 (362) = happyShift action_92
+action_1015 (363) = happyShift action_93
+action_1015 (364) = happyShift action_94
+action_1015 (365) = happyShift action_95
+action_1015 (366) = happyShift action_96
+action_1015 (367) = happyShift action_97
+action_1015 (368) = happyShift action_98
+action_1015 (369) = happyShift action_99
+action_1015 (370) = happyShift action_100
+action_1015 (371) = happyShift action_101
+action_1015 (373) = happyShift action_102
+action_1015 (378) = happyShift action_103
+action_1015 (380) = happyShift action_104
+action_1015 (381) = happyShift action_105
+action_1015 (383) = happyShift action_106
+action_1015 (384) = happyShift action_107
+action_1015 (391) = happyShift action_159
+action_1015 (392) = happyShift action_109
+action_1015 (396) = happyShift action_110
+action_1015 (402) = happyShift action_112
+action_1015 (403) = happyShift action_113
+action_1015 (411) = happyShift action_114
+action_1015 (412) = happyShift action_115
+action_1015 (413) = happyShift action_116
+action_1015 (168) = happyGoto action_1027
+action_1015 (169) = happyGoto action_161
+action_1015 (170) = happyGoto action_25
+action_1015 (171) = happyGoto action_26
+action_1015 (172) = happyGoto action_27
+action_1015 (173) = happyGoto action_28
+action_1015 (176) = happyGoto action_29
+action_1015 (177) = happyGoto action_30
+action_1015 (178) = happyGoto action_31
+action_1015 (181) = happyGoto action_32
+action_1015 (182) = happyGoto action_33
+action_1015 (183) = happyGoto action_34
+action_1015 (190) = happyGoto action_35
+action_1015 (228) = happyGoto action_38
+action_1015 (231) = happyGoto action_39
+action_1015 (232) = happyGoto action_40
+action_1015 (234) = happyGoto action_41
+action_1015 (244) = happyGoto action_42
+action_1015 (245) = happyGoto action_43
+action_1015 (246) = happyGoto action_44
+action_1015 (247) = happyGoto action_45
+action_1015 (248) = happyGoto action_46
+action_1015 (249) = happyGoto action_47
+action_1015 (257) = happyGoto action_48
+action_1015 _ = happyFail
+
+action_1016 _ = happyReduce_587
+
+action_1017 (311) = happyShift action_783
+action_1017 _ = happyReduce_567
+
+action_1018 _ = happyReduce_563
+
+action_1019 (371) = happyShift action_1026
+action_1019 (41) = happyGoto action_1025
+action_1019 _ = happyReduce_72
+
+action_1020 (385) = happyShift action_22
+action_1020 (36) = happyGoto action_888
+action_1020 _ = happyReduce_40
+
+action_1021 (303) = happyShift action_566
+action_1021 (305) = happyShift action_1024
+action_1021 _ = happyFail
+
+action_1022 (1) = happyShift action_400
+action_1022 (303) = happyShift action_566
+action_1022 (306) = happyShift action_401
+action_1022 (259) = happyGoto action_1023
+action_1022 _ = happyFail
+
+action_1023 _ = happyReduce_746
+
+action_1024 _ = happyReduce_745
+
+action_1025 (299) = happyReduce_78
+action_1025 (383) = happyShift action_1175
+action_1025 (42) = happyGoto action_1172
+action_1025 (43) = happyGoto action_1173
+action_1025 (44) = happyGoto action_1174
+action_1025 _ = happyReduce_74
+
+action_1026 (282) = happyShift action_403
+action_1026 (283) = happyShift action_404
+action_1026 (267) = happyGoto action_1171
+action_1026 _ = happyFail
+
+action_1027 _ = happyReduce_574
+
+action_1028 _ = happyReduce_576
+
+action_1029 (400) = happyShift action_1170
+action_1029 _ = happyReduce_575
+
+action_1030 _ = happyReduce_592
+
+action_1031 _ = happyReduce_595
+
+action_1032 _ = happyReduce_597
+
+action_1033 _ = happyReduce_594
+
+action_1034 _ = happyReduce_98
+
+action_1035 _ = happyReduce_651
+
+action_1036 _ = happyReduce_645
+
+action_1037 (377) = happyShift action_998
+action_1037 (141) = happyGoto action_1169
+action_1037 _ = happyReduce_336
+
+action_1038 _ = happyReduce_115
+
+action_1039 _ = happyReduce_337
+
+action_1040 _ = happyReduce_341
+
+action_1041 (278) = happyShift action_49
+action_1041 (280) = happyShift action_51
+action_1041 (281) = happyShift action_52
+action_1041 (282) = happyShift action_53
+action_1041 (283) = happyShift action_54
+action_1041 (289) = happyShift action_135
+action_1041 (292) = happyShift action_136
+action_1041 (299) = happyShift action_137
+action_1041 (300) = happyShift action_1168
+action_1041 (301) = happyShift action_138
+action_1041 (307) = happyShift action_139
+action_1041 (309) = happyShift action_140
+action_1041 (312) = happyShift action_141
+action_1041 (325) = happyShift action_142
+action_1041 (328) = happyShift action_143
+action_1041 (337) = happyShift action_144
+action_1041 (338) = happyShift action_145
+action_1041 (344) = happyShift action_146
+action_1041 (346) = happyShift action_147
+action_1041 (358) = happyShift action_88
+action_1041 (359) = happyShift action_148
+action_1041 (360) = happyShift action_149
+action_1041 (361) = happyShift action_150
+action_1041 (363) = happyShift action_93
+action_1041 (364) = happyShift action_94
+action_1041 (365) = happyShift action_95
+action_1041 (366) = happyShift action_96
+action_1041 (367) = happyShift action_97
+action_1041 (368) = happyShift action_98
+action_1041 (369) = happyShift action_99
+action_1041 (370) = happyShift action_100
+action_1041 (371) = happyShift action_101
+action_1041 (381) = happyShift action_151
+action_1041 (383) = happyShift action_106
+action_1041 (402) = happyShift action_112
+action_1041 (416) = happyShift action_152
+action_1041 (417) = happyShift action_153
+action_1041 (103) = happyGoto action_117
+action_1041 (105) = happyGoto action_118
+action_1041 (108) = happyGoto action_119
+action_1041 (109) = happyGoto action_120
+action_1041 (110) = happyGoto action_121
+action_1041 (111) = happyGoto action_122
+action_1041 (112) = happyGoto action_123
+action_1041 (113) = happyGoto action_124
+action_1041 (114) = happyGoto action_125
+action_1041 (115) = happyGoto action_126
+action_1041 (118) = happyGoto action_195
+action_1041 (119) = happyGoto action_129
+action_1041 (121) = happyGoto action_1166
+action_1041 (142) = happyGoto action_1167
+action_1041 (232) = happyGoto action_130
+action_1041 (245) = happyGoto action_131
+action_1041 (247) = happyGoto action_45
+action_1041 (248) = happyGoto action_132
+action_1041 (249) = happyGoto action_47
+action_1041 (270) = happyGoto action_133
+action_1041 (271) = happyGoto action_134
+action_1041 _ = happyFail
+
+action_1042 (27) = happyGoto action_175
+action_1042 (28) = happyGoto action_1163
+action_1042 (130) = happyGoto action_1165
+action_1042 _ = happyReduce_41
+
+action_1043 (27) = happyGoto action_175
+action_1043 (28) = happyGoto action_1163
+action_1043 (130) = happyGoto action_1164
+action_1043 _ = happyReduce_41
+
+action_1044 _ = happyReduce_113
+
+action_1045 (278) = happyShift action_49
+action_1045 (299) = happyShift action_560
+action_1045 (314) = happyShift action_1162
+action_1045 (358) = happyShift action_88
+action_1045 (359) = happyShift action_148
+action_1045 (360) = happyShift action_149
+action_1045 (361) = happyShift action_150
+action_1045 (363) = happyShift action_93
+action_1045 (364) = happyShift action_94
+action_1045 (365) = happyShift action_95
+action_1045 (366) = happyShift action_96
+action_1045 (367) = happyShift action_97
+action_1045 (368) = happyShift action_98
+action_1045 (369) = happyShift action_99
+action_1045 (370) = happyShift action_100
+action_1045 (371) = happyShift action_101
+action_1045 (383) = happyShift action_106
+action_1045 (402) = happyShift action_112
+action_1045 (123) = happyGoto action_558
+action_1045 (245) = happyGoto action_131
+action_1045 (270) = happyGoto action_559
+action_1045 (271) = happyGoto action_134
+action_1045 _ = happyFail
+
+action_1046 (286) = happyShift action_186
+action_1046 (313) = happyShift action_1161
+action_1046 (238) = happyGoto action_1160
+action_1046 (251) = happyGoto action_797
+action_1046 _ = happyFail
+
+action_1047 (278) = happyShift action_49
+action_1047 (282) = happyShift action_53
+action_1047 (283) = happyShift action_54
+action_1047 (286) = happyReduce_248
+action_1047 (289) = happyShift action_135
+action_1047 (292) = happyShift action_136
+action_1047 (299) = happyShift action_137
+action_1047 (301) = happyShift action_138
+action_1047 (307) = happyShift action_139
+action_1047 (309) = happyShift action_140
+action_1047 (312) = happyShift action_141
+action_1047 (313) = happyReduce_248
+action_1047 (325) = happyShift action_142
+action_1047 (326) = happyShift action_232
+action_1047 (328) = happyShift action_143
+action_1047 (337) = happyShift action_144
+action_1047 (338) = happyShift action_145
+action_1047 (344) = happyShift action_146
+action_1047 (346) = happyShift action_147
+action_1047 (358) = happyShift action_88
+action_1047 (359) = happyShift action_148
+action_1047 (360) = happyShift action_149
+action_1047 (361) = happyShift action_150
+action_1047 (363) = happyShift action_93
+action_1047 (364) = happyShift action_94
+action_1047 (365) = happyShift action_95
+action_1047 (366) = happyShift action_96
+action_1047 (367) = happyShift action_97
+action_1047 (368) = happyShift action_98
+action_1047 (369) = happyShift action_99
+action_1047 (370) = happyShift action_100
+action_1047 (371) = happyShift action_101
+action_1047 (383) = happyShift action_106
+action_1047 (402) = happyShift action_112
+action_1047 (416) = happyShift action_152
+action_1047 (417) = happyShift action_153
+action_1047 (109) = happyGoto action_223
+action_1047 (110) = happyGoto action_121
+action_1047 (111) = happyGoto action_122
+action_1047 (112) = happyGoto action_123
+action_1047 (113) = happyGoto action_124
+action_1047 (114) = happyGoto action_125
+action_1047 (115) = happyGoto action_126
+action_1047 (245) = happyGoto action_131
+action_1047 (248) = happyGoto action_132
+action_1047 (249) = happyGoto action_47
+action_1047 (270) = happyGoto action_133
+action_1047 (271) = happyGoto action_134
+action_1047 _ = happyReduce_332
+
+action_1048 (278) = happyShift action_49
+action_1048 (282) = happyShift action_53
+action_1048 (283) = happyShift action_54
+action_1048 (289) = happyShift action_135
+action_1048 (292) = happyShift action_136
+action_1048 (299) = happyShift action_1053
+action_1048 (301) = happyShift action_138
+action_1048 (307) = happyShift action_139
+action_1048 (309) = happyShift action_140
+action_1048 (312) = happyShift action_141
+action_1048 (325) = happyShift action_142
+action_1048 (328) = happyShift action_143
+action_1048 (337) = happyShift action_144
+action_1048 (338) = happyShift action_145
+action_1048 (344) = happyShift action_146
+action_1048 (346) = happyShift action_147
+action_1048 (358) = happyShift action_88
+action_1048 (359) = happyShift action_148
+action_1048 (360) = happyShift action_149
+action_1048 (361) = happyShift action_150
+action_1048 (363) = happyShift action_93
+action_1048 (364) = happyShift action_94
+action_1048 (365) = happyShift action_95
+action_1048 (366) = happyShift action_96
+action_1048 (367) = happyShift action_97
+action_1048 (368) = happyShift action_98
+action_1048 (369) = happyShift action_99
+action_1048 (370) = happyShift action_100
+action_1048 (371) = happyShift action_101
+action_1048 (383) = happyShift action_106
+action_1048 (402) = happyShift action_112
+action_1048 (416) = happyShift action_152
+action_1048 (417) = happyShift action_153
+action_1048 (106) = happyGoto action_1046
+action_1048 (108) = happyGoto action_1158
+action_1048 (109) = happyGoto action_120
+action_1048 (110) = happyGoto action_121
+action_1048 (111) = happyGoto action_122
+action_1048 (112) = happyGoto action_123
+action_1048 (113) = happyGoto action_124
+action_1048 (114) = happyGoto action_125
+action_1048 (115) = happyGoto action_126
+action_1048 (137) = happyGoto action_1159
+action_1048 (138) = happyGoto action_1050
+action_1048 (234) = happyGoto action_1051
+action_1048 (245) = happyGoto action_131
+action_1048 (248) = happyGoto action_1052
+action_1048 (249) = happyGoto action_47
+action_1048 (270) = happyGoto action_133
+action_1048 (271) = happyGoto action_134
+action_1048 _ = happyFail
+
+action_1049 _ = happyReduce_325
+
+action_1050 _ = happyReduce_328
+
+action_1051 (304) = happyShift action_1157
+action_1051 _ = happyFail
+
+action_1052 (304) = happyReduce_642
+action_1052 _ = happyReduce_289
+
+action_1053 (278) = happyShift action_49
+action_1053 (280) = happyShift action_51
+action_1053 (281) = happyShift action_52
+action_1053 (282) = happyShift action_53
+action_1053 (283) = happyShift action_54
+action_1053 (285) = happyShift action_211
+action_1053 (286) = happyShift action_186
+action_1053 (287) = happyShift action_212
+action_1053 (288) = happyShift action_187
+action_1053 (289) = happyShift action_135
+action_1053 (292) = happyShift action_136
+action_1053 (299) = happyShift action_137
+action_1053 (300) = happyShift action_213
+action_1053 (301) = happyShift action_138
+action_1053 (307) = happyShift action_139
+action_1053 (309) = happyShift action_140
+action_1053 (311) = happyShift action_202
+action_1053 (312) = happyShift action_141
+action_1053 (314) = happyShift action_214
+action_1053 (316) = happyShift action_190
+action_1053 (322) = happyShift action_215
+action_1053 (325) = happyShift action_142
+action_1053 (327) = happyShift action_216
+action_1053 (328) = happyShift action_217
+action_1053 (329) = happyShift action_218
+action_1053 (337) = happyShift action_144
+action_1053 (338) = happyShift action_145
+action_1053 (344) = happyShift action_146
+action_1053 (346) = happyShift action_147
+action_1053 (358) = happyShift action_88
+action_1053 (359) = happyShift action_148
+action_1053 (360) = happyShift action_149
+action_1053 (361) = happyShift action_150
+action_1053 (363) = happyShift action_93
+action_1053 (364) = happyShift action_94
+action_1053 (365) = happyShift action_95
+action_1053 (366) = happyShift action_96
+action_1053 (367) = happyShift action_97
+action_1053 (368) = happyShift action_98
+action_1053 (369) = happyShift action_99
+action_1053 (370) = happyShift action_100
+action_1053 (371) = happyShift action_101
+action_1053 (381) = happyShift action_151
+action_1053 (383) = happyShift action_106
+action_1053 (402) = happyShift action_112
+action_1053 (416) = happyShift action_152
+action_1053 (417) = happyShift action_153
+action_1053 (103) = happyGoto action_117
+action_1053 (105) = happyGoto action_118
+action_1053 (108) = happyGoto action_119
+action_1053 (109) = happyGoto action_120
+action_1053 (110) = happyGoto action_121
+action_1053 (111) = happyGoto action_122
+action_1053 (112) = happyGoto action_123
+action_1053 (113) = happyGoto action_124
+action_1053 (114) = happyGoto action_125
+action_1053 (115) = happyGoto action_126
+action_1053 (118) = happyGoto action_203
+action_1053 (119) = happyGoto action_129
+action_1053 (120) = happyGoto action_204
+action_1053 (121) = happyGoto action_197
+action_1053 (184) = happyGoto action_205
+action_1053 (232) = happyGoto action_130
+action_1053 (243) = happyGoto action_1156
+action_1053 (245) = happyGoto action_131
+action_1053 (247) = happyGoto action_45
+action_1053 (248) = happyGoto action_132
+action_1053 (249) = happyGoto action_47
+action_1053 (250) = happyGoto action_183
+action_1053 (251) = happyGoto action_184
+action_1053 (252) = happyGoto action_207
+action_1053 (254) = happyGoto action_208
+action_1053 (255) = happyGoto action_209
+action_1053 (256) = happyGoto action_210
+action_1053 (270) = happyGoto action_133
+action_1053 (271) = happyGoto action_134
+action_1053 _ = happyFail
+
+action_1054 (381) = happyShift action_993
+action_1054 (135) = happyGoto action_1155
+action_1054 (136) = happyGoto action_992
+action_1054 _ = happyReduce_327
+
+action_1055 _ = happyReduce_176
+
+action_1056 _ = happyReduce_197
+
+action_1057 (285) = happyShift action_211
+action_1057 (314) = happyShift action_214
+action_1057 (327) = happyShift action_216
+action_1057 (328) = happyShift action_340
+action_1057 (329) = happyShift action_218
+action_1057 (254) = happyGoto action_760
+action_1057 (255) = happyGoto action_209
+action_1057 _ = happyFail
+
+action_1058 (278) = happyShift action_49
+action_1058 (279) = happyShift action_50
+action_1058 (280) = happyShift action_51
+action_1058 (281) = happyShift action_52
+action_1058 (282) = happyShift action_53
+action_1058 (283) = happyShift action_54
+action_1058 (289) = happyShift action_55
+action_1058 (290) = happyShift action_56
+action_1058 (291) = happyShift action_57
+action_1058 (292) = happyShift action_58
+action_1058 (293) = happyShift action_59
+action_1058 (294) = happyShift action_60
+action_1058 (295) = happyShift action_61
+action_1058 (296) = happyShift action_62
+action_1058 (297) = happyShift action_63
+action_1058 (298) = happyShift action_64
+action_1058 (299) = happyShift action_65
+action_1058 (301) = happyShift action_66
+action_1058 (307) = happyShift action_67
+action_1058 (309) = happyShift action_68
+action_1058 (312) = happyShift action_69
+action_1058 (319) = happyShift action_70
+action_1058 (324) = happyShift action_71
+action_1058 (325) = happyShift action_72
+action_1058 (327) = happyShift action_73
+action_1058 (334) = happyShift action_75
+action_1058 (337) = happyShift action_76
+action_1058 (338) = happyShift action_77
+action_1058 (339) = happyShift action_78
+action_1058 (340) = happyShift action_79
+action_1058 (341) = happyShift action_80
+action_1058 (342) = happyShift action_81
+action_1058 (344) = happyShift action_82
+action_1058 (345) = happyShift action_83
+action_1058 (346) = happyShift action_84
+action_1058 (348) = happyShift action_85
+action_1058 (350) = happyShift action_86
+action_1058 (351) = happyShift action_87
+action_1058 (358) = happyShift action_88
+action_1058 (359) = happyShift action_89
+action_1058 (360) = happyShift action_90
+action_1058 (361) = happyShift action_91
+action_1058 (362) = happyShift action_92
+action_1058 (363) = happyShift action_93
+action_1058 (364) = happyShift action_94
+action_1058 (365) = happyShift action_95
+action_1058 (366) = happyShift action_96
+action_1058 (367) = happyShift action_97
+action_1058 (368) = happyShift action_98
+action_1058 (369) = happyShift action_99
+action_1058 (370) = happyShift action_100
+action_1058 (371) = happyShift action_101
+action_1058 (373) = happyShift action_102
+action_1058 (378) = happyShift action_103
+action_1058 (380) = happyShift action_104
+action_1058 (381) = happyShift action_105
+action_1058 (383) = happyShift action_106
+action_1058 (384) = happyShift action_107
+action_1058 (391) = happyShift action_159
+action_1058 (392) = happyShift action_109
+action_1058 (396) = happyShift action_110
+action_1058 (402) = happyShift action_112
+action_1058 (403) = happyShift action_113
+action_1058 (411) = happyShift action_114
+action_1058 (412) = happyShift action_115
+action_1058 (413) = happyShift action_116
+action_1058 (168) = happyGoto action_1154
+action_1058 (169) = happyGoto action_161
+action_1058 (170) = happyGoto action_25
+action_1058 (171) = happyGoto action_26
+action_1058 (172) = happyGoto action_27
+action_1058 (173) = happyGoto action_28
+action_1058 (176) = happyGoto action_29
+action_1058 (177) = happyGoto action_30
+action_1058 (178) = happyGoto action_31
+action_1058 (181) = happyGoto action_32
+action_1058 (182) = happyGoto action_33
+action_1058 (183) = happyGoto action_34
+action_1058 (190) = happyGoto action_35
+action_1058 (228) = happyGoto action_38
+action_1058 (231) = happyGoto action_39
+action_1058 (232) = happyGoto action_40
+action_1058 (234) = happyGoto action_41
+action_1058 (244) = happyGoto action_42
+action_1058 (245) = happyGoto action_43
+action_1058 (246) = happyGoto action_44
+action_1058 (247) = happyGoto action_45
+action_1058 (248) = happyGoto action_46
+action_1058 (249) = happyGoto action_47
+action_1058 (257) = happyGoto action_48
+action_1058 _ = happyFail
+
+action_1059 _ = happyReduce_391
+
+action_1060 _ = happyReduce_122
+
+action_1061 (300) = happyShift action_1153
+action_1061 _ = happyFail
+
+action_1062 (317) = happyShift action_1152
+action_1062 _ = happyFail
+
+action_1063 (278) = happyShift action_49
+action_1063 (282) = happyShift action_53
+action_1063 (283) = happyShift action_54
+action_1063 (289) = happyShift action_135
+action_1063 (292) = happyShift action_136
+action_1063 (299) = happyShift action_137
+action_1063 (301) = happyShift action_138
+action_1063 (307) = happyShift action_139
+action_1063 (309) = happyShift action_140
+action_1063 (312) = happyShift action_141
+action_1063 (325) = happyShift action_142
+action_1063 (328) = happyShift action_143
+action_1063 (337) = happyShift action_144
+action_1063 (338) = happyShift action_145
+action_1063 (344) = happyShift action_146
+action_1063 (346) = happyShift action_147
+action_1063 (358) = happyShift action_88
+action_1063 (359) = happyShift action_148
+action_1063 (360) = happyShift action_149
+action_1063 (361) = happyShift action_150
+action_1063 (363) = happyShift action_93
+action_1063 (364) = happyShift action_94
+action_1063 (365) = happyShift action_95
+action_1063 (366) = happyShift action_96
+action_1063 (367) = happyShift action_97
+action_1063 (368) = happyShift action_98
+action_1063 (369) = happyShift action_99
+action_1063 (370) = happyShift action_100
+action_1063 (371) = happyShift action_101
+action_1063 (383) = happyShift action_106
+action_1063 (402) = happyShift action_112
+action_1063 (416) = happyShift action_152
+action_1063 (417) = happyShift action_153
+action_1063 (102) = happyGoto action_1151
+action_1063 (103) = happyGoto action_841
+action_1063 (108) = happyGoto action_193
+action_1063 (109) = happyGoto action_120
+action_1063 (110) = happyGoto action_121
+action_1063 (111) = happyGoto action_122
+action_1063 (112) = happyGoto action_123
+action_1063 (113) = happyGoto action_124
+action_1063 (114) = happyGoto action_125
+action_1063 (115) = happyGoto action_126
+action_1063 (245) = happyGoto action_131
+action_1063 (248) = happyGoto action_132
+action_1063 (249) = happyGoto action_47
+action_1063 (270) = happyGoto action_133
+action_1063 (271) = happyGoto action_134
+action_1063 _ = happyFail
+
+action_1064 (27) = happyGoto action_175
+action_1064 (28) = happyGoto action_1148
+action_1064 (152) = happyGoto action_1150
+action_1064 _ = happyReduce_41
+
+action_1065 (27) = happyGoto action_175
+action_1065 (28) = happyGoto action_1148
+action_1065 (152) = happyGoto action_1149
+action_1065 _ = happyReduce_41
+
+action_1066 (124) = happyGoto action_967
+action_1066 (128) = happyGoto action_1147
+action_1066 _ = happyReduce_306
+
+action_1067 _ = happyReduce_305
+
+action_1068 (124) = happyGoto action_1145
+action_1068 (125) = happyGoto action_1146
+action_1068 _ = happyReduce_306
+
+action_1069 _ = happyReduce_130
+
+action_1070 (27) = happyGoto action_175
+action_1070 (28) = happyGoto action_1142
+action_1070 (158) = happyGoto action_1144
+action_1070 _ = happyReduce_41
+
+action_1071 (27) = happyGoto action_175
+action_1071 (28) = happyGoto action_1142
+action_1071 (158) = happyGoto action_1143
+action_1071 _ = happyReduce_41
+
+action_1072 _ = happyReduce_142
+
+action_1073 _ = happyReduce_143
+
+action_1074 _ = happyReduce_144
+
+action_1075 _ = happyReduce_111
+
+action_1076 _ = happyReduce_133
+
+action_1077 _ = happyReduce_132
+
+action_1078 (401) = happyShift action_1141
+action_1078 (67) = happyGoto action_1140
+action_1078 _ = happyReduce_149
+
+action_1079 _ = happyReduce_101
+
+action_1080 (278) = happyShift action_49
+action_1080 (358) = happyShift action_88
+action_1080 (359) = happyShift action_148
+action_1080 (360) = happyShift action_149
+action_1080 (361) = happyShift action_150
+action_1080 (363) = happyShift action_93
+action_1080 (364) = happyShift action_94
+action_1080 (365) = happyShift action_95
+action_1080 (366) = happyShift action_96
+action_1080 (367) = happyShift action_97
+action_1080 (368) = happyShift action_98
+action_1080 (369) = happyShift action_99
+action_1080 (370) = happyShift action_100
+action_1080 (371) = happyShift action_101
+action_1080 (383) = happyShift action_106
+action_1080 (402) = happyShift action_112
+action_1080 (245) = happyGoto action_131
+action_1080 (271) = happyGoto action_1139
+action_1080 _ = happyFail
+
+action_1081 _ = happyReduce_720
+
+action_1082 (304) = happyShift action_1138
+action_1082 (258) = happyGoto action_1137
+action_1082 _ = happyReduce_714
+
+action_1083 (278) = happyShift action_49
+action_1083 (299) = happyShift action_560
+action_1083 (314) = happyShift action_1136
+action_1083 (358) = happyShift action_88
+action_1083 (359) = happyShift action_148
+action_1083 (360) = happyShift action_149
+action_1083 (361) = happyShift action_150
+action_1083 (363) = happyShift action_93
+action_1083 (364) = happyShift action_94
+action_1083 (365) = happyShift action_95
+action_1083 (366) = happyShift action_96
+action_1083 (367) = happyShift action_97
+action_1083 (368) = happyShift action_98
+action_1083 (369) = happyShift action_99
+action_1083 (370) = happyShift action_100
+action_1083 (371) = happyShift action_101
+action_1083 (383) = happyShift action_106
+action_1083 (402) = happyShift action_112
+action_1083 (123) = happyGoto action_558
+action_1083 (245) = happyGoto action_131
+action_1083 (270) = happyGoto action_559
+action_1083 (271) = happyGoto action_134
+action_1083 _ = happyFail
+
+action_1084 _ = happyReduce_730
+
+action_1085 (278) = happyShift action_49
+action_1085 (280) = happyShift action_51
+action_1085 (281) = happyShift action_52
+action_1085 (282) = happyShift action_53
+action_1085 (283) = happyShift action_54
+action_1085 (289) = happyShift action_135
+action_1085 (292) = happyShift action_136
+action_1085 (299) = happyShift action_137
+action_1085 (301) = happyShift action_138
+action_1085 (307) = happyShift action_139
+action_1085 (309) = happyShift action_140
+action_1085 (312) = happyShift action_141
+action_1085 (325) = happyShift action_142
+action_1085 (328) = happyShift action_143
+action_1085 (337) = happyShift action_144
+action_1085 (338) = happyShift action_145
+action_1085 (344) = happyShift action_146
+action_1085 (346) = happyShift action_147
+action_1085 (358) = happyShift action_88
+action_1085 (359) = happyShift action_148
+action_1085 (360) = happyShift action_149
+action_1085 (361) = happyShift action_150
+action_1085 (363) = happyShift action_93
+action_1085 (364) = happyShift action_94
+action_1085 (365) = happyShift action_95
+action_1085 (366) = happyShift action_96
+action_1085 (367) = happyShift action_97
+action_1085 (368) = happyShift action_98
+action_1085 (369) = happyShift action_99
+action_1085 (370) = happyShift action_100
+action_1085 (371) = happyShift action_101
+action_1085 (383) = happyShift action_106
+action_1085 (402) = happyShift action_112
+action_1085 (416) = happyShift action_152
+action_1085 (417) = happyShift action_153
+action_1085 (103) = happyGoto action_117
+action_1085 (105) = happyGoto action_1135
+action_1085 (108) = happyGoto action_193
+action_1085 (109) = happyGoto action_120
+action_1085 (110) = happyGoto action_121
+action_1085 (111) = happyGoto action_122
+action_1085 (112) = happyGoto action_123
+action_1085 (113) = happyGoto action_124
+action_1085 (114) = happyGoto action_125
+action_1085 (115) = happyGoto action_126
+action_1085 (232) = happyGoto action_130
+action_1085 (245) = happyGoto action_131
+action_1085 (247) = happyGoto action_45
+action_1085 (248) = happyGoto action_132
+action_1085 (249) = happyGoto action_47
+action_1085 (270) = happyGoto action_133
+action_1085 (271) = happyGoto action_134
+action_1085 _ = happyFail
+
+action_1086 (425) = happyShift action_1134
+action_1086 _ = happyFail
+
+action_1087 (311) = happyShift action_1133
+action_1087 _ = happyReduce_183
+
+action_1088 _ = happyReduce_185
+
+action_1089 _ = happyReduce_221
+
+action_1090 (425) = happyShift action_1132
+action_1090 _ = happyFail
+
+action_1091 (314) = happyShift action_1131
+action_1091 _ = happyFail
+
+action_1092 (278) = happyShift action_49
+action_1092 (299) = happyShift action_1094
+action_1092 (358) = happyShift action_88
+action_1092 (359) = happyShift action_89
+action_1092 (360) = happyShift action_90
+action_1092 (361) = happyShift action_91
+action_1092 (362) = happyShift action_92
+action_1092 (363) = happyShift action_93
+action_1092 (364) = happyShift action_94
+action_1092 (365) = happyShift action_95
+action_1092 (366) = happyShift action_96
+action_1092 (367) = happyShift action_97
+action_1092 (368) = happyShift action_98
+action_1092 (369) = happyShift action_99
+action_1092 (370) = happyShift action_100
+action_1092 (371) = happyShift action_101
+action_1092 (380) = happyShift action_104
+action_1092 (381) = happyShift action_105
+action_1092 (383) = happyShift action_106
+action_1092 (402) = happyShift action_112
+action_1092 (403) = happyShift action_113
+action_1092 (95) = happyGoto action_1130
+action_1092 (96) = happyGoto action_1092
+action_1092 (245) = happyGoto action_43
+action_1092 (246) = happyGoto action_1093
+action_1092 _ = happyReduce_224
+
+action_1093 _ = happyReduce_226
+
+action_1094 (278) = happyShift action_49
+action_1094 (358) = happyShift action_88
+action_1094 (359) = happyShift action_89
+action_1094 (360) = happyShift action_90
+action_1094 (361) = happyShift action_91
+action_1094 (362) = happyShift action_92
+action_1094 (363) = happyShift action_93
+action_1094 (364) = happyShift action_94
+action_1094 (365) = happyShift action_95
+action_1094 (366) = happyShift action_96
+action_1094 (367) = happyShift action_97
+action_1094 (368) = happyShift action_98
+action_1094 (369) = happyShift action_99
+action_1094 (370) = happyShift action_100
+action_1094 (371) = happyShift action_101
+action_1094 (380) = happyShift action_104
+action_1094 (381) = happyShift action_105
+action_1094 (383) = happyShift action_106
+action_1094 (402) = happyShift action_112
+action_1094 (403) = happyShift action_113
+action_1094 (245) = happyGoto action_43
+action_1094 (246) = happyGoto action_1129
+action_1094 _ = happyFail
+
+action_1095 (318) = happyShift action_1128
+action_1095 _ = happyFail
+
+action_1096 (349) = happyShift action_1127
+action_1096 _ = happyFail
+
+action_1097 _ = happyReduce_599
+
+action_1098 (278) = happyShift action_49
+action_1098 (279) = happyShift action_50
+action_1098 (280) = happyShift action_51
+action_1098 (281) = happyShift action_52
+action_1098 (282) = happyShift action_53
+action_1098 (283) = happyShift action_54
+action_1098 (289) = happyShift action_55
+action_1098 (290) = happyShift action_56
+action_1098 (291) = happyShift action_57
+action_1098 (292) = happyShift action_58
+action_1098 (293) = happyShift action_59
+action_1098 (294) = happyShift action_60
+action_1098 (295) = happyShift action_61
+action_1098 (296) = happyShift action_62
+action_1098 (297) = happyShift action_63
+action_1098 (298) = happyShift action_64
+action_1098 (299) = happyShift action_65
+action_1098 (301) = happyShift action_66
+action_1098 (307) = happyShift action_67
+action_1098 (309) = happyShift action_68
+action_1098 (312) = happyShift action_69
+action_1098 (319) = happyShift action_70
+action_1098 (324) = happyShift action_71
+action_1098 (325) = happyShift action_72
+action_1098 (327) = happyShift action_73
+action_1098 (334) = happyShift action_75
+action_1098 (337) = happyShift action_76
+action_1098 (338) = happyShift action_77
+action_1098 (339) = happyShift action_78
+action_1098 (340) = happyShift action_79
+action_1098 (341) = happyShift action_80
+action_1098 (342) = happyShift action_81
+action_1098 (344) = happyShift action_82
+action_1098 (345) = happyShift action_83
+action_1098 (346) = happyShift action_84
+action_1098 (348) = happyShift action_85
+action_1098 (350) = happyShift action_86
+action_1098 (351) = happyShift action_87
+action_1098 (358) = happyShift action_88
+action_1098 (359) = happyShift action_89
+action_1098 (360) = happyShift action_90
+action_1098 (361) = happyShift action_91
+action_1098 (362) = happyShift action_92
+action_1098 (363) = happyShift action_93
+action_1098 (364) = happyShift action_94
+action_1098 (365) = happyShift action_95
+action_1098 (366) = happyShift action_96
+action_1098 (367) = happyShift action_97
+action_1098 (368) = happyShift action_98
+action_1098 (369) = happyShift action_99
+action_1098 (370) = happyShift action_100
+action_1098 (371) = happyShift action_101
+action_1098 (373) = happyShift action_102
+action_1098 (378) = happyShift action_103
+action_1098 (380) = happyShift action_104
+action_1098 (381) = happyShift action_105
+action_1098 (383) = happyShift action_106
+action_1098 (384) = happyShift action_107
+action_1098 (391) = happyShift action_159
+action_1098 (392) = happyShift action_109
+action_1098 (396) = happyShift action_110
+action_1098 (402) = happyShift action_112
+action_1098 (403) = happyShift action_113
+action_1098 (411) = happyShift action_114
+action_1098 (412) = happyShift action_115
+action_1098 (413) = happyShift action_116
+action_1098 (169) = happyGoto action_1126
+action_1098 (170) = happyGoto action_25
+action_1098 (171) = happyGoto action_26
+action_1098 (172) = happyGoto action_27
+action_1098 (173) = happyGoto action_28
+action_1098 (176) = happyGoto action_29
+action_1098 (177) = happyGoto action_30
+action_1098 (178) = happyGoto action_31
+action_1098 (181) = happyGoto action_32
+action_1098 (182) = happyGoto action_33
+action_1098 (183) = happyGoto action_34
+action_1098 (190) = happyGoto action_35
+action_1098 (228) = happyGoto action_38
+action_1098 (231) = happyGoto action_39
+action_1098 (232) = happyGoto action_40
+action_1098 (234) = happyGoto action_41
+action_1098 (244) = happyGoto action_42
+action_1098 (245) = happyGoto action_43
+action_1098 (246) = happyGoto action_44
+action_1098 (247) = happyGoto action_45
+action_1098 (248) = happyGoto action_46
+action_1098 (249) = happyGoto action_47
+action_1098 (257) = happyGoto action_48
+action_1098 _ = happyFail
+
+action_1099 (316) = happyShift action_1125
+action_1099 _ = happyFail
+
+action_1100 (311) = happyShift action_1124
+action_1100 _ = happyReduce_355
+
+action_1101 (300) = happyShift action_1123
+action_1101 _ = happyFail
+
+action_1102 _ = happyReduce_304
+
+action_1103 _ = happyReduce_57
+
+action_1104 (286) = happyShift action_186
+action_1104 (288) = happyShift action_187
+action_1104 (316) = happyShift action_190
+action_1104 (243) = happyGoto action_508
+action_1104 (250) = happyGoto action_183
+action_1104 (251) = happyGoto action_184
+action_1104 _ = happyFail
+
+action_1105 _ = happyReduce_51
+
+action_1106 _ = happyReduce_58
+
+action_1107 _ = happyReduce_59
+
+action_1108 _ = happyReduce_56
+
+action_1109 (278) = happyShift action_49
+action_1109 (282) = happyShift action_53
+action_1109 (299) = happyShift action_392
+action_1109 (300) = happyShift action_1121
+action_1109 (315) = happyShift action_1122
+action_1109 (358) = happyShift action_88
+action_1109 (359) = happyShift action_89
+action_1109 (360) = happyShift action_90
+action_1109 (361) = happyShift action_91
+action_1109 (362) = happyShift action_92
+action_1109 (363) = happyShift action_93
+action_1109 (364) = happyShift action_94
+action_1109 (365) = happyShift action_95
+action_1109 (366) = happyShift action_96
+action_1109 (367) = happyShift action_97
+action_1109 (368) = happyShift action_98
+action_1109 (369) = happyShift action_99
+action_1109 (370) = happyShift action_100
+action_1109 (371) = happyShift action_101
+action_1109 (380) = happyShift action_104
+action_1109 (381) = happyShift action_105
+action_1109 (383) = happyShift action_106
+action_1109 (402) = happyShift action_112
+action_1109 (403) = happyShift action_113
+action_1109 (47) = happyGoto action_1117
+action_1109 (48) = happyGoto action_1118
+action_1109 (229) = happyGoto action_1119
+action_1109 (233) = happyGoto action_1120
+action_1109 (245) = happyGoto action_43
+action_1109 (246) = happyGoto action_390
+action_1109 (249) = happyGoto action_391
+action_1109 _ = happyFail
+
+action_1110 (300) = happyShift action_1116
+action_1110 _ = happyFail
+
+action_1111 (278) = happyShift action_49
+action_1111 (279) = happyShift action_50
+action_1111 (282) = happyShift action_53
+action_1111 (283) = happyShift action_54
+action_1111 (299) = happyShift action_312
+action_1111 (358) = happyShift action_88
+action_1111 (359) = happyShift action_89
+action_1111 (360) = happyShift action_90
+action_1111 (361) = happyShift action_91
+action_1111 (362) = happyShift action_92
+action_1111 (363) = happyShift action_93
+action_1111 (364) = happyShift action_94
+action_1111 (365) = happyShift action_95
+action_1111 (366) = happyShift action_96
+action_1111 (367) = happyShift action_97
+action_1111 (368) = happyShift action_98
+action_1111 (369) = happyShift action_99
+action_1111 (370) = happyShift action_100
+action_1111 (371) = happyShift action_101
+action_1111 (380) = happyShift action_104
+action_1111 (381) = happyShift action_105
+action_1111 (383) = happyShift action_106
+action_1111 (393) = happyShift action_911
+action_1111 (399) = happyShift action_912
+action_1111 (402) = happyShift action_112
+action_1111 (403) = happyShift action_113
+action_1111 (404) = happyShift action_913
+action_1111 (33) = happyGoto action_1115
+action_1111 (231) = happyGoto action_908
+action_1111 (234) = happyGoto action_181
+action_1111 (244) = happyGoto action_42
+action_1111 (245) = happyGoto action_43
+action_1111 (246) = happyGoto action_44
+action_1111 (248) = happyGoto action_46
+action_1111 (249) = happyGoto action_47
+action_1111 (269) = happyGoto action_909
+action_1111 _ = happyReduce_46
+
+action_1112 _ = happyReduce_45
+
+action_1113 (347) = happyShift action_516
+action_1113 (348) = happyShift action_85
+action_1113 (349) = happyShift action_1114
+action_1113 (350) = happyShift action_86
+action_1113 (351) = happyShift action_87
+action_1113 (355) = happyShift action_517
+action_1113 (190) = happyGoto action_513
+action_1113 (192) = happyGoto action_514
+action_1113 _ = happyFail
+
+action_1114 (278) = happyShift action_256
+action_1114 (282) = happyShift action_257
+action_1114 (284) = happyShift action_258
+action_1114 (357) = happyShift action_259
+action_1114 (358) = happyShift action_260
+action_1114 (359) = happyShift action_261
+action_1114 (360) = happyShift action_262
+action_1114 (361) = happyShift action_263
+action_1114 (362) = happyShift action_264
+action_1114 (363) = happyShift action_265
+action_1114 (364) = happyShift action_266
+action_1114 (365) = happyShift action_267
+action_1114 (366) = happyShift action_268
+action_1114 (367) = happyShift action_269
+action_1114 (368) = happyShift action_270
+action_1114 (369) = happyShift action_271
+action_1114 (370) = happyShift action_272
+action_1114 (371) = happyShift action_273
+action_1114 (372) = happyShift action_274
+action_1114 (373) = happyShift action_275
+action_1114 (374) = happyShift action_276
+action_1114 (375) = happyShift action_277
+action_1114 (376) = happyShift action_278
+action_1114 (377) = happyShift action_279
+action_1114 (378) = happyShift action_280
+action_1114 (379) = happyShift action_281
+action_1114 (380) = happyShift action_282
+action_1114 (381) = happyShift action_283
+action_1114 (382) = happyShift action_284
+action_1114 (383) = happyShift action_285
+action_1114 (384) = happyShift action_286
+action_1114 (385) = happyShift action_287
+action_1114 (386) = happyShift action_288
+action_1114 (387) = happyShift action_289
+action_1114 (388) = happyShift action_290
+action_1114 (389) = happyShift action_291
+action_1114 (390) = happyShift action_292
+action_1114 (391) = happyShift action_293
+action_1114 (392) = happyShift action_294
+action_1114 (393) = happyShift action_295
+action_1114 (394) = happyShift action_296
+action_1114 (395) = happyShift action_297
+action_1114 (396) = happyShift action_298
+action_1114 (397) = happyShift action_299
+action_1114 (398) = happyShift action_300
+action_1114 (399) = happyShift action_301
+action_1114 (400) = happyShift action_302
+action_1114 (401) = happyShift action_303
+action_1114 (402) = happyShift action_304
+action_1114 (193) = happyGoto action_1230
+action_1114 (194) = happyGoto action_254
+action_1114 (195) = happyGoto action_255
+action_1114 _ = happyFail
+
+action_1115 _ = happyReduce_48
+
+action_1116 _ = happyReduce_44
+
+action_1117 (300) = happyShift action_1228
+action_1117 (311) = happyShift action_1229
+action_1117 _ = happyFail
+
+action_1118 _ = happyReduce_89
+
+action_1119 _ = happyReduce_90
+
+action_1120 _ = happyReduce_91
+
+action_1121 _ = happyReduce_54
+
+action_1122 (300) = happyShift action_1227
+action_1122 _ = happyFail
+
+action_1123 _ = happyReduce_353
+
+action_1124 (278) = happyShift action_49
+action_1124 (279) = happyShift action_50
+action_1124 (282) = happyShift action_53
+action_1124 (283) = happyShift action_54
+action_1124 (299) = happyShift action_609
+action_1124 (307) = happyShift action_610
+action_1124 (329) = happyShift action_611
+action_1124 (358) = happyShift action_88
+action_1124 (359) = happyShift action_89
+action_1124 (360) = happyShift action_90
+action_1124 (361) = happyShift action_91
+action_1124 (362) = happyShift action_92
+action_1124 (363) = happyShift action_93
+action_1124 (364) = happyShift action_94
+action_1124 (365) = happyShift action_95
+action_1124 (366) = happyShift action_96
+action_1124 (367) = happyShift action_97
+action_1124 (368) = happyShift action_98
+action_1124 (369) = happyShift action_99
+action_1124 (370) = happyShift action_100
+action_1124 (371) = happyShift action_101
+action_1124 (380) = happyShift action_104
+action_1124 (381) = happyShift action_105
+action_1124 (383) = happyShift action_106
+action_1124 (402) = happyShift action_112
+action_1124 (403) = happyShift action_113
+action_1124 (145) = happyGoto action_1100
+action_1124 (146) = happyGoto action_604
+action_1124 (147) = happyGoto action_605
+action_1124 (148) = happyGoto action_606
+action_1124 (149) = happyGoto action_1226
+action_1124 (234) = happyGoto action_181
+action_1124 (244) = happyGoto action_607
+action_1124 (245) = happyGoto action_43
+action_1124 (246) = happyGoto action_44
+action_1124 (248) = happyGoto action_46
+action_1124 (249) = happyGoto action_47
+action_1124 (269) = happyGoto action_608
+action_1124 _ = happyFail
+
+action_1125 (289) = happyShift action_1225
+action_1125 _ = happyFail
+
+action_1126 _ = happyReduce_416
+
+action_1127 (278) = happyShift action_256
+action_1127 (282) = happyShift action_257
+action_1127 (284) = happyShift action_258
+action_1127 (357) = happyShift action_259
+action_1127 (358) = happyShift action_260
+action_1127 (359) = happyShift action_261
+action_1127 (360) = happyShift action_262
+action_1127 (361) = happyShift action_263
+action_1127 (362) = happyShift action_264
+action_1127 (363) = happyShift action_265
+action_1127 (364) = happyShift action_266
+action_1127 (365) = happyShift action_267
+action_1127 (366) = happyShift action_268
+action_1127 (367) = happyShift action_269
+action_1127 (368) = happyShift action_270
+action_1127 (369) = happyShift action_271
+action_1127 (370) = happyShift action_272
+action_1127 (371) = happyShift action_273
+action_1127 (372) = happyShift action_274
+action_1127 (373) = happyShift action_275
+action_1127 (374) = happyShift action_276
+action_1127 (375) = happyShift action_277
+action_1127 (376) = happyShift action_278
+action_1127 (377) = happyShift action_279
+action_1127 (378) = happyShift action_280
+action_1127 (379) = happyShift action_281
+action_1127 (380) = happyShift action_282
+action_1127 (381) = happyShift action_283
+action_1127 (382) = happyShift action_284
+action_1127 (383) = happyShift action_285
+action_1127 (384) = happyShift action_286
+action_1127 (385) = happyShift action_287
+action_1127 (386) = happyShift action_288
+action_1127 (387) = happyShift action_289
+action_1127 (388) = happyShift action_290
+action_1127 (389) = happyShift action_291
+action_1127 (390) = happyShift action_292
+action_1127 (391) = happyShift action_293
+action_1127 (392) = happyShift action_294
+action_1127 (393) = happyShift action_295
+action_1127 (394) = happyShift action_296
+action_1127 (395) = happyShift action_297
+action_1127 (396) = happyShift action_298
+action_1127 (397) = happyShift action_299
+action_1127 (398) = happyShift action_300
+action_1127 (399) = happyShift action_301
+action_1127 (400) = happyShift action_302
+action_1127 (401) = happyShift action_303
+action_1127 (402) = happyShift action_304
+action_1127 (193) = happyGoto action_1224
+action_1127 (194) = happyGoto action_254
+action_1127 (195) = happyGoto action_255
+action_1127 _ = happyFail
+
+action_1128 (278) = happyShift action_49
+action_1128 (279) = happyShift action_50
+action_1128 (280) = happyShift action_51
+action_1128 (281) = happyShift action_52
+action_1128 (282) = happyShift action_53
+action_1128 (283) = happyShift action_54
+action_1128 (289) = happyShift action_55
+action_1128 (290) = happyShift action_56
+action_1128 (291) = happyShift action_57
+action_1128 (292) = happyShift action_58
+action_1128 (293) = happyShift action_59
+action_1128 (294) = happyShift action_60
+action_1128 (295) = happyShift action_61
+action_1128 (296) = happyShift action_62
+action_1128 (297) = happyShift action_63
+action_1128 (298) = happyShift action_64
+action_1128 (299) = happyShift action_65
+action_1128 (301) = happyShift action_66
+action_1128 (307) = happyShift action_67
+action_1128 (309) = happyShift action_68
+action_1128 (312) = happyShift action_69
+action_1128 (319) = happyShift action_70
+action_1128 (324) = happyShift action_71
+action_1128 (325) = happyShift action_72
+action_1128 (327) = happyShift action_73
+action_1128 (334) = happyShift action_75
+action_1128 (337) = happyShift action_76
+action_1128 (338) = happyShift action_77
+action_1128 (339) = happyShift action_78
+action_1128 (340) = happyShift action_79
+action_1128 (341) = happyShift action_80
+action_1128 (342) = happyShift action_81
+action_1128 (344) = happyShift action_82
+action_1128 (345) = happyShift action_83
+action_1128 (346) = happyShift action_84
+action_1128 (348) = happyShift action_85
+action_1128 (350) = happyShift action_86
+action_1128 (351) = happyShift action_87
+action_1128 (358) = happyShift action_88
+action_1128 (359) = happyShift action_89
+action_1128 (360) = happyShift action_90
+action_1128 (361) = happyShift action_91
+action_1128 (362) = happyShift action_92
+action_1128 (363) = happyShift action_93
+action_1128 (364) = happyShift action_94
+action_1128 (365) = happyShift action_95
+action_1128 (366) = happyShift action_96
+action_1128 (367) = happyShift action_97
+action_1128 (368) = happyShift action_98
+action_1128 (369) = happyShift action_99
+action_1128 (370) = happyShift action_100
+action_1128 (371) = happyShift action_101
+action_1128 (373) = happyShift action_102
+action_1128 (378) = happyShift action_103
+action_1128 (380) = happyShift action_104
+action_1128 (381) = happyShift action_105
+action_1128 (383) = happyShift action_106
+action_1128 (384) = happyShift action_107
+action_1128 (391) = happyShift action_159
+action_1128 (392) = happyShift action_109
+action_1128 (396) = happyShift action_110
+action_1128 (402) = happyShift action_112
+action_1128 (403) = happyShift action_113
+action_1128 (411) = happyShift action_114
+action_1128 (412) = happyShift action_115
+action_1128 (413) = happyShift action_116
+action_1128 (168) = happyGoto action_1223
+action_1128 (169) = happyGoto action_161
+action_1128 (170) = happyGoto action_25
+action_1128 (171) = happyGoto action_26
+action_1128 (172) = happyGoto action_27
+action_1128 (173) = happyGoto action_28
+action_1128 (176) = happyGoto action_29
+action_1128 (177) = happyGoto action_30
+action_1128 (178) = happyGoto action_31
+action_1128 (181) = happyGoto action_32
+action_1128 (182) = happyGoto action_33
+action_1128 (183) = happyGoto action_34
+action_1128 (190) = happyGoto action_35
+action_1128 (228) = happyGoto action_38
+action_1128 (231) = happyGoto action_39
+action_1128 (232) = happyGoto action_40
+action_1128 (234) = happyGoto action_41
+action_1128 (244) = happyGoto action_42
+action_1128 (245) = happyGoto action_43
+action_1128 (246) = happyGoto action_44
+action_1128 (247) = happyGoto action_45
+action_1128 (248) = happyGoto action_46
+action_1128 (249) = happyGoto action_47
+action_1128 (257) = happyGoto action_48
+action_1128 _ = happyFail
+
+action_1129 (317) = happyShift action_1222
+action_1129 _ = happyFail
+
+action_1130 _ = happyReduce_225
+
+action_1131 _ = happyReduce_223
+
+action_1132 _ = happyReduce_180
+
+action_1133 (278) = happyShift action_49
+action_1133 (280) = happyShift action_51
+action_1133 (281) = happyShift action_52
+action_1133 (282) = happyShift action_53
+action_1133 (283) = happyShift action_54
+action_1133 (289) = happyShift action_135
+action_1133 (292) = happyShift action_136
+action_1133 (299) = happyShift action_137
+action_1133 (301) = happyShift action_138
+action_1133 (307) = happyShift action_139
+action_1133 (309) = happyShift action_140
+action_1133 (312) = happyShift action_141
+action_1133 (325) = happyShift action_142
+action_1133 (328) = happyShift action_143
+action_1133 (337) = happyShift action_144
+action_1133 (338) = happyShift action_145
+action_1133 (344) = happyShift action_146
+action_1133 (346) = happyShift action_147
+action_1133 (358) = happyShift action_88
+action_1133 (359) = happyShift action_148
+action_1133 (360) = happyShift action_149
+action_1133 (361) = happyShift action_150
+action_1133 (363) = happyShift action_93
+action_1133 (364) = happyShift action_94
+action_1133 (365) = happyShift action_95
+action_1133 (366) = happyShift action_96
+action_1133 (367) = happyShift action_97
+action_1133 (368) = happyShift action_98
+action_1133 (369) = happyShift action_99
+action_1133 (370) = happyShift action_100
+action_1133 (371) = happyShift action_101
+action_1133 (381) = happyShift action_151
+action_1133 (383) = happyShift action_106
+action_1133 (402) = happyShift action_112
+action_1133 (416) = happyShift action_152
+action_1133 (417) = happyShift action_153
+action_1133 (80) = happyGoto action_1221
+action_1133 (81) = happyGoto action_1087
+action_1133 (103) = happyGoto action_117
+action_1133 (105) = happyGoto action_118
+action_1133 (108) = happyGoto action_119
+action_1133 (109) = happyGoto action_120
+action_1133 (110) = happyGoto action_121
+action_1133 (111) = happyGoto action_122
+action_1133 (112) = happyGoto action_123
+action_1133 (113) = happyGoto action_124
+action_1133 (114) = happyGoto action_125
+action_1133 (115) = happyGoto action_126
+action_1133 (118) = happyGoto action_1088
+action_1133 (119) = happyGoto action_129
+action_1133 (232) = happyGoto action_130
+action_1133 (245) = happyGoto action_131
+action_1133 (247) = happyGoto action_45
+action_1133 (248) = happyGoto action_132
+action_1133 (249) = happyGoto action_47
+action_1133 (270) = happyGoto action_133
+action_1133 (271) = happyGoto action_134
+action_1133 _ = happyFail
+
+action_1134 _ = happyReduce_179
+
+action_1135 _ = happyReduce_729
+
+action_1136 (278) = happyShift action_49
+action_1136 (280) = happyShift action_51
+action_1136 (281) = happyShift action_52
+action_1136 (282) = happyShift action_53
+action_1136 (283) = happyShift action_54
+action_1136 (289) = happyShift action_135
+action_1136 (292) = happyShift action_136
+action_1136 (299) = happyShift action_137
+action_1136 (301) = happyShift action_138
+action_1136 (307) = happyShift action_139
+action_1136 (309) = happyShift action_140
+action_1136 (312) = happyShift action_141
+action_1136 (325) = happyShift action_142
+action_1136 (328) = happyShift action_143
+action_1136 (337) = happyShift action_144
+action_1136 (338) = happyShift action_145
+action_1136 (344) = happyShift action_146
+action_1136 (346) = happyShift action_147
+action_1136 (358) = happyShift action_88
+action_1136 (359) = happyShift action_148
+action_1136 (360) = happyShift action_149
+action_1136 (361) = happyShift action_150
+action_1136 (363) = happyShift action_93
+action_1136 (364) = happyShift action_94
+action_1136 (365) = happyShift action_95
+action_1136 (366) = happyShift action_96
+action_1136 (367) = happyShift action_97
+action_1136 (368) = happyShift action_98
+action_1136 (369) = happyShift action_99
+action_1136 (370) = happyShift action_100
+action_1136 (371) = happyShift action_101
+action_1136 (381) = happyShift action_950
+action_1136 (383) = happyShift action_106
+action_1136 (402) = happyShift action_112
+action_1136 (416) = happyShift action_152
+action_1136 (417) = happyShift action_153
+action_1136 (103) = happyGoto action_117
+action_1136 (105) = happyGoto action_947
+action_1136 (108) = happyGoto action_119
+action_1136 (109) = happyGoto action_120
+action_1136 (110) = happyGoto action_121
+action_1136 (111) = happyGoto action_122
+action_1136 (112) = happyGoto action_123
+action_1136 (113) = happyGoto action_124
+action_1136 (114) = happyGoto action_125
+action_1136 (115) = happyGoto action_126
+action_1136 (119) = happyGoto action_948
+action_1136 (232) = happyGoto action_130
+action_1136 (245) = happyGoto action_131
+action_1136 (247) = happyGoto action_45
+action_1136 (248) = happyGoto action_132
+action_1136 (249) = happyGoto action_47
+action_1136 (266) = happyGoto action_1220
+action_1136 (270) = happyGoto action_133
+action_1136 (271) = happyGoto action_134
+action_1136 _ = happyFail
+
+action_1137 (27) = happyGoto action_175
+action_1137 (28) = happyGoto action_1217
+action_1137 (73) = happyGoto action_1219
+action_1137 _ = happyReduce_41
+
+action_1138 (27) = happyGoto action_175
+action_1138 (28) = happyGoto action_1217
+action_1138 (73) = happyGoto action_1218
+action_1138 _ = happyReduce_41
+
+action_1139 (322) = happyShift action_1216
+action_1139 _ = happyFail
+
+action_1140 _ = happyReduce_110
+
+action_1141 (304) = happyShift action_1215
+action_1141 (68) = happyGoto action_1213
+action_1141 (258) = happyGoto action_1214
+action_1141 _ = happyReduce_714
+
+action_1142 (278) = happyShift action_49
+action_1142 (279) = happyShift action_50
+action_1142 (280) = happyShift action_51
+action_1142 (281) = happyShift action_52
+action_1142 (282) = happyShift action_53
+action_1142 (283) = happyShift action_54
+action_1142 (289) = happyShift action_55
+action_1142 (290) = happyShift action_56
+action_1142 (291) = happyShift action_57
+action_1142 (292) = happyShift action_58
+action_1142 (293) = happyShift action_59
+action_1142 (294) = happyShift action_60
+action_1142 (295) = happyShift action_61
+action_1142 (296) = happyShift action_62
+action_1142 (297) = happyShift action_63
+action_1142 (298) = happyShift action_64
+action_1142 (299) = happyShift action_65
+action_1142 (301) = happyShift action_66
+action_1142 (303) = happyShift action_566
+action_1142 (307) = happyShift action_67
+action_1142 (309) = happyShift action_68
+action_1142 (312) = happyShift action_69
+action_1142 (319) = happyShift action_592
+action_1142 (324) = happyShift action_71
+action_1142 (325) = happyShift action_72
+action_1142 (327) = happyShift action_73
+action_1142 (328) = happyShift action_486
+action_1142 (334) = happyShift action_75
+action_1142 (337) = happyShift action_76
+action_1142 (338) = happyShift action_77
+action_1142 (339) = happyShift action_78
+action_1142 (340) = happyShift action_79
+action_1142 (341) = happyShift action_80
+action_1142 (342) = happyShift action_81
+action_1142 (344) = happyShift action_82
+action_1142 (345) = happyShift action_83
+action_1142 (346) = happyShift action_84
+action_1142 (348) = happyShift action_85
+action_1142 (350) = happyShift action_86
+action_1142 (351) = happyShift action_87
+action_1142 (358) = happyShift action_88
+action_1142 (359) = happyShift action_89
+action_1142 (360) = happyShift action_90
+action_1142 (361) = happyShift action_91
+action_1142 (362) = happyShift action_92
+action_1142 (363) = happyShift action_93
+action_1142 (364) = happyShift action_94
+action_1142 (365) = happyShift action_95
+action_1142 (366) = happyShift action_96
+action_1142 (367) = happyShift action_97
+action_1142 (368) = happyShift action_98
+action_1142 (369) = happyShift action_99
+action_1142 (370) = happyShift action_100
+action_1142 (371) = happyShift action_101
+action_1142 (373) = happyShift action_102
+action_1142 (375) = happyShift action_1211
+action_1142 (378) = happyShift action_103
+action_1142 (380) = happyShift action_104
+action_1142 (381) = happyShift action_105
+action_1142 (383) = happyShift action_106
+action_1142 (392) = happyShift action_109
+action_1142 (394) = happyShift action_496
+action_1142 (399) = happyShift action_1212
+action_1142 (402) = happyShift action_112
+action_1142 (403) = happyShift action_113
+action_1142 (405) = happyShift action_499
+action_1142 (406) = happyShift action_500
+action_1142 (407) = happyShift action_501
+action_1142 (408) = happyShift action_502
+action_1142 (421) = happyShift action_507
+action_1142 (71) = happyGoto action_1204
+action_1142 (78) = happyGoto action_1205
+action_1142 (79) = happyGoto action_1206
+action_1142 (159) = happyGoto action_1207
+action_1142 (160) = happyGoto action_1208
+action_1142 (161) = happyGoto action_1209
+action_1142 (162) = happyGoto action_1210
+action_1142 (172) = happyGoto action_588
+action_1142 (176) = happyGoto action_29
+action_1142 (178) = happyGoto action_31
+action_1142 (181) = happyGoto action_32
+action_1142 (182) = happyGoto action_33
+action_1142 (183) = happyGoto action_34
+action_1142 (190) = happyGoto action_35
+action_1142 (228) = happyGoto action_38
+action_1142 (231) = happyGoto action_39
+action_1142 (232) = happyGoto action_40
+action_1142 (234) = happyGoto action_41
+action_1142 (244) = happyGoto action_42
+action_1142 (245) = happyGoto action_43
+action_1142 (246) = happyGoto action_44
+action_1142 (247) = happyGoto action_45
+action_1142 (248) = happyGoto action_46
+action_1142 (249) = happyGoto action_47
+action_1142 (257) = happyGoto action_48
+action_1142 _ = happyReduce_379
+
+action_1143 (305) = happyShift action_1203
+action_1143 _ = happyFail
+
+action_1144 (1) = happyShift action_400
+action_1144 (306) = happyShift action_401
+action_1144 (259) = happyGoto action_1202
+action_1144 _ = happyFail
+
+action_1145 (278) = happyShift action_49
+action_1145 (358) = happyShift action_88
+action_1145 (359) = happyShift action_148
+action_1145 (360) = happyShift action_149
+action_1145 (361) = happyShift action_150
+action_1145 (363) = happyShift action_93
+action_1145 (364) = happyShift action_94
+action_1145 (365) = happyShift action_95
+action_1145 (366) = happyShift action_96
+action_1145 (367) = happyShift action_97
+action_1145 (368) = happyShift action_98
+action_1145 (369) = happyShift action_99
+action_1145 (370) = happyShift action_100
+action_1145 (371) = happyShift action_101
+action_1145 (383) = happyShift action_106
+action_1145 (402) = happyShift action_112
+action_1145 (245) = happyGoto action_131
+action_1145 (270) = happyGoto action_1201
+action_1145 (271) = happyGoto action_134
+action_1145 _ = happyFail
+
+action_1146 _ = happyReduce_312
+
+action_1147 _ = happyReduce_310
+
+action_1148 (278) = happyShift action_49
+action_1148 (279) = happyShift action_50
+action_1148 (280) = happyShift action_51
+action_1148 (281) = happyShift action_52
+action_1148 (282) = happyShift action_53
+action_1148 (283) = happyShift action_54
+action_1148 (289) = happyShift action_55
+action_1148 (290) = happyShift action_56
+action_1148 (291) = happyShift action_57
+action_1148 (292) = happyShift action_58
+action_1148 (293) = happyShift action_59
+action_1148 (294) = happyShift action_60
+action_1148 (295) = happyShift action_61
+action_1148 (296) = happyShift action_62
+action_1148 (297) = happyShift action_63
+action_1148 (298) = happyShift action_64
+action_1148 (299) = happyShift action_65
+action_1148 (301) = happyShift action_66
+action_1148 (303) = happyShift action_566
+action_1148 (307) = happyShift action_67
+action_1148 (309) = happyShift action_68
+action_1148 (312) = happyShift action_69
+action_1148 (319) = happyShift action_592
+action_1148 (324) = happyShift action_71
+action_1148 (325) = happyShift action_72
+action_1148 (327) = happyShift action_73
+action_1148 (328) = happyShift action_486
+action_1148 (334) = happyShift action_75
+action_1148 (337) = happyShift action_76
+action_1148 (338) = happyShift action_77
+action_1148 (339) = happyShift action_78
+action_1148 (340) = happyShift action_79
+action_1148 (341) = happyShift action_80
+action_1148 (342) = happyShift action_81
+action_1148 (344) = happyShift action_82
+action_1148 (345) = happyShift action_83
+action_1148 (346) = happyShift action_84
+action_1148 (348) = happyShift action_85
+action_1148 (350) = happyShift action_86
+action_1148 (351) = happyShift action_87
+action_1148 (358) = happyShift action_88
+action_1148 (359) = happyShift action_89
+action_1148 (360) = happyShift action_90
+action_1148 (361) = happyShift action_91
+action_1148 (362) = happyShift action_92
+action_1148 (363) = happyShift action_93
+action_1148 (364) = happyShift action_94
+action_1148 (365) = happyShift action_95
+action_1148 (366) = happyShift action_96
+action_1148 (367) = happyShift action_97
+action_1148 (368) = happyShift action_98
+action_1148 (369) = happyShift action_99
+action_1148 (370) = happyShift action_100
+action_1148 (371) = happyShift action_101
+action_1148 (373) = happyShift action_102
+action_1148 (375) = happyShift action_1198
+action_1148 (376) = happyShift action_1199
+action_1148 (378) = happyShift action_103
+action_1148 (380) = happyShift action_104
+action_1148 (381) = happyShift action_105
+action_1148 (383) = happyShift action_106
+action_1148 (387) = happyShift action_492
+action_1148 (388) = happyShift action_493
+action_1148 (389) = happyShift action_494
+action_1148 (392) = happyShift action_109
+action_1148 (399) = happyShift action_1200
+action_1148 (402) = happyShift action_112
+action_1148 (403) = happyShift action_113
+action_1148 (404) = happyShift action_498
+action_1148 (405) = happyShift action_499
+action_1148 (406) = happyShift action_500
+action_1148 (407) = happyShift action_501
+action_1148 (408) = happyShift action_502
+action_1148 (421) = happyShift action_507
+action_1148 (49) = happyGoto action_469
+action_1148 (51) = happyGoto action_470
+action_1148 (75) = happyGoto action_1194
+action_1148 (77) = happyGoto action_477
+action_1148 (78) = happyGoto action_478
+action_1148 (79) = happyGoto action_479
+action_1148 (153) = happyGoto action_1195
+action_1148 (154) = happyGoto action_1196
+action_1148 (156) = happyGoto action_1197
+action_1148 (162) = happyGoto action_480
+action_1148 (172) = happyGoto action_588
+action_1148 (176) = happyGoto action_29
+action_1148 (178) = happyGoto action_31
+action_1148 (181) = happyGoto action_32
+action_1148 (182) = happyGoto action_33
+action_1148 (183) = happyGoto action_34
+action_1148 (190) = happyGoto action_35
+action_1148 (228) = happyGoto action_38
+action_1148 (231) = happyGoto action_39
+action_1148 (232) = happyGoto action_40
+action_1148 (234) = happyGoto action_41
+action_1148 (244) = happyGoto action_42
+action_1148 (245) = happyGoto action_43
+action_1148 (246) = happyGoto action_44
+action_1148 (247) = happyGoto action_45
+action_1148 (248) = happyGoto action_46
+action_1148 (249) = happyGoto action_47
+action_1148 (257) = happyGoto action_48
+action_1148 (260) = happyGoto action_483
+action_1148 (261) = happyGoto action_484
+action_1148 (265) = happyGoto action_485
+action_1148 _ = happyReduce_363
+
+action_1149 (305) = happyShift action_1193
+action_1149 _ = happyFail
+
+action_1150 (1) = happyShift action_400
+action_1150 (306) = happyShift action_401
+action_1150 (259) = happyGoto action_1192
+action_1150 _ = happyFail
+
+action_1151 _ = happyReduce_213
+
+action_1152 (278) = happyShift action_49
+action_1152 (282) = happyShift action_53
+action_1152 (283) = happyShift action_54
+action_1152 (289) = happyShift action_135
+action_1152 (292) = happyShift action_136
+action_1152 (299) = happyShift action_137
+action_1152 (301) = happyShift action_138
+action_1152 (307) = happyShift action_139
+action_1152 (309) = happyShift action_140
+action_1152 (312) = happyShift action_141
+action_1152 (325) = happyShift action_142
+action_1152 (328) = happyShift action_143
+action_1152 (337) = happyShift action_144
+action_1152 (338) = happyShift action_145
+action_1152 (344) = happyShift action_146
+action_1152 (346) = happyShift action_147
+action_1152 (358) = happyShift action_88
+action_1152 (359) = happyShift action_148
+action_1152 (360) = happyShift action_149
+action_1152 (361) = happyShift action_150
+action_1152 (363) = happyShift action_93
+action_1152 (364) = happyShift action_94
+action_1152 (365) = happyShift action_95
+action_1152 (366) = happyShift action_96
+action_1152 (367) = happyShift action_97
+action_1152 (368) = happyShift action_98
+action_1152 (369) = happyShift action_99
+action_1152 (370) = happyShift action_100
+action_1152 (371) = happyShift action_101
+action_1152 (383) = happyShift action_106
+action_1152 (402) = happyShift action_112
+action_1152 (416) = happyShift action_152
+action_1152 (417) = happyShift action_153
+action_1152 (102) = happyGoto action_1191
+action_1152 (103) = happyGoto action_841
+action_1152 (108) = happyGoto action_193
+action_1152 (109) = happyGoto action_120
+action_1152 (110) = happyGoto action_121
+action_1152 (111) = happyGoto action_122
+action_1152 (112) = happyGoto action_123
+action_1152 (113) = happyGoto action_124
+action_1152 (114) = happyGoto action_125
+action_1152 (115) = happyGoto action_126
+action_1152 (245) = happyGoto action_131
+action_1152 (248) = happyGoto action_132
+action_1152 (249) = happyGoto action_47
+action_1152 (270) = happyGoto action_133
+action_1152 (271) = happyGoto action_134
+action_1152 _ = happyFail
+
+action_1153 _ = happyReduce_636
+
+action_1154 _ = happyReduce_399
+
+action_1155 _ = happyReduce_322
+
+action_1156 (300) = happyShift action_1190
+action_1156 _ = happyFail
+
+action_1157 (278) = happyShift action_49
+action_1157 (279) = happyShift action_50
+action_1157 (299) = happyShift action_423
+action_1157 (305) = happyShift action_1189
+action_1157 (358) = happyShift action_88
+action_1157 (359) = happyShift action_89
+action_1157 (360) = happyShift action_90
+action_1157 (361) = happyShift action_91
+action_1157 (362) = happyShift action_92
+action_1157 (363) = happyShift action_93
+action_1157 (364) = happyShift action_94
+action_1157 (365) = happyShift action_95
+action_1157 (366) = happyShift action_96
+action_1157 (367) = happyShift action_97
+action_1157 (368) = happyShift action_98
+action_1157 (369) = happyShift action_99
+action_1157 (370) = happyShift action_100
+action_1157 (371) = happyShift action_101
+action_1157 (380) = happyShift action_104
+action_1157 (381) = happyShift action_105
+action_1157 (383) = happyShift action_106
+action_1157 (402) = happyShift action_112
+action_1157 (403) = happyShift action_113
+action_1157 (87) = happyGoto action_1186
+action_1157 (139) = happyGoto action_1187
+action_1157 (140) = happyGoto action_1188
+action_1157 (231) = happyGoto action_809
+action_1157 (244) = happyGoto action_42
+action_1157 (245) = happyGoto action_43
+action_1157 (246) = happyGoto action_44
+action_1157 _ = happyFail
+
+action_1158 (278) = happyShift action_49
+action_1158 (282) = happyShift action_53
+action_1158 (283) = happyShift action_54
+action_1158 (286) = happyReduce_248
+action_1158 (289) = happyShift action_135
+action_1158 (292) = happyShift action_136
+action_1158 (299) = happyShift action_137
+action_1158 (301) = happyShift action_138
+action_1158 (307) = happyShift action_139
+action_1158 (309) = happyShift action_140
+action_1158 (312) = happyShift action_141
+action_1158 (313) = happyReduce_248
+action_1158 (325) = happyShift action_142
+action_1158 (328) = happyShift action_143
+action_1158 (337) = happyShift action_144
+action_1158 (338) = happyShift action_145
+action_1158 (344) = happyShift action_146
+action_1158 (346) = happyShift action_147
+action_1158 (358) = happyShift action_88
+action_1158 (359) = happyShift action_148
+action_1158 (360) = happyShift action_149
+action_1158 (361) = happyShift action_150
+action_1158 (363) = happyShift action_93
+action_1158 (364) = happyShift action_94
+action_1158 (365) = happyShift action_95
+action_1158 (366) = happyShift action_96
+action_1158 (367) = happyShift action_97
+action_1158 (368) = happyShift action_98
+action_1158 (369) = happyShift action_99
+action_1158 (370) = happyShift action_100
+action_1158 (371) = happyShift action_101
+action_1158 (383) = happyShift action_106
+action_1158 (402) = happyShift action_112
+action_1158 (416) = happyShift action_152
+action_1158 (417) = happyShift action_153
+action_1158 (109) = happyGoto action_223
+action_1158 (110) = happyGoto action_121
+action_1158 (111) = happyGoto action_122
+action_1158 (112) = happyGoto action_123
+action_1158 (113) = happyGoto action_124
+action_1158 (114) = happyGoto action_125
+action_1158 (115) = happyGoto action_126
+action_1158 (245) = happyGoto action_131
+action_1158 (248) = happyGoto action_132
+action_1158 (249) = happyGoto action_47
+action_1158 (270) = happyGoto action_133
+action_1158 (271) = happyGoto action_134
+action_1158 _ = happyReduce_332
+
+action_1159 _ = happyReduce_324
+
+action_1160 (278) = happyShift action_49
+action_1160 (282) = happyShift action_53
+action_1160 (283) = happyShift action_54
+action_1160 (289) = happyShift action_135
+action_1160 (292) = happyShift action_136
+action_1160 (299) = happyShift action_137
+action_1160 (301) = happyShift action_138
+action_1160 (307) = happyShift action_139
+action_1160 (309) = happyShift action_140
+action_1160 (312) = happyShift action_141
+action_1160 (325) = happyShift action_142
+action_1160 (328) = happyShift action_143
+action_1160 (337) = happyShift action_144
+action_1160 (338) = happyShift action_145
+action_1160 (344) = happyShift action_146
+action_1160 (346) = happyShift action_147
+action_1160 (358) = happyShift action_88
+action_1160 (359) = happyShift action_148
+action_1160 (360) = happyShift action_149
+action_1160 (361) = happyShift action_150
+action_1160 (363) = happyShift action_93
+action_1160 (364) = happyShift action_94
+action_1160 (365) = happyShift action_95
+action_1160 (366) = happyShift action_96
+action_1160 (367) = happyShift action_97
+action_1160 (368) = happyShift action_98
+action_1160 (369) = happyShift action_99
+action_1160 (370) = happyShift action_100
+action_1160 (371) = happyShift action_101
+action_1160 (383) = happyShift action_106
+action_1160 (402) = happyShift action_112
+action_1160 (416) = happyShift action_152
+action_1160 (417) = happyShift action_153
+action_1160 (106) = happyGoto action_1184
+action_1160 (108) = happyGoto action_1185
+action_1160 (109) = happyGoto action_120
+action_1160 (110) = happyGoto action_121
+action_1160 (111) = happyGoto action_122
+action_1160 (112) = happyGoto action_123
+action_1160 (113) = happyGoto action_124
+action_1160 (114) = happyGoto action_125
+action_1160 (115) = happyGoto action_126
+action_1160 (245) = happyGoto action_131
+action_1160 (248) = happyGoto action_132
+action_1160 (249) = happyGoto action_47
+action_1160 (270) = happyGoto action_133
+action_1160 (271) = happyGoto action_134
+action_1160 _ = happyFail
+
+action_1161 (282) = happyShift action_53
+action_1161 (249) = happyGoto action_1002
+action_1161 _ = happyFail
+
+action_1162 _ = happyReduce_326
+
+action_1163 (282) = happyShift action_53
+action_1163 (283) = happyShift action_54
+action_1163 (299) = happyShift action_1104
+action_1163 (303) = happyShift action_566
+action_1163 (131) = happyGoto action_1181
+action_1163 (132) = happyGoto action_1182
+action_1163 (234) = happyGoto action_1183
+action_1163 (248) = happyGoto action_46
+action_1163 (249) = happyGoto action_47
+action_1163 _ = happyFail
+
+action_1164 (305) = happyShift action_1180
+action_1164 _ = happyFail
+
+action_1165 (1) = happyShift action_400
+action_1165 (306) = happyShift action_401
+action_1165 (259) = happyGoto action_1179
+action_1165 _ = happyFail
+
+action_1166 (311) = happyShift action_548
+action_1166 _ = happyReduce_340
+
+action_1167 (300) = happyShift action_1178
+action_1167 _ = happyFail
+
+action_1168 _ = happyReduce_338
+
+action_1169 _ = happyReduce_116
+
+action_1170 (278) = happyShift action_49
+action_1170 (279) = happyShift action_50
+action_1170 (280) = happyShift action_51
+action_1170 (281) = happyShift action_52
+action_1170 (282) = happyShift action_53
+action_1170 (283) = happyShift action_54
+action_1170 (289) = happyShift action_55
+action_1170 (290) = happyShift action_56
+action_1170 (291) = happyShift action_57
+action_1170 (292) = happyShift action_58
+action_1170 (293) = happyShift action_59
+action_1170 (294) = happyShift action_60
+action_1170 (295) = happyShift action_61
+action_1170 (296) = happyShift action_62
+action_1170 (297) = happyShift action_63
+action_1170 (298) = happyShift action_64
+action_1170 (299) = happyShift action_65
+action_1170 (301) = happyShift action_66
+action_1170 (307) = happyShift action_67
+action_1170 (309) = happyShift action_68
+action_1170 (312) = happyShift action_69
+action_1170 (319) = happyShift action_70
+action_1170 (324) = happyShift action_71
+action_1170 (325) = happyShift action_72
+action_1170 (327) = happyShift action_73
+action_1170 (334) = happyShift action_75
+action_1170 (337) = happyShift action_76
+action_1170 (338) = happyShift action_77
+action_1170 (339) = happyShift action_78
+action_1170 (340) = happyShift action_79
+action_1170 (341) = happyShift action_80
+action_1170 (342) = happyShift action_81
+action_1170 (344) = happyShift action_82
+action_1170 (345) = happyShift action_83
+action_1170 (346) = happyShift action_84
+action_1170 (348) = happyShift action_85
+action_1170 (350) = happyShift action_86
+action_1170 (351) = happyShift action_87
+action_1170 (358) = happyShift action_88
+action_1170 (359) = happyShift action_89
+action_1170 (360) = happyShift action_90
+action_1170 (361) = happyShift action_91
+action_1170 (362) = happyShift action_92
+action_1170 (363) = happyShift action_93
+action_1170 (364) = happyShift action_94
+action_1170 (365) = happyShift action_95
+action_1170 (366) = happyShift action_96
+action_1170 (367) = happyShift action_97
+action_1170 (368) = happyShift action_98
+action_1170 (369) = happyShift action_99
+action_1170 (370) = happyShift action_100
+action_1170 (371) = happyShift action_101
+action_1170 (373) = happyShift action_102
+action_1170 (378) = happyShift action_103
+action_1170 (380) = happyShift action_104
+action_1170 (381) = happyShift action_105
+action_1170 (383) = happyShift action_106
+action_1170 (384) = happyShift action_107
+action_1170 (391) = happyShift action_159
+action_1170 (392) = happyShift action_109
+action_1170 (396) = happyShift action_110
+action_1170 (402) = happyShift action_112
+action_1170 (403) = happyShift action_113
+action_1170 (411) = happyShift action_114
+action_1170 (412) = happyShift action_115
+action_1170 (413) = happyShift action_116
+action_1170 (168) = happyGoto action_1177
+action_1170 (169) = happyGoto action_161
+action_1170 (170) = happyGoto action_25
+action_1170 (171) = happyGoto action_26
+action_1170 (172) = happyGoto action_27
+action_1170 (173) = happyGoto action_28
+action_1170 (176) = happyGoto action_29
+action_1170 (177) = happyGoto action_30
+action_1170 (178) = happyGoto action_31
+action_1170 (181) = happyGoto action_32
+action_1170 (182) = happyGoto action_33
+action_1170 (183) = happyGoto action_34
+action_1170 (190) = happyGoto action_35
+action_1170 (228) = happyGoto action_38
+action_1170 (231) = happyGoto action_39
+action_1170 (232) = happyGoto action_40
+action_1170 (234) = happyGoto action_41
+action_1170 (244) = happyGoto action_42
+action_1170 (245) = happyGoto action_43
+action_1170 (246) = happyGoto action_44
+action_1170 (247) = happyGoto action_45
+action_1170 (248) = happyGoto action_46
+action_1170 (249) = happyGoto action_47
+action_1170 (257) = happyGoto action_48
+action_1170 _ = happyFail
+
+action_1171 _ = happyReduce_71
+
+action_1172 _ = happyReduce_62
+
+action_1173 _ = happyReduce_73
+
+action_1174 (299) = happyShift action_1176
+action_1174 _ = happyFail
+
+action_1175 _ = happyReduce_77
+
+action_1176 (278) = happyShift action_49
+action_1176 (282) = happyShift action_53
+action_1176 (299) = happyShift action_392
+action_1176 (311) = happyShift action_910
+action_1176 (358) = happyShift action_88
+action_1176 (359) = happyShift action_89
+action_1176 (360) = happyShift action_90
+action_1176 (361) = happyShift action_91
+action_1176 (362) = happyShift action_92
+action_1176 (363) = happyShift action_93
+action_1176 (364) = happyShift action_94
+action_1176 (365) = happyShift action_95
+action_1176 (366) = happyShift action_96
+action_1176 (367) = happyShift action_97
+action_1176 (368) = happyShift action_98
+action_1176 (369) = happyShift action_99
+action_1176 (370) = happyShift action_100
+action_1176 (371) = happyShift action_101
+action_1176 (380) = happyShift action_104
+action_1176 (381) = happyShift action_105
+action_1176 (383) = happyShift action_106
+action_1176 (399) = happyShift action_1269
+action_1176 (402) = happyShift action_112
+action_1176 (403) = happyShift action_113
+action_1176 (404) = happyShift action_1270
+action_1176 (31) = happyGoto action_1263
+action_1176 (45) = happyGoto action_1264
+action_1176 (46) = happyGoto action_1265
+action_1176 (229) = happyGoto action_1266
+action_1176 (233) = happyGoto action_1267
+action_1176 (245) = happyGoto action_43
+action_1176 (246) = happyGoto action_390
+action_1176 (249) = happyGoto action_391
+action_1176 (268) = happyGoto action_1268
+action_1176 _ = happyReduce_47
+
+action_1177 _ = happyReduce_577
+
+action_1178 _ = happyReduce_339
+
+action_1179 _ = happyReduce_314
+
+action_1180 _ = happyReduce_313
+
+action_1181 (27) = happyGoto action_1261
+action_1181 (28) = happyGoto action_1262
+action_1181 _ = happyReduce_41
+
+action_1182 _ = happyReduce_318
+
+action_1183 (317) = happyShift action_1260
+action_1183 _ = happyFail
+
+action_1184 _ = happyReduce_329
+
+action_1185 (278) = happyShift action_49
+action_1185 (282) = happyShift action_53
+action_1185 (283) = happyShift action_54
+action_1185 (289) = happyShift action_135
+action_1185 (292) = happyShift action_136
+action_1185 (299) = happyShift action_137
+action_1185 (301) = happyShift action_138
+action_1185 (307) = happyShift action_139
+action_1185 (309) = happyShift action_140
+action_1185 (312) = happyShift action_141
+action_1185 (325) = happyShift action_142
+action_1185 (328) = happyShift action_143
+action_1185 (337) = happyShift action_144
+action_1185 (338) = happyShift action_145
+action_1185 (344) = happyShift action_146
+action_1185 (346) = happyShift action_147
+action_1185 (358) = happyShift action_88
+action_1185 (359) = happyShift action_148
+action_1185 (360) = happyShift action_149
+action_1185 (361) = happyShift action_150
+action_1185 (363) = happyShift action_93
+action_1185 (364) = happyShift action_94
+action_1185 (365) = happyShift action_95
+action_1185 (366) = happyShift action_96
+action_1185 (367) = happyShift action_97
+action_1185 (368) = happyShift action_98
+action_1185 (369) = happyShift action_99
+action_1185 (370) = happyShift action_100
+action_1185 (371) = happyShift action_101
+action_1185 (383) = happyShift action_106
+action_1185 (402) = happyShift action_112
+action_1185 (416) = happyShift action_152
+action_1185 (417) = happyShift action_153
+action_1185 (109) = happyGoto action_223
+action_1185 (110) = happyGoto action_121
+action_1185 (111) = happyGoto action_122
+action_1185 (112) = happyGoto action_123
+action_1185 (113) = happyGoto action_124
+action_1185 (114) = happyGoto action_125
+action_1185 (115) = happyGoto action_126
+action_1185 (245) = happyGoto action_131
+action_1185 (248) = happyGoto action_132
+action_1185 (249) = happyGoto action_47
+action_1185 (270) = happyGoto action_133
+action_1185 (271) = happyGoto action_134
+action_1185 _ = happyReduce_248
+
+action_1186 (311) = happyShift action_988
+action_1186 (317) = happyShift action_1259
+action_1186 _ = happyFail
+
+action_1187 (305) = happyShift action_1257
+action_1187 (311) = happyShift action_1258
+action_1187 _ = happyFail
+
+action_1188 _ = happyReduce_334
+
+action_1189 _ = happyReduce_330
+
+action_1190 (304) = happyReduce_643
+action_1190 _ = happyReduce_290
+
+action_1191 _ = happyReduce_212
+
+action_1192 _ = happyReduce_360
+
+action_1193 _ = happyReduce_359
+
+action_1194 _ = happyReduce_366
+
+action_1195 (27) = happyGoto action_1255
+action_1195 (28) = happyGoto action_1256
+action_1195 _ = happyReduce_41
+
+action_1196 _ = happyReduce_365
+
+action_1197 _ = happyReduce_367
+
+action_1198 (380) = happyShift action_1254
+action_1198 (155) = happyGoto action_1253
+action_1198 _ = happyReduce_369
+
+action_1199 (278) = happyShift action_49
+action_1199 (279) = happyShift action_50
+action_1199 (280) = happyShift action_51
+action_1199 (281) = happyShift action_52
+action_1199 (282) = happyShift action_53
+action_1199 (283) = happyShift action_54
+action_1199 (289) = happyShift action_55
+action_1199 (290) = happyShift action_56
+action_1199 (291) = happyShift action_57
+action_1199 (292) = happyShift action_58
+action_1199 (293) = happyShift action_59
+action_1199 (294) = happyShift action_60
+action_1199 (295) = happyShift action_61
+action_1199 (296) = happyShift action_62
+action_1199 (297) = happyShift action_63
+action_1199 (298) = happyShift action_64
+action_1199 (299) = happyShift action_65
+action_1199 (301) = happyShift action_66
+action_1199 (307) = happyShift action_67
+action_1199 (309) = happyShift action_68
+action_1199 (312) = happyShift action_69
+action_1199 (319) = happyShift action_592
+action_1199 (324) = happyShift action_71
+action_1199 (325) = happyShift action_72
+action_1199 (327) = happyShift action_73
+action_1199 (334) = happyShift action_75
+action_1199 (337) = happyShift action_76
+action_1199 (338) = happyShift action_77
+action_1199 (339) = happyShift action_78
+action_1199 (340) = happyShift action_79
+action_1199 (341) = happyShift action_80
+action_1199 (342) = happyShift action_81
+action_1199 (344) = happyShift action_82
+action_1199 (345) = happyShift action_83
+action_1199 (346) = happyShift action_84
+action_1199 (348) = happyShift action_85
+action_1199 (350) = happyShift action_86
+action_1199 (351) = happyShift action_87
+action_1199 (358) = happyShift action_88
+action_1199 (359) = happyShift action_89
+action_1199 (360) = happyShift action_90
+action_1199 (361) = happyShift action_91
+action_1199 (362) = happyShift action_92
+action_1199 (363) = happyShift action_93
+action_1199 (364) = happyShift action_94
+action_1199 (365) = happyShift action_95
+action_1199 (366) = happyShift action_96
+action_1199 (367) = happyShift action_97
+action_1199 (368) = happyShift action_98
+action_1199 (369) = happyShift action_99
+action_1199 (370) = happyShift action_100
+action_1199 (371) = happyShift action_101
+action_1199 (373) = happyShift action_102
+action_1199 (378) = happyShift action_103
+action_1199 (380) = happyShift action_104
+action_1199 (381) = happyShift action_105
+action_1199 (383) = happyShift action_106
+action_1199 (392) = happyShift action_109
+action_1199 (402) = happyShift action_112
+action_1199 (403) = happyShift action_113
+action_1199 (405) = happyShift action_499
+action_1199 (406) = happyShift action_500
+action_1199 (407) = happyShift action_501
+action_1199 (408) = happyShift action_502
+action_1199 (421) = happyShift action_507
+action_1199 (77) = happyGoto action_1251
+action_1199 (78) = happyGoto action_478
+action_1199 (79) = happyGoto action_479
+action_1199 (172) = happyGoto action_1252
+action_1199 (176) = happyGoto action_29
+action_1199 (178) = happyGoto action_31
+action_1199 (181) = happyGoto action_32
+action_1199 (182) = happyGoto action_33
+action_1199 (183) = happyGoto action_34
+action_1199 (190) = happyGoto action_35
+action_1199 (228) = happyGoto action_38
+action_1199 (231) = happyGoto action_39
+action_1199 (232) = happyGoto action_40
+action_1199 (234) = happyGoto action_41
+action_1199 (244) = happyGoto action_42
+action_1199 (245) = happyGoto action_43
+action_1199 (246) = happyGoto action_44
+action_1199 (247) = happyGoto action_45
+action_1199 (248) = happyGoto action_46
+action_1199 (249) = happyGoto action_47
+action_1199 (257) = happyGoto action_48
+action_1199 _ = happyFail
+
+action_1200 (278) = happyShift action_49
+action_1200 (280) = happyShift action_51
+action_1200 (281) = happyShift action_52
+action_1200 (282) = happyShift action_53
+action_1200 (283) = happyShift action_54
+action_1200 (289) = happyShift action_135
+action_1200 (292) = happyShift action_136
+action_1200 (299) = happyShift action_137
+action_1200 (301) = happyShift action_138
+action_1200 (307) = happyShift action_139
+action_1200 (309) = happyShift action_140
+action_1200 (312) = happyShift action_141
+action_1200 (325) = happyShift action_142
+action_1200 (328) = happyShift action_143
+action_1200 (337) = happyShift action_144
+action_1200 (338) = happyShift action_145
+action_1200 (344) = happyShift action_146
+action_1200 (346) = happyShift action_147
+action_1200 (358) = happyShift action_88
+action_1200 (359) = happyShift action_148
+action_1200 (360) = happyShift action_149
+action_1200 (361) = happyShift action_150
+action_1200 (363) = happyShift action_93
+action_1200 (364) = happyShift action_94
+action_1200 (365) = happyShift action_95
+action_1200 (366) = happyShift action_96
+action_1200 (367) = happyShift action_97
+action_1200 (368) = happyShift action_98
+action_1200 (369) = happyShift action_99
+action_1200 (370) = happyShift action_100
+action_1200 (371) = happyShift action_101
+action_1200 (380) = happyShift action_1249
+action_1200 (383) = happyShift action_106
+action_1200 (390) = happyShift action_1250
+action_1200 (402) = happyShift action_112
+action_1200 (416) = happyShift action_152
+action_1200 (417) = happyShift action_153
+action_1200 (103) = happyGoto action_117
+action_1200 (105) = happyGoto action_1248
+action_1200 (108) = happyGoto action_193
+action_1200 (109) = happyGoto action_120
+action_1200 (110) = happyGoto action_121
+action_1200 (111) = happyGoto action_122
+action_1200 (112) = happyGoto action_123
+action_1200 (113) = happyGoto action_124
+action_1200 (114) = happyGoto action_125
+action_1200 (115) = happyGoto action_126
+action_1200 (232) = happyGoto action_130
+action_1200 (245) = happyGoto action_131
+action_1200 (247) = happyGoto action_45
+action_1200 (248) = happyGoto action_132
+action_1200 (249) = happyGoto action_47
+action_1200 (270) = happyGoto action_133
+action_1200 (271) = happyGoto action_134
+action_1200 _ = happyFail
+
+action_1201 (278) = happyReduce_305
+action_1201 (358) = happyReduce_305
+action_1201 (359) = happyReduce_305
+action_1201 (360) = happyReduce_305
+action_1201 (361) = happyReduce_305
+action_1201 (363) = happyReduce_305
+action_1201 (364) = happyReduce_305
+action_1201 (365) = happyReduce_305
+action_1201 (366) = happyReduce_305
+action_1201 (367) = happyReduce_305
+action_1201 (368) = happyReduce_305
+action_1201 (369) = happyReduce_305
+action_1201 (370) = happyReduce_305
+action_1201 (371) = happyReduce_305
+action_1201 (383) = happyReduce_305
+action_1201 (402) = happyReduce_305
+action_1201 _ = happyReduce_307
+
+action_1202 _ = happyReduce_376
+
+action_1203 _ = happyReduce_375
+
+action_1204 (278) = happyShift action_49
+action_1204 (280) = happyShift action_51
+action_1204 (281) = happyShift action_52
+action_1204 (282) = happyShift action_53
+action_1204 (283) = happyShift action_54
+action_1204 (289) = happyShift action_135
+action_1204 (292) = happyShift action_136
+action_1204 (299) = happyShift action_137
+action_1204 (301) = happyShift action_138
+action_1204 (307) = happyShift action_139
+action_1204 (309) = happyShift action_140
+action_1204 (312) = happyShift action_141
+action_1204 (325) = happyShift action_142
+action_1204 (328) = happyShift action_143
+action_1204 (337) = happyShift action_144
+action_1204 (338) = happyShift action_145
+action_1204 (344) = happyShift action_146
+action_1204 (346) = happyShift action_147
+action_1204 (358) = happyShift action_88
+action_1204 (359) = happyShift action_148
+action_1204 (360) = happyShift action_149
+action_1204 (361) = happyShift action_150
+action_1204 (363) = happyShift action_93
+action_1204 (364) = happyShift action_94
+action_1204 (365) = happyShift action_95
+action_1204 (366) = happyShift action_96
+action_1204 (367) = happyShift action_97
+action_1204 (368) = happyShift action_98
+action_1204 (369) = happyShift action_99
+action_1204 (370) = happyShift action_100
+action_1204 (371) = happyShift action_101
+action_1204 (381) = happyShift action_151
+action_1204 (383) = happyShift action_106
+action_1204 (402) = happyShift action_112
+action_1204 (416) = happyShift action_152
+action_1204 (417) = happyShift action_153
+action_1204 (103) = happyGoto action_117
+action_1204 (105) = happyGoto action_118
+action_1204 (108) = happyGoto action_119
+action_1204 (109) = happyGoto action_120
+action_1204 (110) = happyGoto action_121
+action_1204 (111) = happyGoto action_122
+action_1204 (112) = happyGoto action_123
+action_1204 (113) = happyGoto action_124
+action_1204 (114) = happyGoto action_125
+action_1204 (115) = happyGoto action_126
+action_1204 (117) = happyGoto action_1247
+action_1204 (118) = happyGoto action_128
+action_1204 (119) = happyGoto action_129
+action_1204 (232) = happyGoto action_130
+action_1204 (245) = happyGoto action_131
+action_1204 (247) = happyGoto action_45
+action_1204 (248) = happyGoto action_132
+action_1204 (249) = happyGoto action_47
+action_1204 (270) = happyGoto action_133
+action_1204 (271) = happyGoto action_134
+action_1204 _ = happyFail
+
+action_1205 _ = happyReduce_385
+
+action_1206 _ = happyReduce_384
+
+action_1207 (27) = happyGoto action_1245
+action_1207 (28) = happyGoto action_1246
+action_1207 _ = happyReduce_41
+
+action_1208 _ = happyReduce_381
+
+action_1209 _ = happyReduce_383
+
+action_1210 _ = happyReduce_382
+
+action_1211 _ = happyReduce_157
+
+action_1212 (278) = happyShift action_49
+action_1212 (282) = happyShift action_53
+action_1212 (283) = happyShift action_54
+action_1212 (289) = happyShift action_135
+action_1212 (292) = happyShift action_136
+action_1212 (299) = happyShift action_137
+action_1212 (301) = happyShift action_138
+action_1212 (307) = happyShift action_139
+action_1212 (309) = happyShift action_140
+action_1212 (312) = happyShift action_141
+action_1212 (325) = happyShift action_142
+action_1212 (328) = happyShift action_143
+action_1212 (337) = happyShift action_144
+action_1212 (338) = happyShift action_145
+action_1212 (344) = happyShift action_146
+action_1212 (346) = happyShift action_147
+action_1212 (358) = happyShift action_88
+action_1212 (359) = happyShift action_148
+action_1212 (360) = happyShift action_149
+action_1212 (361) = happyShift action_150
+action_1212 (363) = happyShift action_93
+action_1212 (364) = happyShift action_94
+action_1212 (365) = happyShift action_95
+action_1212 (366) = happyShift action_96
+action_1212 (367) = happyShift action_97
+action_1212 (368) = happyShift action_98
+action_1212 (369) = happyShift action_99
+action_1212 (370) = happyShift action_100
+action_1212 (371) = happyShift action_101
+action_1212 (383) = happyShift action_106
+action_1212 (402) = happyShift action_112
+action_1212 (416) = happyShift action_152
+action_1212 (417) = happyShift action_153
+action_1212 (102) = happyGoto action_1244
+action_1212 (103) = happyGoto action_841
+action_1212 (108) = happyGoto action_193
+action_1212 (109) = happyGoto action_120
+action_1212 (110) = happyGoto action_121
+action_1212 (111) = happyGoto action_122
+action_1212 (112) = happyGoto action_123
+action_1212 (113) = happyGoto action_124
+action_1212 (114) = happyGoto action_125
+action_1212 (115) = happyGoto action_126
+action_1212 (245) = happyGoto action_131
+action_1212 (248) = happyGoto action_132
+action_1212 (249) = happyGoto action_47
+action_1212 (270) = happyGoto action_133
+action_1212 (271) = happyGoto action_134
+action_1212 _ = happyFail
+
+action_1213 _ = happyReduce_150
+
+action_1214 (278) = happyShift action_49
+action_1214 (280) = happyShift action_51
+action_1214 (281) = happyShift action_52
+action_1214 (282) = happyShift action_53
+action_1214 (283) = happyShift action_54
+action_1214 (289) = happyShift action_135
+action_1214 (292) = happyShift action_136
+action_1214 (299) = happyShift action_137
+action_1214 (301) = happyShift action_138
+action_1214 (307) = happyShift action_139
+action_1214 (309) = happyShift action_140
+action_1214 (312) = happyShift action_141
+action_1214 (325) = happyShift action_142
+action_1214 (328) = happyShift action_143
+action_1214 (337) = happyShift action_144
+action_1214 (338) = happyShift action_145
+action_1214 (344) = happyShift action_146
+action_1214 (346) = happyShift action_147
+action_1214 (358) = happyShift action_88
+action_1214 (359) = happyShift action_148
+action_1214 (360) = happyShift action_149
+action_1214 (361) = happyShift action_150
+action_1214 (363) = happyShift action_93
+action_1214 (364) = happyShift action_94
+action_1214 (365) = happyShift action_95
+action_1214 (366) = happyShift action_96
+action_1214 (367) = happyShift action_97
+action_1214 (368) = happyShift action_98
+action_1214 (369) = happyShift action_99
+action_1214 (370) = happyShift action_100
+action_1214 (371) = happyShift action_101
+action_1214 (381) = happyShift action_151
+action_1214 (383) = happyShift action_106
+action_1214 (402) = happyShift action_112
+action_1214 (416) = happyShift action_152
+action_1214 (417) = happyShift action_153
+action_1214 (69) = happyGoto action_1243
+action_1214 (70) = happyGoto action_1241
+action_1214 (103) = happyGoto action_117
+action_1214 (105) = happyGoto action_118
+action_1214 (108) = happyGoto action_119
+action_1214 (109) = happyGoto action_120
+action_1214 (110) = happyGoto action_121
+action_1214 (111) = happyGoto action_122
+action_1214 (112) = happyGoto action_123
+action_1214 (113) = happyGoto action_124
+action_1214 (114) = happyGoto action_125
+action_1214 (115) = happyGoto action_126
+action_1214 (117) = happyGoto action_1242
+action_1214 (118) = happyGoto action_128
+action_1214 (119) = happyGoto action_129
+action_1214 (232) = happyGoto action_130
+action_1214 (245) = happyGoto action_131
+action_1214 (247) = happyGoto action_45
+action_1214 (248) = happyGoto action_132
+action_1214 (249) = happyGoto action_47
+action_1214 (270) = happyGoto action_133
+action_1214 (271) = happyGoto action_134
+action_1214 _ = happyFail
+
+action_1215 (278) = happyShift action_49
+action_1215 (280) = happyShift action_51
+action_1215 (281) = happyShift action_52
+action_1215 (282) = happyShift action_53
+action_1215 (283) = happyShift action_54
+action_1215 (289) = happyShift action_135
+action_1215 (292) = happyShift action_136
+action_1215 (299) = happyShift action_137
+action_1215 (301) = happyShift action_138
+action_1215 (307) = happyShift action_139
+action_1215 (309) = happyShift action_140
+action_1215 (312) = happyShift action_141
+action_1215 (325) = happyShift action_142
+action_1215 (328) = happyShift action_143
+action_1215 (337) = happyShift action_144
+action_1215 (338) = happyShift action_145
+action_1215 (344) = happyShift action_146
+action_1215 (346) = happyShift action_147
+action_1215 (358) = happyShift action_88
+action_1215 (359) = happyShift action_148
+action_1215 (360) = happyShift action_149
+action_1215 (361) = happyShift action_150
+action_1215 (363) = happyShift action_93
+action_1215 (364) = happyShift action_94
+action_1215 (365) = happyShift action_95
+action_1215 (366) = happyShift action_96
+action_1215 (367) = happyShift action_97
+action_1215 (368) = happyShift action_98
+action_1215 (369) = happyShift action_99
+action_1215 (370) = happyShift action_100
+action_1215 (371) = happyShift action_101
+action_1215 (381) = happyShift action_151
+action_1215 (383) = happyShift action_106
+action_1215 (402) = happyShift action_112
+action_1215 (416) = happyShift action_152
+action_1215 (417) = happyShift action_153
+action_1215 (69) = happyGoto action_1240
+action_1215 (70) = happyGoto action_1241
+action_1215 (103) = happyGoto action_117
+action_1215 (105) = happyGoto action_118
+action_1215 (108) = happyGoto action_119
+action_1215 (109) = happyGoto action_120
+action_1215 (110) = happyGoto action_121
+action_1215 (111) = happyGoto action_122
+action_1215 (112) = happyGoto action_123
+action_1215 (113) = happyGoto action_124
+action_1215 (114) = happyGoto action_125
+action_1215 (115) = happyGoto action_126
+action_1215 (117) = happyGoto action_1242
+action_1215 (118) = happyGoto action_128
+action_1215 (119) = happyGoto action_129
+action_1215 (232) = happyGoto action_130
+action_1215 (245) = happyGoto action_131
+action_1215 (247) = happyGoto action_45
+action_1215 (248) = happyGoto action_132
+action_1215 (249) = happyGoto action_47
+action_1215 (270) = happyGoto action_133
+action_1215 (271) = happyGoto action_134
+action_1215 _ = happyFail
+
+action_1216 (278) = happyShift action_49
+action_1216 (358) = happyShift action_88
+action_1216 (359) = happyShift action_148
+action_1216 (360) = happyShift action_149
+action_1216 (361) = happyShift action_150
+action_1216 (363) = happyShift action_93
+action_1216 (364) = happyShift action_94
+action_1216 (365) = happyShift action_95
+action_1216 (366) = happyShift action_96
+action_1216 (367) = happyShift action_97
+action_1216 (368) = happyShift action_98
+action_1216 (369) = happyShift action_99
+action_1216 (370) = happyShift action_100
+action_1216 (371) = happyShift action_101
+action_1216 (383) = happyShift action_106
+action_1216 (402) = happyShift action_112
+action_1216 (55) = happyGoto action_1238
+action_1216 (245) = happyGoto action_131
+action_1216 (271) = happyGoto action_1239
+action_1216 _ = happyFail
+
+action_1217 (278) = happyShift action_49
+action_1217 (279) = happyShift action_50
+action_1217 (280) = happyShift action_51
+action_1217 (281) = happyShift action_52
+action_1217 (282) = happyShift action_53
+action_1217 (283) = happyShift action_54
+action_1217 (289) = happyShift action_55
+action_1217 (290) = happyShift action_56
+action_1217 (291) = happyShift action_57
+action_1217 (292) = happyShift action_58
+action_1217 (293) = happyShift action_59
+action_1217 (294) = happyShift action_60
+action_1217 (295) = happyShift action_61
+action_1217 (296) = happyShift action_62
+action_1217 (297) = happyShift action_63
+action_1217 (298) = happyShift action_64
+action_1217 (299) = happyShift action_65
+action_1217 (301) = happyShift action_66
+action_1217 (303) = happyShift action_566
+action_1217 (307) = happyShift action_67
+action_1217 (309) = happyShift action_68
+action_1217 (312) = happyShift action_69
+action_1217 (319) = happyShift action_592
+action_1217 (324) = happyShift action_71
+action_1217 (325) = happyShift action_72
+action_1217 (327) = happyShift action_73
+action_1217 (328) = happyShift action_486
+action_1217 (334) = happyShift action_75
+action_1217 (337) = happyShift action_76
+action_1217 (338) = happyShift action_77
+action_1217 (339) = happyShift action_78
+action_1217 (340) = happyShift action_79
+action_1217 (341) = happyShift action_80
+action_1217 (342) = happyShift action_81
+action_1217 (344) = happyShift action_82
+action_1217 (345) = happyShift action_83
+action_1217 (346) = happyShift action_84
+action_1217 (348) = happyShift action_85
+action_1217 (350) = happyShift action_86
+action_1217 (351) = happyShift action_87
+action_1217 (358) = happyShift action_88
+action_1217 (359) = happyShift action_89
+action_1217 (360) = happyShift action_90
+action_1217 (361) = happyShift action_91
+action_1217 (362) = happyShift action_92
+action_1217 (363) = happyShift action_93
+action_1217 (364) = happyShift action_94
+action_1217 (365) = happyShift action_95
+action_1217 (366) = happyShift action_96
+action_1217 (367) = happyShift action_97
+action_1217 (368) = happyShift action_98
+action_1217 (369) = happyShift action_99
+action_1217 (370) = happyShift action_100
+action_1217 (371) = happyShift action_101
+action_1217 (373) = happyShift action_102
+action_1217 (378) = happyShift action_103
+action_1217 (380) = happyShift action_104
+action_1217 (381) = happyShift action_105
+action_1217 (383) = happyShift action_106
+action_1217 (387) = happyShift action_492
+action_1217 (388) = happyShift action_493
+action_1217 (389) = happyShift action_494
+action_1217 (392) = happyShift action_109
+action_1217 (402) = happyShift action_112
+action_1217 (403) = happyShift action_113
+action_1217 (404) = happyShift action_498
+action_1217 (405) = happyShift action_499
+action_1217 (406) = happyShift action_500
+action_1217 (407) = happyShift action_501
+action_1217 (408) = happyShift action_502
+action_1217 (421) = happyShift action_507
+action_1217 (49) = happyGoto action_469
+action_1217 (51) = happyGoto action_470
+action_1217 (74) = happyGoto action_586
+action_1217 (75) = happyGoto action_587
+action_1217 (77) = happyGoto action_477
+action_1217 (78) = happyGoto action_478
+action_1217 (79) = happyGoto action_479
+action_1217 (162) = happyGoto action_480
+action_1217 (172) = happyGoto action_588
+action_1217 (176) = happyGoto action_29
+action_1217 (178) = happyGoto action_31
+action_1217 (181) = happyGoto action_32
+action_1217 (182) = happyGoto action_33
+action_1217 (183) = happyGoto action_34
+action_1217 (190) = happyGoto action_35
+action_1217 (228) = happyGoto action_38
+action_1217 (231) = happyGoto action_39
+action_1217 (232) = happyGoto action_40
+action_1217 (234) = happyGoto action_41
+action_1217 (244) = happyGoto action_42
+action_1217 (245) = happyGoto action_43
+action_1217 (246) = happyGoto action_44
+action_1217 (247) = happyGoto action_45
+action_1217 (248) = happyGoto action_46
+action_1217 (249) = happyGoto action_47
+action_1217 (257) = happyGoto action_48
+action_1217 (260) = happyGoto action_483
+action_1217 (261) = happyGoto action_484
+action_1217 (265) = happyGoto action_485
+action_1217 _ = happyReduce_163
+
+action_1218 (305) = happyShift action_1237
+action_1218 _ = happyFail
+
+action_1219 (1) = happyShift action_400
+action_1219 (306) = happyShift action_401
+action_1219 (259) = happyGoto action_1236
+action_1219 _ = happyFail
+
+action_1220 _ = happyReduce_728
+
+action_1221 _ = happyReduce_184
+
+action_1222 (278) = happyShift action_49
+action_1222 (280) = happyShift action_51
+action_1222 (281) = happyShift action_52
+action_1222 (282) = happyShift action_53
+action_1222 (283) = happyShift action_54
+action_1222 (289) = happyShift action_135
+action_1222 (292) = happyShift action_136
+action_1222 (299) = happyShift action_137
+action_1222 (301) = happyShift action_138
+action_1222 (307) = happyShift action_139
+action_1222 (309) = happyShift action_140
+action_1222 (312) = happyShift action_141
+action_1222 (325) = happyShift action_142
+action_1222 (328) = happyShift action_143
+action_1222 (337) = happyShift action_144
+action_1222 (338) = happyShift action_145
+action_1222 (344) = happyShift action_146
+action_1222 (346) = happyShift action_147
+action_1222 (358) = happyShift action_88
+action_1222 (359) = happyShift action_148
+action_1222 (360) = happyShift action_149
+action_1222 (361) = happyShift action_150
+action_1222 (363) = happyShift action_93
+action_1222 (364) = happyShift action_94
+action_1222 (365) = happyShift action_95
+action_1222 (366) = happyShift action_96
+action_1222 (367) = happyShift action_97
+action_1222 (368) = happyShift action_98
+action_1222 (369) = happyShift action_99
+action_1222 (370) = happyShift action_100
+action_1222 (371) = happyShift action_101
+action_1222 (381) = happyShift action_151
+action_1222 (383) = happyShift action_106
+action_1222 (402) = happyShift action_112
+action_1222 (416) = happyShift action_152
+action_1222 (417) = happyShift action_153
+action_1222 (103) = happyGoto action_117
+action_1222 (105) = happyGoto action_118
+action_1222 (108) = happyGoto action_119
+action_1222 (109) = happyGoto action_120
+action_1222 (110) = happyGoto action_121
+action_1222 (111) = happyGoto action_122
+action_1222 (112) = happyGoto action_123
+action_1222 (113) = happyGoto action_124
+action_1222 (114) = happyGoto action_125
+action_1222 (115) = happyGoto action_126
+action_1222 (117) = happyGoto action_1235
+action_1222 (118) = happyGoto action_128
+action_1222 (119) = happyGoto action_129
+action_1222 (232) = happyGoto action_130
+action_1222 (245) = happyGoto action_131
+action_1222 (247) = happyGoto action_45
+action_1222 (248) = happyGoto action_132
+action_1222 (249) = happyGoto action_47
+action_1222 (270) = happyGoto action_133
+action_1222 (271) = happyGoto action_134
+action_1222 _ = happyFail
+
+action_1223 _ = happyReduce_218
+
+action_1224 (352) = happyShift action_1234
+action_1224 _ = happyFail
+
+action_1225 (425) = happyShift action_1233
+action_1225 _ = happyFail
+
+action_1226 _ = happyReduce_356
+
+action_1227 _ = happyReduce_53
+
+action_1228 _ = happyReduce_55
+
+action_1229 (278) = happyShift action_49
+action_1229 (282) = happyShift action_53
+action_1229 (299) = happyShift action_392
+action_1229 (358) = happyShift action_88
+action_1229 (359) = happyShift action_89
+action_1229 (360) = happyShift action_90
+action_1229 (361) = happyShift action_91
+action_1229 (362) = happyShift action_92
+action_1229 (363) = happyShift action_93
+action_1229 (364) = happyShift action_94
+action_1229 (365) = happyShift action_95
+action_1229 (366) = happyShift action_96
+action_1229 (367) = happyShift action_97
+action_1229 (368) = happyShift action_98
+action_1229 (369) = happyShift action_99
+action_1229 (370) = happyShift action_100
+action_1229 (371) = happyShift action_101
+action_1229 (380) = happyShift action_104
+action_1229 (381) = happyShift action_105
+action_1229 (383) = happyShift action_106
+action_1229 (402) = happyShift action_112
+action_1229 (403) = happyShift action_113
+action_1229 (48) = happyGoto action_1232
+action_1229 (229) = happyGoto action_1119
+action_1229 (233) = happyGoto action_1120
+action_1229 (245) = happyGoto action_43
+action_1229 (246) = happyGoto action_390
+action_1229 (249) = happyGoto action_391
+action_1229 _ = happyFail
+
+action_1230 (352) = happyShift action_1231
+action_1230 _ = happyFail
+
+action_1231 _ = happyReduce_17
+
+action_1232 _ = happyReduce_88
+
+action_1233 (278) = happyShift action_49
+action_1233 (279) = happyShift action_50
+action_1233 (280) = happyShift action_51
+action_1233 (281) = happyShift action_52
+action_1233 (282) = happyShift action_53
+action_1233 (283) = happyShift action_54
+action_1233 (289) = happyShift action_55
+action_1233 (290) = happyShift action_56
+action_1233 (291) = happyShift action_57
+action_1233 (292) = happyShift action_58
+action_1233 (293) = happyShift action_59
+action_1233 (294) = happyShift action_60
+action_1233 (295) = happyShift action_61
+action_1233 (296) = happyShift action_62
+action_1233 (297) = happyShift action_63
+action_1233 (298) = happyShift action_64
+action_1233 (299) = happyShift action_65
+action_1233 (301) = happyShift action_66
+action_1233 (307) = happyShift action_67
+action_1233 (309) = happyShift action_68
+action_1233 (312) = happyShift action_69
+action_1233 (319) = happyShift action_70
+action_1233 (324) = happyShift action_71
+action_1233 (325) = happyShift action_72
+action_1233 (327) = happyShift action_73
+action_1233 (334) = happyShift action_75
+action_1233 (337) = happyShift action_76
+action_1233 (338) = happyShift action_77
+action_1233 (339) = happyShift action_78
+action_1233 (340) = happyShift action_79
+action_1233 (341) = happyShift action_80
+action_1233 (342) = happyShift action_81
+action_1233 (344) = happyShift action_82
+action_1233 (345) = happyShift action_83
+action_1233 (346) = happyShift action_84
+action_1233 (348) = happyShift action_85
+action_1233 (350) = happyShift action_86
+action_1233 (351) = happyShift action_87
+action_1233 (358) = happyShift action_88
+action_1233 (359) = happyShift action_89
+action_1233 (360) = happyShift action_90
+action_1233 (361) = happyShift action_91
+action_1233 (362) = happyShift action_92
+action_1233 (363) = happyShift action_93
+action_1233 (364) = happyShift action_94
+action_1233 (365) = happyShift action_95
+action_1233 (366) = happyShift action_96
+action_1233 (367) = happyShift action_97
+action_1233 (368) = happyShift action_98
+action_1233 (369) = happyShift action_99
+action_1233 (370) = happyShift action_100
+action_1233 (371) = happyShift action_101
+action_1233 (373) = happyShift action_102
+action_1233 (378) = happyShift action_103
+action_1233 (380) = happyShift action_104
+action_1233 (381) = happyShift action_105
+action_1233 (383) = happyShift action_106
+action_1233 (384) = happyShift action_107
+action_1233 (391) = happyShift action_159
+action_1233 (392) = happyShift action_109
+action_1233 (396) = happyShift action_110
+action_1233 (402) = happyShift action_112
+action_1233 (403) = happyShift action_113
+action_1233 (411) = happyShift action_114
+action_1233 (412) = happyShift action_115
+action_1233 (413) = happyShift action_116
+action_1233 (169) = happyGoto action_1300
+action_1233 (170) = happyGoto action_25
+action_1233 (171) = happyGoto action_26
+action_1233 (172) = happyGoto action_27
+action_1233 (173) = happyGoto action_28
+action_1233 (176) = happyGoto action_29
+action_1233 (177) = happyGoto action_30
+action_1233 (178) = happyGoto action_31
+action_1233 (181) = happyGoto action_32
+action_1233 (182) = happyGoto action_33
+action_1233 (183) = happyGoto action_34
+action_1233 (190) = happyGoto action_35
+action_1233 (228) = happyGoto action_38
+action_1233 (231) = happyGoto action_39
+action_1233 (232) = happyGoto action_40
+action_1233 (234) = happyGoto action_41
+action_1233 (244) = happyGoto action_42
+action_1233 (245) = happyGoto action_43
+action_1233 (246) = happyGoto action_44
+action_1233 (247) = happyGoto action_45
+action_1233 (248) = happyGoto action_46
+action_1233 (249) = happyGoto action_47
+action_1233 (257) = happyGoto action_48
+action_1233 _ = happyFail
+
+action_1234 _ = happyReduce_492
+
+action_1235 (300) = happyShift action_1299
+action_1235 _ = happyFail
+
+action_1236 _ = happyReduce_726
+
+action_1237 _ = happyReduce_725
+
+action_1238 (278) = happyShift action_49
+action_1238 (358) = happyShift action_88
+action_1238 (359) = happyShift action_148
+action_1238 (360) = happyShift action_149
+action_1238 (361) = happyShift action_150
+action_1238 (363) = happyShift action_93
+action_1238 (364) = happyShift action_94
+action_1238 (365) = happyShift action_95
+action_1238 (366) = happyShift action_96
+action_1238 (367) = happyShift action_97
+action_1238 (368) = happyShift action_98
+action_1238 (369) = happyShift action_99
+action_1238 (370) = happyShift action_100
+action_1238 (371) = happyShift action_101
+action_1238 (383) = happyShift action_106
+action_1238 (402) = happyShift action_112
+action_1238 (245) = happyGoto action_131
+action_1238 (271) = happyGoto action_1298
+action_1238 _ = happyReduce_102
+
+action_1239 _ = happyReduce_104
+
+action_1240 (303) = happyShift action_1295
+action_1240 (305) = happyShift action_1297
+action_1240 _ = happyFail
+
+action_1241 _ = happyReduce_155
+
+action_1242 (318) = happyShift action_1296
+action_1242 _ = happyFail
+
+action_1243 (1) = happyShift action_400
+action_1243 (303) = happyShift action_1295
+action_1243 (306) = happyShift action_401
+action_1243 (259) = happyGoto action_1294
+action_1243 _ = happyFail
+
+action_1244 (318) = happyShift action_1293
+action_1244 _ = happyFail
+
+action_1245 (278) = happyShift action_49
+action_1245 (279) = happyShift action_50
+action_1245 (280) = happyShift action_51
+action_1245 (281) = happyShift action_52
+action_1245 (282) = happyShift action_53
+action_1245 (283) = happyShift action_54
+action_1245 (289) = happyShift action_55
+action_1245 (290) = happyShift action_56
+action_1245 (291) = happyShift action_57
+action_1245 (292) = happyShift action_58
+action_1245 (293) = happyShift action_59
+action_1245 (294) = happyShift action_60
+action_1245 (295) = happyShift action_61
+action_1245 (296) = happyShift action_62
+action_1245 (297) = happyShift action_63
+action_1245 (298) = happyShift action_64
+action_1245 (299) = happyShift action_65
+action_1245 (301) = happyShift action_66
+action_1245 (307) = happyShift action_67
+action_1245 (309) = happyShift action_68
+action_1245 (312) = happyShift action_69
+action_1245 (319) = happyShift action_592
+action_1245 (324) = happyShift action_71
+action_1245 (325) = happyShift action_72
+action_1245 (327) = happyShift action_73
+action_1245 (328) = happyShift action_486
+action_1245 (334) = happyShift action_75
+action_1245 (337) = happyShift action_76
+action_1245 (338) = happyShift action_77
+action_1245 (339) = happyShift action_78
+action_1245 (340) = happyShift action_79
+action_1245 (341) = happyShift action_80
+action_1245 (342) = happyShift action_81
+action_1245 (344) = happyShift action_82
+action_1245 (345) = happyShift action_83
+action_1245 (346) = happyShift action_84
+action_1245 (348) = happyShift action_85
+action_1245 (350) = happyShift action_86
+action_1245 (351) = happyShift action_87
+action_1245 (358) = happyShift action_88
+action_1245 (359) = happyShift action_89
+action_1245 (360) = happyShift action_90
+action_1245 (361) = happyShift action_91
+action_1245 (362) = happyShift action_92
+action_1245 (363) = happyShift action_93
+action_1245 (364) = happyShift action_94
+action_1245 (365) = happyShift action_95
+action_1245 (366) = happyShift action_96
+action_1245 (367) = happyShift action_97
+action_1245 (368) = happyShift action_98
+action_1245 (369) = happyShift action_99
+action_1245 (370) = happyShift action_100
+action_1245 (371) = happyShift action_101
+action_1245 (373) = happyShift action_102
+action_1245 (375) = happyShift action_1211
+action_1245 (378) = happyShift action_103
+action_1245 (380) = happyShift action_104
+action_1245 (381) = happyShift action_105
+action_1245 (383) = happyShift action_106
+action_1245 (392) = happyShift action_109
+action_1245 (394) = happyShift action_496
+action_1245 (399) = happyShift action_1212
+action_1245 (402) = happyShift action_112
+action_1245 (403) = happyShift action_113
+action_1245 (405) = happyShift action_499
+action_1245 (406) = happyShift action_500
+action_1245 (407) = happyShift action_501
+action_1245 (408) = happyShift action_502
+action_1245 (421) = happyShift action_507
+action_1245 (71) = happyGoto action_1204
+action_1245 (78) = happyGoto action_1205
+action_1245 (79) = happyGoto action_1206
+action_1245 (160) = happyGoto action_1292
+action_1245 (161) = happyGoto action_1209
+action_1245 (162) = happyGoto action_1210
+action_1245 (172) = happyGoto action_588
+action_1245 (176) = happyGoto action_29
+action_1245 (178) = happyGoto action_31
+action_1245 (181) = happyGoto action_32
+action_1245 (182) = happyGoto action_33
+action_1245 (183) = happyGoto action_34
+action_1245 (190) = happyGoto action_35
+action_1245 (228) = happyGoto action_38
+action_1245 (231) = happyGoto action_39
+action_1245 (232) = happyGoto action_40
+action_1245 (234) = happyGoto action_41
+action_1245 (244) = happyGoto action_42
+action_1245 (245) = happyGoto action_43
+action_1245 (246) = happyGoto action_44
+action_1245 (247) = happyGoto action_45
+action_1245 (248) = happyGoto action_46
+action_1245 (249) = happyGoto action_47
+action_1245 (257) = happyGoto action_48
+action_1245 _ = happyReduce_40
+
+action_1246 (303) = happyShift action_566
+action_1246 _ = happyReduce_378
+
+action_1247 (317) = happyShift action_805
+action_1247 (318) = happyShift action_806
+action_1247 (133) = happyGoto action_1290
+action_1247 (150) = happyGoto action_1291
+action_1247 _ = happyReduce_357
+
+action_1248 (317) = happyShift action_1288
+action_1248 (318) = happyShift action_1289
+action_1248 (62) = happyGoto action_1287
+action_1248 _ = happyReduce_137
+
+action_1249 (278) = happyShift action_49
+action_1249 (280) = happyShift action_51
+action_1249 (281) = happyShift action_52
+action_1249 (282) = happyShift action_53
+action_1249 (283) = happyShift action_54
+action_1249 (289) = happyShift action_135
+action_1249 (292) = happyShift action_136
+action_1249 (299) = happyShift action_137
+action_1249 (301) = happyShift action_138
+action_1249 (307) = happyShift action_139
+action_1249 (309) = happyShift action_140
+action_1249 (312) = happyShift action_141
+action_1249 (325) = happyShift action_142
+action_1249 (328) = happyShift action_143
+action_1249 (337) = happyShift action_144
+action_1249 (338) = happyShift action_145
+action_1249 (344) = happyShift action_146
+action_1249 (346) = happyShift action_147
+action_1249 (358) = happyShift action_88
+action_1249 (359) = happyShift action_148
+action_1249 (360) = happyShift action_149
+action_1249 (361) = happyShift action_150
+action_1249 (363) = happyShift action_93
+action_1249 (364) = happyShift action_94
+action_1249 (365) = happyShift action_95
+action_1249 (366) = happyShift action_96
+action_1249 (367) = happyShift action_97
+action_1249 (368) = happyShift action_98
+action_1249 (369) = happyShift action_99
+action_1249 (370) = happyShift action_100
+action_1249 (371) = happyShift action_101
+action_1249 (383) = happyShift action_106
+action_1249 (402) = happyShift action_112
+action_1249 (416) = happyShift action_152
+action_1249 (417) = happyShift action_153
+action_1249 (103) = happyGoto action_117
+action_1249 (105) = happyGoto action_1286
+action_1249 (108) = happyGoto action_193
+action_1249 (109) = happyGoto action_120
+action_1249 (110) = happyGoto action_121
+action_1249 (111) = happyGoto action_122
+action_1249 (112) = happyGoto action_123
+action_1249 (113) = happyGoto action_124
+action_1249 (114) = happyGoto action_125
+action_1249 (115) = happyGoto action_126
+action_1249 (232) = happyGoto action_130
+action_1249 (245) = happyGoto action_131
+action_1249 (247) = happyGoto action_45
+action_1249 (248) = happyGoto action_132
+action_1249 (249) = happyGoto action_47
+action_1249 (270) = happyGoto action_133
+action_1249 (271) = happyGoto action_134
+action_1249 _ = happyFail
+
+action_1250 (278) = happyShift action_49
+action_1250 (280) = happyShift action_51
+action_1250 (281) = happyShift action_52
+action_1250 (282) = happyShift action_53
+action_1250 (283) = happyShift action_54
+action_1250 (289) = happyShift action_135
+action_1250 (292) = happyShift action_136
+action_1250 (299) = happyShift action_137
+action_1250 (301) = happyShift action_138
+action_1250 (307) = happyShift action_139
+action_1250 (309) = happyShift action_140
+action_1250 (312) = happyShift action_141
+action_1250 (325) = happyShift action_142
+action_1250 (328) = happyShift action_143
+action_1250 (337) = happyShift action_144
+action_1250 (338) = happyShift action_145
+action_1250 (344) = happyShift action_146
+action_1250 (346) = happyShift action_147
+action_1250 (358) = happyShift action_88
+action_1250 (359) = happyShift action_148
+action_1250 (360) = happyShift action_149
+action_1250 (361) = happyShift action_150
+action_1250 (363) = happyShift action_93
+action_1250 (364) = happyShift action_94
+action_1250 (365) = happyShift action_95
+action_1250 (366) = happyShift action_96
+action_1250 (367) = happyShift action_97
+action_1250 (368) = happyShift action_98
+action_1250 (369) = happyShift action_99
+action_1250 (370) = happyShift action_100
+action_1250 (371) = happyShift action_101
+action_1250 (381) = happyShift action_151
+action_1250 (383) = happyShift action_106
+action_1250 (402) = happyShift action_112
+action_1250 (416) = happyShift action_152
+action_1250 (417) = happyShift action_153
+action_1250 (70) = happyGoto action_1285
+action_1250 (103) = happyGoto action_117
+action_1250 (105) = happyGoto action_118
+action_1250 (108) = happyGoto action_119
+action_1250 (109) = happyGoto action_120
+action_1250 (110) = happyGoto action_121
+action_1250 (111) = happyGoto action_122
+action_1250 (112) = happyGoto action_123
+action_1250 (113) = happyGoto action_124
+action_1250 (114) = happyGoto action_125
+action_1250 (115) = happyGoto action_126
+action_1250 (117) = happyGoto action_1242
+action_1250 (118) = happyGoto action_128
+action_1250 (119) = happyGoto action_129
+action_1250 (232) = happyGoto action_130
+action_1250 (245) = happyGoto action_131
+action_1250 (247) = happyGoto action_45
+action_1250 (248) = happyGoto action_132
+action_1250 (249) = happyGoto action_47
+action_1250 (270) = happyGoto action_133
+action_1250 (271) = happyGoto action_134
+action_1250 _ = happyFail
+
+action_1251 _ = happyReduce_368
+
+action_1252 (285) = happyShift action_211
+action_1252 (286) = happyShift action_186
+action_1252 (287) = happyShift action_212
+action_1252 (288) = happyShift action_187
+action_1252 (311) = happyShift action_699
+action_1252 (313) = happyShift action_367
+action_1252 (314) = happyShift action_214
+action_1252 (316) = happyShift action_190
+action_1252 (317) = happyShift action_1284
+action_1252 (327) = happyShift action_216
+action_1252 (328) = happyShift action_340
+action_1252 (329) = happyShift action_218
+action_1252 (236) = happyGoto action_363
+action_1252 (239) = happyGoto action_364
+action_1252 (241) = happyGoto action_893
+action_1252 (243) = happyGoto action_226
+action_1252 (250) = happyGoto action_183
+action_1252 (251) = happyGoto action_184
+action_1252 (252) = happyGoto action_366
+action_1252 (254) = happyGoto action_208
+action_1252 (255) = happyGoto action_209
+action_1252 (256) = happyGoto action_210
+action_1252 _ = happyFail
+
+action_1253 (278) = happyShift action_49
+action_1253 (280) = happyShift action_51
+action_1253 (281) = happyShift action_52
+action_1253 (282) = happyShift action_53
+action_1253 (283) = happyShift action_54
+action_1253 (289) = happyShift action_135
+action_1253 (292) = happyShift action_136
+action_1253 (299) = happyShift action_137
+action_1253 (301) = happyShift action_138
+action_1253 (307) = happyShift action_139
+action_1253 (309) = happyShift action_140
+action_1253 (312) = happyShift action_141
+action_1253 (325) = happyShift action_142
+action_1253 (328) = happyShift action_143
+action_1253 (337) = happyShift action_144
+action_1253 (338) = happyShift action_145
+action_1253 (344) = happyShift action_146
+action_1253 (346) = happyShift action_147
+action_1253 (358) = happyShift action_88
+action_1253 (359) = happyShift action_148
+action_1253 (360) = happyShift action_149
+action_1253 (361) = happyShift action_150
+action_1253 (363) = happyShift action_93
+action_1253 (364) = happyShift action_94
+action_1253 (365) = happyShift action_95
+action_1253 (366) = happyShift action_96
+action_1253 (367) = happyShift action_97
+action_1253 (368) = happyShift action_98
+action_1253 (369) = happyShift action_99
+action_1253 (370) = happyShift action_100
+action_1253 (371) = happyShift action_101
+action_1253 (383) = happyShift action_106
+action_1253 (402) = happyShift action_112
+action_1253 (416) = happyShift action_152
+action_1253 (417) = happyShift action_153
+action_1253 (103) = happyGoto action_117
+action_1253 (105) = happyGoto action_1283
+action_1253 (108) = happyGoto action_193
+action_1253 (109) = happyGoto action_120
+action_1253 (110) = happyGoto action_121
+action_1253 (111) = happyGoto action_122
+action_1253 (112) = happyGoto action_123
+action_1253 (113) = happyGoto action_124
+action_1253 (114) = happyGoto action_125
+action_1253 (115) = happyGoto action_126
+action_1253 (232) = happyGoto action_130
+action_1253 (245) = happyGoto action_131
+action_1253 (247) = happyGoto action_45
+action_1253 (248) = happyGoto action_132
+action_1253 (249) = happyGoto action_47
+action_1253 (270) = happyGoto action_133
+action_1253 (271) = happyGoto action_134
+action_1253 _ = happyFail
+
+action_1254 _ = happyReduce_370
+
+action_1255 (278) = happyShift action_49
+action_1255 (279) = happyShift action_50
+action_1255 (280) = happyShift action_51
+action_1255 (281) = happyShift action_52
+action_1255 (282) = happyShift action_53
+action_1255 (283) = happyShift action_54
+action_1255 (289) = happyShift action_55
+action_1255 (290) = happyShift action_56
+action_1255 (291) = happyShift action_57
+action_1255 (292) = happyShift action_58
+action_1255 (293) = happyShift action_59
+action_1255 (294) = happyShift action_60
+action_1255 (295) = happyShift action_61
+action_1255 (296) = happyShift action_62
+action_1255 (297) = happyShift action_63
+action_1255 (298) = happyShift action_64
+action_1255 (299) = happyShift action_65
+action_1255 (301) = happyShift action_66
+action_1255 (307) = happyShift action_67
+action_1255 (309) = happyShift action_68
+action_1255 (312) = happyShift action_69
+action_1255 (319) = happyShift action_592
+action_1255 (324) = happyShift action_71
+action_1255 (325) = happyShift action_72
+action_1255 (327) = happyShift action_73
+action_1255 (328) = happyShift action_486
+action_1255 (334) = happyShift action_75
+action_1255 (337) = happyShift action_76
+action_1255 (338) = happyShift action_77
+action_1255 (339) = happyShift action_78
+action_1255 (340) = happyShift action_79
+action_1255 (341) = happyShift action_80
+action_1255 (342) = happyShift action_81
+action_1255 (344) = happyShift action_82
+action_1255 (345) = happyShift action_83
+action_1255 (346) = happyShift action_84
+action_1255 (348) = happyShift action_85
+action_1255 (350) = happyShift action_86
+action_1255 (351) = happyShift action_87
+action_1255 (358) = happyShift action_88
+action_1255 (359) = happyShift action_89
+action_1255 (360) = happyShift action_90
+action_1255 (361) = happyShift action_91
+action_1255 (362) = happyShift action_92
+action_1255 (363) = happyShift action_93
+action_1255 (364) = happyShift action_94
+action_1255 (365) = happyShift action_95
+action_1255 (366) = happyShift action_96
+action_1255 (367) = happyShift action_97
+action_1255 (368) = happyShift action_98
+action_1255 (369) = happyShift action_99
+action_1255 (370) = happyShift action_100
+action_1255 (371) = happyShift action_101
+action_1255 (373) = happyShift action_102
+action_1255 (375) = happyShift action_1198
+action_1255 (376) = happyShift action_1199
+action_1255 (378) = happyShift action_103
+action_1255 (380) = happyShift action_104
+action_1255 (381) = happyShift action_105
+action_1255 (383) = happyShift action_106
+action_1255 (387) = happyShift action_492
+action_1255 (388) = happyShift action_493
+action_1255 (389) = happyShift action_494
+action_1255 (392) = happyShift action_109
+action_1255 (399) = happyShift action_1200
+action_1255 (402) = happyShift action_112
+action_1255 (403) = happyShift action_113
+action_1255 (404) = happyShift action_498
+action_1255 (405) = happyShift action_499
+action_1255 (406) = happyShift action_500
+action_1255 (407) = happyShift action_501
+action_1255 (408) = happyShift action_502
+action_1255 (421) = happyShift action_507
+action_1255 (49) = happyGoto action_469
+action_1255 (51) = happyGoto action_470
+action_1255 (75) = happyGoto action_1194
+action_1255 (77) = happyGoto action_477
+action_1255 (78) = happyGoto action_478
+action_1255 (79) = happyGoto action_479
+action_1255 (154) = happyGoto action_1282
+action_1255 (156) = happyGoto action_1197
+action_1255 (162) = happyGoto action_480
+action_1255 (172) = happyGoto action_588
+action_1255 (176) = happyGoto action_29
+action_1255 (178) = happyGoto action_31
+action_1255 (181) = happyGoto action_32
+action_1255 (182) = happyGoto action_33
+action_1255 (183) = happyGoto action_34
+action_1255 (190) = happyGoto action_35
+action_1255 (228) = happyGoto action_38
+action_1255 (231) = happyGoto action_39
+action_1255 (232) = happyGoto action_40
+action_1255 (234) = happyGoto action_41
+action_1255 (244) = happyGoto action_42
+action_1255 (245) = happyGoto action_43
+action_1255 (246) = happyGoto action_44
+action_1255 (247) = happyGoto action_45
+action_1255 (248) = happyGoto action_46
+action_1255 (249) = happyGoto action_47
+action_1255 (257) = happyGoto action_48
+action_1255 (260) = happyGoto action_483
+action_1255 (261) = happyGoto action_484
+action_1255 (265) = happyGoto action_485
+action_1255 _ = happyReduce_40
+
+action_1256 (303) = happyShift action_566
+action_1256 _ = happyReduce_362
+
+action_1257 _ = happyReduce_331
+
+action_1258 (278) = happyShift action_49
+action_1258 (279) = happyShift action_50
+action_1258 (299) = happyShift action_423
+action_1258 (358) = happyShift action_88
+action_1258 (359) = happyShift action_89
+action_1258 (360) = happyShift action_90
+action_1258 (361) = happyShift action_91
+action_1258 (362) = happyShift action_92
+action_1258 (363) = happyShift action_93
+action_1258 (364) = happyShift action_94
+action_1258 (365) = happyShift action_95
+action_1258 (366) = happyShift action_96
+action_1258 (367) = happyShift action_97
+action_1258 (368) = happyShift action_98
+action_1258 (369) = happyShift action_99
+action_1258 (370) = happyShift action_100
+action_1258 (371) = happyShift action_101
+action_1258 (380) = happyShift action_104
+action_1258 (381) = happyShift action_105
+action_1258 (383) = happyShift action_106
+action_1258 (402) = happyShift action_112
+action_1258 (403) = happyShift action_113
+action_1258 (87) = happyGoto action_1186
+action_1258 (140) = happyGoto action_1281
+action_1258 (231) = happyGoto action_809
+action_1258 (244) = happyGoto action_42
+action_1258 (245) = happyGoto action_43
+action_1258 (246) = happyGoto action_44
+action_1258 _ = happyFail
+
+action_1259 (278) = happyShift action_49
+action_1259 (280) = happyShift action_51
+action_1259 (281) = happyShift action_52
+action_1259 (282) = happyShift action_53
+action_1259 (283) = happyShift action_54
+action_1259 (289) = happyShift action_135
+action_1259 (292) = happyShift action_136
+action_1259 (299) = happyShift action_137
+action_1259 (301) = happyShift action_138
+action_1259 (307) = happyShift action_139
+action_1259 (309) = happyShift action_140
+action_1259 (312) = happyShift action_141
+action_1259 (325) = happyShift action_142
+action_1259 (328) = happyShift action_143
+action_1259 (337) = happyShift action_144
+action_1259 (338) = happyShift action_145
+action_1259 (344) = happyShift action_146
+action_1259 (346) = happyShift action_147
+action_1259 (358) = happyShift action_88
+action_1259 (359) = happyShift action_148
+action_1259 (360) = happyShift action_149
+action_1259 (361) = happyShift action_150
+action_1259 (363) = happyShift action_93
+action_1259 (364) = happyShift action_94
+action_1259 (365) = happyShift action_95
+action_1259 (366) = happyShift action_96
+action_1259 (367) = happyShift action_97
+action_1259 (368) = happyShift action_98
+action_1259 (369) = happyShift action_99
+action_1259 (370) = happyShift action_100
+action_1259 (371) = happyShift action_101
+action_1259 (381) = happyShift action_151
+action_1259 (383) = happyShift action_106
+action_1259 (402) = happyShift action_112
+action_1259 (416) = happyShift action_152
+action_1259 (417) = happyShift action_153
+action_1259 (103) = happyGoto action_117
+action_1259 (105) = happyGoto action_118
+action_1259 (108) = happyGoto action_119
+action_1259 (109) = happyGoto action_120
+action_1259 (110) = happyGoto action_121
+action_1259 (111) = happyGoto action_122
+action_1259 (112) = happyGoto action_123
+action_1259 (113) = happyGoto action_124
+action_1259 (114) = happyGoto action_125
+action_1259 (115) = happyGoto action_126
+action_1259 (117) = happyGoto action_1280
+action_1259 (118) = happyGoto action_128
+action_1259 (119) = happyGoto action_129
+action_1259 (232) = happyGoto action_130
+action_1259 (245) = happyGoto action_131
+action_1259 (247) = happyGoto action_45
+action_1259 (248) = happyGoto action_132
+action_1259 (249) = happyGoto action_47
+action_1259 (270) = happyGoto action_133
+action_1259 (271) = happyGoto action_134
+action_1259 _ = happyFail
+
+action_1260 (278) = happyShift action_49
+action_1260 (280) = happyShift action_51
+action_1260 (281) = happyShift action_52
+action_1260 (282) = happyShift action_53
+action_1260 (283) = happyShift action_54
+action_1260 (289) = happyShift action_135
+action_1260 (292) = happyShift action_136
+action_1260 (299) = happyShift action_137
+action_1260 (301) = happyShift action_138
+action_1260 (304) = happyShift action_1279
+action_1260 (307) = happyShift action_139
+action_1260 (309) = happyShift action_140
+action_1260 (312) = happyShift action_141
+action_1260 (325) = happyShift action_142
+action_1260 (328) = happyShift action_143
+action_1260 (337) = happyShift action_144
+action_1260 (338) = happyShift action_145
+action_1260 (344) = happyShift action_146
+action_1260 (346) = happyShift action_147
+action_1260 (358) = happyShift action_88
+action_1260 (359) = happyShift action_148
+action_1260 (360) = happyShift action_149
+action_1260 (361) = happyShift action_150
+action_1260 (363) = happyShift action_93
+action_1260 (364) = happyShift action_94
+action_1260 (365) = happyShift action_95
+action_1260 (366) = happyShift action_96
+action_1260 (367) = happyShift action_97
+action_1260 (368) = happyShift action_98
+action_1260 (369) = happyShift action_99
+action_1260 (370) = happyShift action_100
+action_1260 (371) = happyShift action_101
+action_1260 (381) = happyShift action_151
+action_1260 (383) = happyShift action_106
+action_1260 (402) = happyShift action_112
+action_1260 (416) = happyShift action_152
+action_1260 (417) = happyShift action_153
+action_1260 (103) = happyGoto action_117
+action_1260 (105) = happyGoto action_118
+action_1260 (108) = happyGoto action_119
+action_1260 (109) = happyGoto action_120
+action_1260 (110) = happyGoto action_121
+action_1260 (111) = happyGoto action_122
+action_1260 (112) = happyGoto action_123
+action_1260 (113) = happyGoto action_124
+action_1260 (114) = happyGoto action_125
+action_1260 (115) = happyGoto action_126
+action_1260 (117) = happyGoto action_1278
+action_1260 (118) = happyGoto action_128
+action_1260 (119) = happyGoto action_129
+action_1260 (232) = happyGoto action_130
+action_1260 (245) = happyGoto action_131
+action_1260 (247) = happyGoto action_45
+action_1260 (248) = happyGoto action_132
+action_1260 (249) = happyGoto action_47
+action_1260 (270) = happyGoto action_133
+action_1260 (271) = happyGoto action_134
+action_1260 _ = happyFail
+
+action_1261 (282) = happyShift action_53
+action_1261 (283) = happyShift action_54
+action_1261 (299) = happyShift action_1104
+action_1261 (132) = happyGoto action_1277
+action_1261 (234) = happyGoto action_1183
+action_1261 (248) = happyGoto action_46
+action_1261 (249) = happyGoto action_47
+action_1261 _ = happyReduce_40
+
+action_1262 (303) = happyShift action_566
+action_1262 _ = happyReduce_316
+
+action_1263 (300) = happyShift action_1276
+action_1263 _ = happyFail
+
+action_1264 (311) = happyShift action_1275
+action_1264 (31) = happyGoto action_1274
+action_1264 _ = happyReduce_47
+
+action_1265 _ = happyReduce_80
+
+action_1266 _ = happyReduce_81
+
+action_1267 _ = happyReduce_734
+
+action_1268 (299) = happyShift action_1273
+action_1268 _ = happyReduce_84
+
+action_1269 (278) = happyShift action_49
+action_1269 (299) = happyShift action_1057
+action_1269 (358) = happyShift action_88
+action_1269 (359) = happyShift action_89
+action_1269 (360) = happyShift action_90
+action_1269 (361) = happyShift action_91
+action_1269 (362) = happyShift action_92
+action_1269 (363) = happyShift action_93
+action_1269 (364) = happyShift action_94
+action_1269 (365) = happyShift action_95
+action_1269 (366) = happyShift action_96
+action_1269 (367) = happyShift action_97
+action_1269 (368) = happyShift action_98
+action_1269 (369) = happyShift action_99
+action_1269 (370) = happyShift action_100
+action_1269 (371) = happyShift action_101
+action_1269 (380) = happyShift action_104
+action_1269 (381) = happyShift action_105
+action_1269 (383) = happyShift action_106
+action_1269 (402) = happyShift action_112
+action_1269 (403) = happyShift action_113
+action_1269 (229) = happyGoto action_1272
+action_1269 (245) = happyGoto action_43
+action_1269 (246) = happyGoto action_390
+action_1269 _ = happyFail
+
+action_1270 (282) = happyShift action_53
+action_1270 (299) = happyShift action_682
+action_1270 (233) = happyGoto action_1271
+action_1270 (249) = happyGoto action_391
+action_1270 _ = happyFail
+
+action_1271 _ = happyReduce_83
+
+action_1272 _ = happyReduce_82
+
+action_1273 (278) = happyShift action_49
+action_1273 (282) = happyShift action_53
+action_1273 (299) = happyShift action_392
+action_1273 (300) = happyShift action_1317
+action_1273 (315) = happyShift action_1318
+action_1273 (358) = happyShift action_88
+action_1273 (359) = happyShift action_89
+action_1273 (360) = happyShift action_90
+action_1273 (361) = happyShift action_91
+action_1273 (362) = happyShift action_92
+action_1273 (363) = happyShift action_93
+action_1273 (364) = happyShift action_94
+action_1273 (365) = happyShift action_95
+action_1273 (366) = happyShift action_96
+action_1273 (367) = happyShift action_97
+action_1273 (368) = happyShift action_98
+action_1273 (369) = happyShift action_99
+action_1273 (370) = happyShift action_100
+action_1273 (371) = happyShift action_101
+action_1273 (380) = happyShift action_104
+action_1273 (381) = happyShift action_105
+action_1273 (383) = happyShift action_106
+action_1273 (402) = happyShift action_112
+action_1273 (403) = happyShift action_113
+action_1273 (47) = happyGoto action_1316
+action_1273 (48) = happyGoto action_1118
+action_1273 (229) = happyGoto action_1119
+action_1273 (233) = happyGoto action_1120
+action_1273 (245) = happyGoto action_43
+action_1273 (246) = happyGoto action_390
+action_1273 (249) = happyGoto action_391
+action_1273 _ = happyFail
+
+action_1274 (300) = happyShift action_1315
+action_1274 _ = happyFail
+
+action_1275 (278) = happyShift action_49
+action_1275 (282) = happyShift action_53
+action_1275 (299) = happyShift action_392
+action_1275 (358) = happyShift action_88
+action_1275 (359) = happyShift action_89
+action_1275 (360) = happyShift action_90
+action_1275 (361) = happyShift action_91
+action_1275 (362) = happyShift action_92
+action_1275 (363) = happyShift action_93
+action_1275 (364) = happyShift action_94
+action_1275 (365) = happyShift action_95
+action_1275 (366) = happyShift action_96
+action_1275 (367) = happyShift action_97
+action_1275 (368) = happyShift action_98
+action_1275 (369) = happyShift action_99
+action_1275 (370) = happyShift action_100
+action_1275 (371) = happyShift action_101
+action_1275 (380) = happyShift action_104
+action_1275 (381) = happyShift action_105
+action_1275 (383) = happyShift action_106
+action_1275 (399) = happyShift action_1269
+action_1275 (402) = happyShift action_112
+action_1275 (403) = happyShift action_113
+action_1275 (404) = happyShift action_1270
+action_1275 (46) = happyGoto action_1314
+action_1275 (229) = happyGoto action_1266
+action_1275 (233) = happyGoto action_1267
+action_1275 (245) = happyGoto action_43
+action_1275 (246) = happyGoto action_390
+action_1275 (249) = happyGoto action_391
+action_1275 (268) = happyGoto action_1268
+action_1275 _ = happyReduce_46
+
+action_1276 _ = happyReduce_76
+
+action_1277 _ = happyReduce_317
+
+action_1278 _ = happyReduce_319
+
+action_1279 (278) = happyShift action_49
+action_1279 (279) = happyShift action_50
+action_1279 (299) = happyShift action_423
+action_1279 (358) = happyShift action_88
+action_1279 (359) = happyShift action_89
+action_1279 (360) = happyShift action_90
+action_1279 (361) = happyShift action_91
+action_1279 (362) = happyShift action_92
+action_1279 (363) = happyShift action_93
+action_1279 (364) = happyShift action_94
+action_1279 (365) = happyShift action_95
+action_1279 (366) = happyShift action_96
+action_1279 (367) = happyShift action_97
+action_1279 (368) = happyShift action_98
+action_1279 (369) = happyShift action_99
+action_1279 (370) = happyShift action_100
+action_1279 (371) = happyShift action_101
+action_1279 (380) = happyShift action_104
+action_1279 (381) = happyShift action_105
+action_1279 (383) = happyShift action_106
+action_1279 (402) = happyShift action_112
+action_1279 (403) = happyShift action_113
+action_1279 (87) = happyGoto action_1186
+action_1279 (139) = happyGoto action_1313
+action_1279 (140) = happyGoto action_1188
+action_1279 (231) = happyGoto action_809
+action_1279 (244) = happyGoto action_42
+action_1279 (245) = happyGoto action_43
+action_1279 (246) = happyGoto action_44
+action_1279 _ = happyFail
+
+action_1280 _ = happyReduce_335
+
+action_1281 _ = happyReduce_333
+
+action_1282 _ = happyReduce_364
+
+action_1283 (317) = happyShift action_966
+action_1283 (59) = happyGoto action_1312
+action_1283 _ = happyReduce_129
+
+action_1284 (278) = happyShift action_49
+action_1284 (280) = happyShift action_51
+action_1284 (281) = happyShift action_52
+action_1284 (282) = happyShift action_53
+action_1284 (283) = happyShift action_54
+action_1284 (289) = happyShift action_135
+action_1284 (292) = happyShift action_136
+action_1284 (299) = happyShift action_137
+action_1284 (301) = happyShift action_138
+action_1284 (307) = happyShift action_139
+action_1284 (309) = happyShift action_140
+action_1284 (312) = happyShift action_141
+action_1284 (325) = happyShift action_142
+action_1284 (328) = happyShift action_143
+action_1284 (337) = happyShift action_144
+action_1284 (338) = happyShift action_145
+action_1284 (344) = happyShift action_146
+action_1284 (346) = happyShift action_147
+action_1284 (358) = happyShift action_88
+action_1284 (359) = happyShift action_148
+action_1284 (360) = happyShift action_149
+action_1284 (361) = happyShift action_150
+action_1284 (363) = happyShift action_93
+action_1284 (364) = happyShift action_94
+action_1284 (365) = happyShift action_95
+action_1284 (366) = happyShift action_96
+action_1284 (367) = happyShift action_97
+action_1284 (368) = happyShift action_98
+action_1284 (369) = happyShift action_99
+action_1284 (370) = happyShift action_100
+action_1284 (371) = happyShift action_101
+action_1284 (381) = happyShift action_151
+action_1284 (383) = happyShift action_106
+action_1284 (402) = happyShift action_112
+action_1284 (416) = happyShift action_152
+action_1284 (417) = happyShift action_153
+action_1284 (103) = happyGoto action_117
+action_1284 (105) = happyGoto action_118
+action_1284 (108) = happyGoto action_119
+action_1284 (109) = happyGoto action_120
+action_1284 (110) = happyGoto action_121
+action_1284 (111) = happyGoto action_122
+action_1284 (112) = happyGoto action_123
+action_1284 (113) = happyGoto action_124
+action_1284 (114) = happyGoto action_125
+action_1284 (115) = happyGoto action_126
+action_1284 (117) = happyGoto action_1311
+action_1284 (118) = happyGoto action_128
+action_1284 (119) = happyGoto action_129
+action_1284 (232) = happyGoto action_130
+action_1284 (245) = happyGoto action_131
+action_1284 (247) = happyGoto action_45
+action_1284 (248) = happyGoto action_132
+action_1284 (249) = happyGoto action_47
+action_1284 (270) = happyGoto action_133
+action_1284 (271) = happyGoto action_134
+action_1284 _ = happyFail
+
+action_1285 _ = happyReduce_374
+
+action_1286 (317) = happyShift action_1309
+action_1286 (318) = happyShift action_1310
+action_1286 (61) = happyGoto action_1308
+action_1286 _ = happyReduce_134
+
+action_1287 _ = happyReduce_372
+
+action_1288 (278) = happyShift action_49
+action_1288 (279) = happyShift action_50
+action_1288 (282) = happyShift action_53
+action_1288 (283) = happyShift action_54
+action_1288 (299) = happyShift action_609
+action_1288 (307) = happyShift action_610
+action_1288 (329) = happyShift action_611
+action_1288 (358) = happyShift action_88
+action_1288 (359) = happyShift action_89
+action_1288 (360) = happyShift action_90
+action_1288 (361) = happyShift action_91
+action_1288 (362) = happyShift action_92
+action_1288 (363) = happyShift action_93
+action_1288 (364) = happyShift action_94
+action_1288 (365) = happyShift action_95
+action_1288 (366) = happyShift action_96
+action_1288 (367) = happyShift action_97
+action_1288 (368) = happyShift action_98
+action_1288 (369) = happyShift action_99
+action_1288 (370) = happyShift action_100
+action_1288 (371) = happyShift action_101
+action_1288 (380) = happyShift action_104
+action_1288 (381) = happyShift action_105
+action_1288 (383) = happyShift action_106
+action_1288 (402) = happyShift action_112
+action_1288 (403) = happyShift action_113
+action_1288 (144) = happyGoto action_1307
+action_1288 (145) = happyGoto action_603
+action_1288 (146) = happyGoto action_604
+action_1288 (147) = happyGoto action_605
+action_1288 (148) = happyGoto action_606
+action_1288 (234) = happyGoto action_181
+action_1288 (244) = happyGoto action_607
+action_1288 (245) = happyGoto action_43
+action_1288 (246) = happyGoto action_44
+action_1288 (248) = happyGoto action_46
+action_1288 (249) = happyGoto action_47
+action_1288 (269) = happyGoto action_608
+action_1288 _ = happyFail
+
+action_1289 (278) = happyShift action_49
+action_1289 (280) = happyShift action_51
+action_1289 (281) = happyShift action_52
+action_1289 (282) = happyShift action_53
+action_1289 (283) = happyShift action_54
+action_1289 (289) = happyShift action_135
+action_1289 (292) = happyShift action_136
+action_1289 (299) = happyShift action_137
+action_1289 (301) = happyShift action_138
+action_1289 (307) = happyShift action_139
+action_1289 (309) = happyShift action_140
+action_1289 (312) = happyShift action_141
+action_1289 (325) = happyShift action_142
+action_1289 (328) = happyShift action_143
+action_1289 (337) = happyShift action_144
+action_1289 (338) = happyShift action_145
+action_1289 (344) = happyShift action_146
+action_1289 (346) = happyShift action_147
+action_1289 (358) = happyShift action_88
+action_1289 (359) = happyShift action_148
+action_1289 (360) = happyShift action_149
+action_1289 (361) = happyShift action_150
+action_1289 (363) = happyShift action_93
+action_1289 (364) = happyShift action_94
+action_1289 (365) = happyShift action_95
+action_1289 (366) = happyShift action_96
+action_1289 (367) = happyShift action_97
+action_1289 (368) = happyShift action_98
+action_1289 (369) = happyShift action_99
+action_1289 (370) = happyShift action_100
+action_1289 (371) = happyShift action_101
+action_1289 (381) = happyShift action_151
+action_1289 (383) = happyShift action_106
+action_1289 (402) = happyShift action_112
+action_1289 (416) = happyShift action_152
+action_1289 (417) = happyShift action_153
+action_1289 (103) = happyGoto action_117
+action_1289 (105) = happyGoto action_118
+action_1289 (108) = happyGoto action_119
+action_1289 (109) = happyGoto action_120
+action_1289 (110) = happyGoto action_121
+action_1289 (111) = happyGoto action_122
+action_1289 (112) = happyGoto action_123
+action_1289 (113) = happyGoto action_124
+action_1289 (114) = happyGoto action_125
+action_1289 (115) = happyGoto action_126
+action_1289 (117) = happyGoto action_1306
+action_1289 (118) = happyGoto action_128
+action_1289 (119) = happyGoto action_129
+action_1289 (232) = happyGoto action_130
+action_1289 (245) = happyGoto action_131
+action_1289 (247) = happyGoto action_45
+action_1289 (248) = happyGoto action_132
+action_1289 (249) = happyGoto action_47
+action_1289 (270) = happyGoto action_133
+action_1289 (271) = happyGoto action_134
+action_1289 _ = happyFail
+
+action_1290 (377) = happyShift action_998
+action_1290 (141) = happyGoto action_1305
+action_1290 _ = happyReduce_336
+
+action_1291 (401) = happyShift action_996
+action_1291 (129) = happyGoto action_1304
+action_1291 _ = happyReduce_315
+
+action_1292 _ = happyReduce_380
+
+action_1293 (278) = happyShift action_49
+action_1293 (280) = happyShift action_51
+action_1293 (281) = happyShift action_52
+action_1293 (282) = happyShift action_53
+action_1293 (283) = happyShift action_54
+action_1293 (289) = happyShift action_135
+action_1293 (292) = happyShift action_136
+action_1293 (299) = happyShift action_137
+action_1293 (301) = happyShift action_138
+action_1293 (307) = happyShift action_139
+action_1293 (309) = happyShift action_140
+action_1293 (312) = happyShift action_141
+action_1293 (325) = happyShift action_142
+action_1293 (328) = happyShift action_143
+action_1293 (337) = happyShift action_144
+action_1293 (338) = happyShift action_145
+action_1293 (344) = happyShift action_146
+action_1293 (346) = happyShift action_147
+action_1293 (358) = happyShift action_88
+action_1293 (359) = happyShift action_148
+action_1293 (360) = happyShift action_149
+action_1293 (361) = happyShift action_150
+action_1293 (363) = happyShift action_93
+action_1293 (364) = happyShift action_94
+action_1293 (365) = happyShift action_95
+action_1293 (366) = happyShift action_96
+action_1293 (367) = happyShift action_97
+action_1293 (368) = happyShift action_98
+action_1293 (369) = happyShift action_99
+action_1293 (370) = happyShift action_100
+action_1293 (371) = happyShift action_101
+action_1293 (381) = happyShift action_151
+action_1293 (383) = happyShift action_106
+action_1293 (402) = happyShift action_112
+action_1293 (416) = happyShift action_152
+action_1293 (417) = happyShift action_153
+action_1293 (103) = happyGoto action_117
+action_1293 (105) = happyGoto action_118
+action_1293 (108) = happyGoto action_119
+action_1293 (109) = happyGoto action_120
+action_1293 (110) = happyGoto action_121
+action_1293 (111) = happyGoto action_122
+action_1293 (112) = happyGoto action_123
+action_1293 (113) = happyGoto action_124
+action_1293 (114) = happyGoto action_125
+action_1293 (115) = happyGoto action_126
+action_1293 (117) = happyGoto action_1303
+action_1293 (118) = happyGoto action_128
+action_1293 (119) = happyGoto action_129
+action_1293 (232) = happyGoto action_130
+action_1293 (245) = happyGoto action_131
+action_1293 (247) = happyGoto action_45
+action_1293 (248) = happyGoto action_132
+action_1293 (249) = happyGoto action_47
+action_1293 (270) = happyGoto action_133
+action_1293 (271) = happyGoto action_134
+action_1293 _ = happyFail
+
+action_1294 _ = happyReduce_152
+
+action_1295 (278) = happyShift action_49
+action_1295 (280) = happyShift action_51
+action_1295 (281) = happyShift action_52
+action_1295 (282) = happyShift action_53
+action_1295 (283) = happyShift action_54
+action_1295 (289) = happyShift action_135
+action_1295 (292) = happyShift action_136
+action_1295 (299) = happyShift action_137
+action_1295 (301) = happyShift action_138
+action_1295 (307) = happyShift action_139
+action_1295 (309) = happyShift action_140
+action_1295 (312) = happyShift action_141
+action_1295 (325) = happyShift action_142
+action_1295 (328) = happyShift action_143
+action_1295 (337) = happyShift action_144
+action_1295 (338) = happyShift action_145
+action_1295 (344) = happyShift action_146
+action_1295 (346) = happyShift action_147
+action_1295 (358) = happyShift action_88
+action_1295 (359) = happyShift action_148
+action_1295 (360) = happyShift action_149
+action_1295 (361) = happyShift action_150
+action_1295 (363) = happyShift action_93
+action_1295 (364) = happyShift action_94
+action_1295 (365) = happyShift action_95
+action_1295 (366) = happyShift action_96
+action_1295 (367) = happyShift action_97
+action_1295 (368) = happyShift action_98
+action_1295 (369) = happyShift action_99
+action_1295 (370) = happyShift action_100
+action_1295 (371) = happyShift action_101
+action_1295 (381) = happyShift action_151
+action_1295 (383) = happyShift action_106
+action_1295 (402) = happyShift action_112
+action_1295 (416) = happyShift action_152
+action_1295 (417) = happyShift action_153
+action_1295 (70) = happyGoto action_1302
+action_1295 (103) = happyGoto action_117
+action_1295 (105) = happyGoto action_118
+action_1295 (108) = happyGoto action_119
+action_1295 (109) = happyGoto action_120
+action_1295 (110) = happyGoto action_121
+action_1295 (111) = happyGoto action_122
+action_1295 (112) = happyGoto action_123
+action_1295 (113) = happyGoto action_124
+action_1295 (114) = happyGoto action_125
+action_1295 (115) = happyGoto action_126
+action_1295 (117) = happyGoto action_1242
+action_1295 (118) = happyGoto action_128
+action_1295 (119) = happyGoto action_129
+action_1295 (232) = happyGoto action_130
+action_1295 (245) = happyGoto action_131
+action_1295 (247) = happyGoto action_45
+action_1295 (248) = happyGoto action_132
+action_1295 (249) = happyGoto action_47
+action_1295 (270) = happyGoto action_133
+action_1295 (271) = happyGoto action_134
+action_1295 _ = happyReduce_154
+
+action_1296 (278) = happyShift action_49
+action_1296 (280) = happyShift action_51
+action_1296 (281) = happyShift action_52
+action_1296 (282) = happyShift action_53
+action_1296 (283) = happyShift action_54
+action_1296 (289) = happyShift action_135
+action_1296 (292) = happyShift action_136
+action_1296 (299) = happyShift action_137
+action_1296 (301) = happyShift action_138
+action_1296 (307) = happyShift action_139
+action_1296 (309) = happyShift action_140
+action_1296 (312) = happyShift action_141
+action_1296 (325) = happyShift action_142
+action_1296 (328) = happyShift action_143
+action_1296 (337) = happyShift action_144
+action_1296 (338) = happyShift action_145
+action_1296 (344) = happyShift action_146
+action_1296 (346) = happyShift action_147
+action_1296 (358) = happyShift action_88
+action_1296 (359) = happyShift action_148
+action_1296 (360) = happyShift action_149
+action_1296 (361) = happyShift action_150
+action_1296 (363) = happyShift action_93
+action_1296 (364) = happyShift action_94
+action_1296 (365) = happyShift action_95
+action_1296 (366) = happyShift action_96
+action_1296 (367) = happyShift action_97
+action_1296 (368) = happyShift action_98
+action_1296 (369) = happyShift action_99
+action_1296 (370) = happyShift action_100
+action_1296 (371) = happyShift action_101
+action_1296 (381) = happyShift action_151
+action_1296 (383) = happyShift action_106
+action_1296 (402) = happyShift action_112
+action_1296 (416) = happyShift action_152
+action_1296 (417) = happyShift action_153
+action_1296 (103) = happyGoto action_117
+action_1296 (105) = happyGoto action_118
+action_1296 (108) = happyGoto action_119
+action_1296 (109) = happyGoto action_120
+action_1296 (110) = happyGoto action_121
+action_1296 (111) = happyGoto action_122
+action_1296 (112) = happyGoto action_123
+action_1296 (113) = happyGoto action_124
+action_1296 (114) = happyGoto action_125
+action_1296 (115) = happyGoto action_126
+action_1296 (117) = happyGoto action_1301
+action_1296 (118) = happyGoto action_128
+action_1296 (119) = happyGoto action_129
+action_1296 (232) = happyGoto action_130
+action_1296 (245) = happyGoto action_131
+action_1296 (247) = happyGoto action_45
+action_1296 (248) = happyGoto action_132
+action_1296 (249) = happyGoto action_47
+action_1296 (270) = happyGoto action_133
+action_1296 (271) = happyGoto action_134
+action_1296 _ = happyFail
+
+action_1297 _ = happyReduce_151
+
+action_1298 _ = happyReduce_103
+
+action_1299 _ = happyReduce_227
+
+action_1300 _ = happyReduce_432
+
+action_1301 _ = happyReduce_156
+
+action_1302 _ = happyReduce_153
+
+action_1303 _ = happyReduce_386
+
+action_1304 (377) = happyShift action_998
+action_1304 (141) = happyGoto action_1325
+action_1304 _ = happyReduce_336
+
+action_1305 _ = happyReduce_387
+
+action_1306 (320) = happyShift action_1080
+action_1306 (53) = happyGoto action_1324
+action_1306 (54) = happyGoto action_1079
+action_1306 _ = happyReduce_100
+
+action_1307 _ = happyReduce_138
+
+action_1308 _ = happyReduce_373
+
+action_1309 (278) = happyShift action_49
+action_1309 (279) = happyShift action_50
+action_1309 (282) = happyShift action_53
+action_1309 (283) = happyShift action_54
+action_1309 (299) = happyShift action_609
+action_1309 (307) = happyShift action_610
+action_1309 (329) = happyShift action_611
+action_1309 (358) = happyShift action_88
+action_1309 (359) = happyShift action_89
+action_1309 (360) = happyShift action_90
+action_1309 (361) = happyShift action_91
+action_1309 (362) = happyShift action_92
+action_1309 (363) = happyShift action_93
+action_1309 (364) = happyShift action_94
+action_1309 (365) = happyShift action_95
+action_1309 (366) = happyShift action_96
+action_1309 (367) = happyShift action_97
+action_1309 (368) = happyShift action_98
+action_1309 (369) = happyShift action_99
+action_1309 (370) = happyShift action_100
+action_1309 (371) = happyShift action_101
+action_1309 (380) = happyShift action_104
+action_1309 (381) = happyShift action_105
+action_1309 (383) = happyShift action_106
+action_1309 (402) = happyShift action_112
+action_1309 (403) = happyShift action_113
+action_1309 (144) = happyGoto action_1323
+action_1309 (145) = happyGoto action_603
+action_1309 (146) = happyGoto action_604
+action_1309 (147) = happyGoto action_605
+action_1309 (148) = happyGoto action_606
+action_1309 (234) = happyGoto action_181
+action_1309 (244) = happyGoto action_607
+action_1309 (245) = happyGoto action_43
+action_1309 (246) = happyGoto action_44
+action_1309 (248) = happyGoto action_46
+action_1309 (249) = happyGoto action_47
+action_1309 (269) = happyGoto action_608
+action_1309 _ = happyFail
+
+action_1310 (278) = happyShift action_49
+action_1310 (299) = happyShift action_560
+action_1310 (358) = happyShift action_88
+action_1310 (359) = happyShift action_148
+action_1310 (360) = happyShift action_149
+action_1310 (361) = happyShift action_150
+action_1310 (363) = happyShift action_93
+action_1310 (364) = happyShift action_94
+action_1310 (365) = happyShift action_95
+action_1310 (366) = happyShift action_96
+action_1310 (367) = happyShift action_97
+action_1310 (368) = happyShift action_98
+action_1310 (369) = happyShift action_99
+action_1310 (370) = happyShift action_100
+action_1310 (371) = happyShift action_101
+action_1310 (383) = happyShift action_106
+action_1310 (402) = happyShift action_112
+action_1310 (123) = happyGoto action_1322
+action_1310 (245) = happyGoto action_131
+action_1310 (270) = happyGoto action_559
+action_1310 (271) = happyGoto action_134
+action_1310 _ = happyFail
+
+action_1311 _ = happyReduce_175
+
+action_1312 _ = happyReduce_371
+
+action_1313 (305) = happyShift action_1321
+action_1313 (311) = happyShift action_1258
+action_1313 _ = happyFail
+
+action_1314 _ = happyReduce_79
+
+action_1315 _ = happyReduce_75
+
+action_1316 (300) = happyShift action_1320
+action_1316 (311) = happyShift action_1229
+action_1316 _ = happyFail
+
+action_1317 _ = happyReduce_86
+
+action_1318 (300) = happyShift action_1319
+action_1318 _ = happyFail
+
+action_1319 _ = happyReduce_85
+
+action_1320 _ = happyReduce_87
+
+action_1321 (322) = happyShift action_1327
+action_1321 _ = happyFail
+
+action_1322 (320) = happyShift action_1080
+action_1322 (54) = happyGoto action_1326
+action_1322 _ = happyFail
+
+action_1323 _ = happyReduce_135
+
+action_1324 _ = happyReduce_139
+
+action_1325 _ = happyReduce_388
+
+action_1326 _ = happyReduce_136
+
+action_1327 (278) = happyShift action_49
+action_1327 (280) = happyShift action_51
+action_1327 (281) = happyShift action_52
+action_1327 (282) = happyShift action_53
+action_1327 (283) = happyShift action_54
+action_1327 (289) = happyShift action_135
+action_1327 (292) = happyShift action_136
+action_1327 (299) = happyShift action_137
+action_1327 (301) = happyShift action_138
+action_1327 (307) = happyShift action_139
+action_1327 (309) = happyShift action_140
+action_1327 (312) = happyShift action_141
+action_1327 (325) = happyShift action_142
+action_1327 (328) = happyShift action_143
+action_1327 (337) = happyShift action_144
+action_1327 (338) = happyShift action_145
+action_1327 (344) = happyShift action_146
+action_1327 (346) = happyShift action_147
+action_1327 (358) = happyShift action_88
+action_1327 (359) = happyShift action_148
+action_1327 (360) = happyShift action_149
+action_1327 (361) = happyShift action_150
+action_1327 (363) = happyShift action_93
+action_1327 (364) = happyShift action_94
+action_1327 (365) = happyShift action_95
+action_1327 (366) = happyShift action_96
+action_1327 (367) = happyShift action_97
+action_1327 (368) = happyShift action_98
+action_1327 (369) = happyShift action_99
+action_1327 (370) = happyShift action_100
+action_1327 (371) = happyShift action_101
+action_1327 (381) = happyShift action_151
+action_1327 (383) = happyShift action_106
+action_1327 (402) = happyShift action_112
+action_1327 (416) = happyShift action_152
+action_1327 (417) = happyShift action_153
+action_1327 (103) = happyGoto action_117
+action_1327 (105) = happyGoto action_118
+action_1327 (108) = happyGoto action_119
+action_1327 (109) = happyGoto action_120
+action_1327 (110) = happyGoto action_121
+action_1327 (111) = happyGoto action_122
+action_1327 (112) = happyGoto action_123
+action_1327 (113) = happyGoto action_124
+action_1327 (114) = happyGoto action_125
+action_1327 (115) = happyGoto action_126
+action_1327 (117) = happyGoto action_1328
+action_1327 (118) = happyGoto action_128
+action_1327 (119) = happyGoto action_129
+action_1327 (232) = happyGoto action_130
+action_1327 (245) = happyGoto action_131
+action_1327 (247) = happyGoto action_45
+action_1327 (248) = happyGoto action_132
+action_1327 (249) = happyGoto action_47
+action_1327 (270) = happyGoto action_133
+action_1327 (271) = happyGoto action_134
+action_1327 _ = happyFail
+
+action_1328 _ = happyReduce_320
+
+happyReduce_11 = happySpecReduce_2  14 happyReduction_11
+happyReduction_11 (HappyAbsSyn15  happy_var_2)
+	(HappyAbsSyn18  happy_var_1)
+	 =  HappyAbsSyn14
+		 (let (os,ss,l) = happy_var_1 in map (\x -> x os ss l) happy_var_2
+	)
+happyReduction_11 _ _  = notHappyAtAll 
+
+happyReduce_12 = happySpecReduce_2  15 happyReduction_12
+happyReduction_12 (HappyAbsSyn15  happy_var_2)
+	(HappyAbsSyn22  happy_var_1)
+	 =  HappyAbsSyn15
+		 (happy_var_1 : happy_var_2
+	)
+happyReduction_12 _ _  = notHappyAtAll 
+
+happyReduce_13 = happySpecReduce_1  15 happyReduction_13
+happyReduction_13 (HappyAbsSyn22  happy_var_1)
+	 =  HappyAbsSyn15
+		 ([happy_var_1]
+	)
+happyReduction_13 _  = notHappyAtAll 
+
+happyReduce_14 = happyMonadReduce 2 16 happyReduction_14
+happyReduction_14 ((HappyAbsSyn17  happy_var_2) `HappyStk`
+	(HappyAbsSyn18  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkPageModule happy_var_2 happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn16 r))
+
+happyReduce_15 = happyMonadReduce 5 16 happyReduction_15
+happyReduction_15 ((HappyAbsSyn17  happy_var_5) `HappyStk`
+	(HappyTerminal (Loc happy_var_4 XCodeTagClose)) `HappyStk`
+	(HappyAbsSyn22  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 XCodeTagOpen)) `HappyStk`
+	(HappyAbsSyn18  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn16 r))
+
+happyReduce_16 = happySpecReduce_2  16 happyReduction_16
+happyReduction_16 (HappyAbsSyn22  happy_var_2)
+	(HappyAbsSyn18  happy_var_1)
+	 =  HappyAbsSyn16
+		 (let (os,ss,l) = happy_var_1 in happy_var_2 os ss l
+	)
+happyReduction_16 _ _  = notHappyAtAll 
+
+happyReduce_17 = happyMonadReduce 9 17 happyReduction_17
+happyReduction_17 ((HappyTerminal (Loc happy_var_9 XStdTagClose)) `HappyStk`
+	(HappyAbsSyn193  happy_var_8) `HappyStk`
+	(HappyTerminal (Loc happy_var_7 XCloseTagOpen)) `HappyStk`
+	(HappyAbsSyn191  happy_var_6) `HappyStk`
+	(HappyTerminal (Loc happy_var_5 XStdTagClose)) `HappyStk`
+	(HappyAbsSyn198  happy_var_4) `HappyStk`
+	(HappyAbsSyn196  happy_var_3) `HappyStk`
+	(HappyAbsSyn193  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 XStdTagOpen)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn17 r))
+
+happyReduce_18 = happyReduce 5 17 happyReduction_18
+happyReduction_18 ((HappyTerminal (Loc happy_var_5 XEmptyTagClose)) `HappyStk`
+	(HappyAbsSyn198  happy_var_4) `HappyStk`
+	(HappyAbsSyn196  happy_var_3) `HappyStk`
+	(HappyAbsSyn193  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 XStdTagOpen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (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 = happySpecReduce_3  18 happyReduction_19
+happyReduction_19 (HappyAbsSyn258  happy_var_3)
+	(HappyAbsSyn19  happy_var_2)
+	(HappyAbsSyn258  happy_var_1)
+	 =  HappyAbsSyn18
+		 (let (os,ss,ml) = happy_var_2 in (os,happy_var_1:ss++[happy_var_3],happy_var_1 <^^> happy_var_3)
+	)
+happyReduction_19 _ _ _  = notHappyAtAll 
+
+happyReduce_20 = happySpecReduce_3  19 happyReduction_20
+happyReduction_20 (HappyAbsSyn19  happy_var_3)
+	(HappyAbsSyn27  happy_var_2)
+	(HappyAbsSyn20  happy_var_1)
+	 =  HappyAbsSyn19
+		 (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)
+	)
+happyReduction_20 _ _ _  = notHappyAtAll 
+
+happyReduce_21 = happySpecReduce_0  19 happyReduction_21
+happyReduction_21  =  HappyAbsSyn19
+		 (([],[],Nothing)
+	)
+
+happyReduce_22 = happyReduce 4 20 happyReduction_22
+happyReduction_22 ((HappyTerminal (Loc happy_var_4 PragmaEnd)) `HappyStk`
+	(HappyAbsSyn27  happy_var_3) `HappyStk`
+	(HappyAbsSyn21  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LANGUAGE)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn20
+		 (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 = happySpecReduce_3  20 happyReduction_23
+happyReduction_23 (HappyTerminal (Loc happy_var_3 PragmaEnd))
+	(HappyAbsSyn27  happy_var_2)
+	(HappyTerminal happy_var_1)
+	 =  HappyAbsSyn20
+		 (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
+	)
+happyReduction_23 _ _ _  = notHappyAtAll 
+
+happyReduce_24 = happySpecReduce_3  20 happyReduction_24
+happyReduction_24 (HappyTerminal (Loc happy_var_3 PragmaEnd))
+	(HappyAbsSyn101  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 ANN))
+	 =  HappyAbsSyn20
+		 (AnnModulePragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)
+happyReduction_24 _ _ _  = notHappyAtAll 
+
+happyReduce_25 = happySpecReduce_3  21 happyReduction_25
+happyReduction_25 (HappyAbsSyn100  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn21  happy_var_1)
+	 =  HappyAbsSyn21
+		 ((fst happy_var_1 ++ [happy_var_3], snd happy_var_1 ++ [happy_var_2])
+	)
+happyReduction_25 _ _ _  = notHappyAtAll 
+
+happyReduce_26 = happySpecReduce_2  21 happyReduction_26
+happyReduction_26 (HappyAbsSyn100  happy_var_2)
+	_
+	 =  HappyAbsSyn21
+		 (([happy_var_2],[])
+	)
+happyReduction_26 _ _  = notHappyAtAll 
+
+happyReduce_27 = happySpecReduce_2  22 happyReduction_27
+happyReduction_27 (HappyAbsSyn25  happy_var_2)
+	(HappyAbsSyn23  happy_var_1)
+	 =  HappyAbsSyn22
+		 (let (is,ds,ss1,inf) = happy_var_2
+                 in \os ss l -> Module (l <++> inf <** (ss ++ ss1)) happy_var_1 os is ds
+	)
+happyReduction_27 _ _  = notHappyAtAll 
+
+happyReduce_28 = happyReduce 5 23 happyReduction_28
+happyReduction_28 ((HappyTerminal (Loc happy_var_5 KW_Where)) `HappyStk`
+	(HappyAbsSyn29  happy_var_4) `HappyStk`
+	(HappyAbsSyn24  happy_var_3) `HappyStk`
+	(HappyAbsSyn267  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Module)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn23
+		 (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 = happySpecReduce_0  23 happyReduction_29
+happyReduction_29  =  HappyAbsSyn23
+		 (Nothing
+	)
+
+happyReduce_30 = happySpecReduce_3  24 happyReduction_30
+happyReduction_30 (HappyTerminal (Loc happy_var_3 PragmaEnd))
+	(HappyTerminal happy_var_2)
+	(HappyTerminal (Loc happy_var_1 DEPRECATED))
+	 =  HappyAbsSyn24
+		 (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
+	)
+happyReduction_30 _ _ _  = notHappyAtAll 
+
+happyReduce_31 = happySpecReduce_3  24 happyReduction_31
+happyReduction_31 (HappyTerminal (Loc happy_var_3 PragmaEnd))
+	(HappyTerminal happy_var_2)
+	(HappyTerminal (Loc happy_var_1 WARNING))
+	 =  HappyAbsSyn24
+		 (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
+	)
+happyReduction_31 _ _ _  = notHappyAtAll 
+
+happyReduce_32 = happySpecReduce_0  24 happyReduction_32
+happyReduction_32  =  HappyAbsSyn24
+		 (Nothing
+	)
+
+happyReduce_33 = happySpecReduce_3  25 happyReduction_33
+happyReduction_33 (HappyTerminal (Loc happy_var_3 RightCurly))
+	(HappyAbsSyn26  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftCurly))
+	 =  HappyAbsSyn25
+		 (let (is,ds,ss) = happy_var_2 in (is,ds,happy_var_1:ss ++ [happy_var_3], happy_var_1 <^^> happy_var_3)
+	)
+happyReduction_33 _ _ _  = notHappyAtAll 
+
+happyReduce_34 = happyReduce 4 25 happyReduction_34
+happyReduction_34 (_ `HappyStk`
+	(HappyAbsSyn258  happy_var_3) `HappyStk`
+	(HappyAbsSyn26  happy_var_2) `HappyStk`
+	(HappyAbsSyn258  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn25
+		 (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 = happyReduce 4 26 happyReduction_35
+happyReduction_35 ((HappyAbsSyn56  happy_var_4) `HappyStk`
+	(HappyAbsSyn27  happy_var_3) `HappyStk`
+	(HappyAbsSyn35  happy_var_2) `HappyStk`
+	(HappyAbsSyn27  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn26
+		 ((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 = happySpecReduce_2  26 happyReduction_36
+happyReduction_36 (HappyAbsSyn56  happy_var_2)
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn26
+		 (([], fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2)
+	)
+happyReduction_36 _ _  = notHappyAtAll 
+
+happyReduce_37 = happySpecReduce_3  26 happyReduction_37
+happyReduction_37 (HappyAbsSyn27  happy_var_3)
+	(HappyAbsSyn35  happy_var_2)
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn26
+		 ((reverse (fst happy_var_2), [], reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)
+	)
+happyReduction_37 _ _ _  = notHappyAtAll 
+
+happyReduce_38 = happySpecReduce_1  26 happyReduction_38
+happyReduction_38 (HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn26
+		 (([], [], reverse happy_var_1)
+	)
+happyReduction_38 _  = notHappyAtAll 
+
+happyReduce_39 = happySpecReduce_2  27 happyReduction_39
+happyReduction_39 (HappyTerminal (Loc happy_var_2 SemiColon))
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn27
+		 (happy_var_2 : happy_var_1
+	)
+happyReduction_39 _ _  = notHappyAtAll 
+
+happyReduce_40 = happySpecReduce_1  28 happyReduction_40
+happyReduction_40 (HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn27
+		 (happy_var_1
+	)
+happyReduction_40 _  = notHappyAtAll 
+
+happyReduce_41 = happySpecReduce_0  28 happyReduction_41
+happyReduction_41  =  HappyAbsSyn27
+		 ([]
+	)
+
+happyReduce_42 = happySpecReduce_1  29 happyReduction_42
+happyReduction_42 (HappyAbsSyn30  happy_var_1)
+	 =  HappyAbsSyn29
+		 (Just happy_var_1
+	)
+happyReduction_42 _  = notHappyAtAll 
+
+happyReduce_43 = happySpecReduce_0  29 happyReduction_43
+happyReduction_43  =  HappyAbsSyn29
+		 (Nothing
+	)
+
+happyReduce_44 = happyReduce 4 30 happyReduction_44
+happyReduction_44 ((HappyTerminal (Loc happy_var_4 RightParen)) `HappyStk`
+	(HappyAbsSyn27  happy_var_3) `HappyStk`
+	(HappyAbsSyn32  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftParen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn30
+		 (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 = happySpecReduce_3  30 happyReduction_45
+happyReduction_45 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn27  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn30
+		 (ExportSpecList (happy_var_1 <^^> happy_var_3 <** (happy_var_1:happy_var_2++[happy_var_3])) []
+	)
+happyReduction_45 _ _ _  = notHappyAtAll 
+
+happyReduce_46 = happySpecReduce_1  31 happyReduction_46
+happyReduction_46 (HappyTerminal (Loc happy_var_1 Comma))
+	 =  HappyAbsSyn27
+		 ([happy_var_1]
+	)
+happyReduction_46 _  = notHappyAtAll 
+
+happyReduce_47 = happySpecReduce_0  31 happyReduction_47
+happyReduction_47  =  HappyAbsSyn27
+		 ([  ]
+	)
+
+happyReduce_48 = happySpecReduce_3  32 happyReduction_48
+happyReduction_48 (HappyAbsSyn33  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn32  happy_var_1)
+	 =  HappyAbsSyn32
+		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
+	)
+happyReduction_48 _ _ _  = notHappyAtAll 
+
+happyReduce_49 = happySpecReduce_1  32 happyReduction_49
+happyReduction_49 (HappyAbsSyn33  happy_var_1)
+	 =  HappyAbsSyn32
+		 (([happy_var_1],[])
+	)
+happyReduction_49 _  = notHappyAtAll 
+
+happyReduce_50 = happySpecReduce_1  33 happyReduction_50
+happyReduction_50 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn33
+		 (EVar (ann happy_var_1) happy_var_1
+	)
+happyReduction_50 _  = notHappyAtAll 
+
+happyReduce_51 = happyMonadReduce 2 33 happyReduction_51
+happyReduction_51 ((HappyAbsSyn34  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Type)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn33 r))
+
+happyReduce_52 = happySpecReduce_1  33 happyReduction_52
+happyReduction_52 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn33
+		 (EAbs (ann happy_var_1) (NoNamespace (ann happy_var_1)) happy_var_1
+	)
+happyReduction_52 _  = notHappyAtAll 
+
+happyReduce_53 = happyReduce 4 33 happyReduction_53
+happyReduction_53 ((HappyTerminal (Loc happy_var_4 RightParen)) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 DotDot)) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftParen)) `HappyStk`
+	(HappyAbsSyn34  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn33
+		 (EThingAll  (ann happy_var_1 <++> nIS happy_var_4 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_1
+	) `HappyStk` happyRest
+
+happyReduce_54 = happySpecReduce_3  33 happyReduction_54
+happyReduction_54 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyTerminal (Loc happy_var_2 LeftParen))
+	(HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn33
+		 (EThingWith (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3])    happy_var_1 []
+	)
+happyReduction_54 _ _ _  = notHappyAtAll 
+
+happyReduce_55 = happyReduce 4 33 happyReduction_55
+happyReduction_55 ((HappyTerminal (Loc happy_var_4 RightParen)) `HappyStk`
+	(HappyAbsSyn47  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftParen)) `HappyStk`
+	(HappyAbsSyn34  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn33
+		 (EThingWith (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_56 = happySpecReduce_2  33 happyReduction_56
+happyReduction_56 (HappyAbsSyn267  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 KW_Module))
+	 =  HappyAbsSyn33
+		 (EModuleContents (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)
+happyReduction_56 _ _  = notHappyAtAll 
+
+happyReduce_57 = happyMonadReduce 2 33 happyReduction_57
+happyReduction_57 ((HappyAbsSyn34  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Pattern)) `HappyStk`
+	happyRest) tk
+	 = happyThen ((  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 (HappyAbsSyn33 r))
+
+happyReduce_58 = happySpecReduce_1  34 happyReduction_58
+happyReduction_58 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_58 _  = notHappyAtAll 
+
+happyReduce_59 = happySpecReduce_1  34 happyReduction_59
+happyReduction_59 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_59 _  = notHappyAtAll 
+
+happyReduce_60 = happySpecReduce_3  35 happyReduction_60
+happyReduction_60 (HappyAbsSyn36  happy_var_3)
+	(HappyAbsSyn27  happy_var_2)
+	(HappyAbsSyn35  happy_var_1)
+	 =  HappyAbsSyn35
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
+	)
+happyReduction_60 _ _ _  = notHappyAtAll 
+
+happyReduce_61 = happySpecReduce_1  35 happyReduction_61
+happyReduction_61 (HappyAbsSyn36  happy_var_1)
+	 =  HappyAbsSyn35
+		 (([happy_var_1],[])
+	)
+happyReduction_61 _  = notHappyAtAll 
+
+happyReduce_62 = happyReduce 8 36 happyReduction_62
+happyReduction_62 ((HappyAbsSyn42  happy_var_8) `HappyStk`
+	(HappyAbsSyn41  happy_var_7) `HappyStk`
+	(HappyAbsSyn267  happy_var_6) `HappyStk`
+	(HappyAbsSyn40  happy_var_5) `HappyStk`
+	(HappyAbsSyn37  happy_var_4) `HappyStk`
+	(HappyAbsSyn37  happy_var_3) `HappyStk`
+	(HappyAbsSyn37  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Import)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn36
+		 (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_63 = happySpecReduce_2  37 happyReduction_63
+happyReduction_63 (HappyTerminal (Loc happy_var_2 PragmaEnd))
+	(HappyTerminal (Loc happy_var_1 SOURCE))
+	 =  HappyAbsSyn37
+		 ((True,[happy_var_1,happy_var_2])
+	)
+happyReduction_63 _ _  = notHappyAtAll 
+
+happyReduce_64 = happySpecReduce_0  37 happyReduction_64
+happyReduction_64  =  HappyAbsSyn37
+		 ((False,[])
+	)
+
+happyReduce_65 = happyMonadReduce 1 38 happyReduction_65
+happyReduction_65 ((HappyTerminal (Loc happy_var_1 KW_Safe)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { checkEnabledOneOf [Safe, SafeImports, Trustworthy] ;
+                                                 return (True, [happy_var_1]) })
+	) (\r -> happyReturn (HappyAbsSyn37 r))
+
+happyReduce_66 = happySpecReduce_0  38 happyReduction_66
+happyReduction_66  =  HappyAbsSyn37
+		 ((False, [])
+	)
+
+happyReduce_67 = happySpecReduce_1  39 happyReduction_67
+happyReduction_67 (HappyTerminal (Loc happy_var_1 KW_Qualified))
+	 =  HappyAbsSyn37
+		 ((True,[happy_var_1])
+	)
+happyReduction_67 _  = notHappyAtAll 
+
+happyReduce_68 = happySpecReduce_0  39 happyReduction_68
+happyReduction_68  =  HappyAbsSyn37
+		 ((False, [])
+	)
+
+happyReduce_69 = happyMonadReduce 1 40 happyReduction_69
+happyReduction_69 ((HappyTerminal happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { checkEnabled PackageImports ;
+                                                      let { Loc l (StringTok (s,_)) = happy_var_1 } ;
+                                                      return $ (Just s,[l]) })
+	) (\r -> happyReturn (HappyAbsSyn40 r))
+
+happyReduce_70 = happySpecReduce_0  40 happyReduction_70
+happyReduction_70  =  HappyAbsSyn40
+		 ((Nothing,[])
+	)
+
+happyReduce_71 = happySpecReduce_2  41 happyReduction_71
+happyReduction_71 (HappyAbsSyn267  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 KW_As))
+	 =  HappyAbsSyn41
+		 ((Just happy_var_2,[happy_var_1],Just (nIS happy_var_1 <++> ann happy_var_2))
+	)
+happyReduction_71 _ _  = notHappyAtAll 
+
+happyReduce_72 = happySpecReduce_0  41 happyReduction_72
+happyReduction_72  =  HappyAbsSyn41
+		 ((Nothing,[],Nothing)
+	)
+
+happyReduce_73 = happySpecReduce_1  42 happyReduction_73
+happyReduction_73 (HappyAbsSyn43  happy_var_1)
+	 =  HappyAbsSyn42
+		 (Just happy_var_1
+	)
+happyReduction_73 _  = notHappyAtAll 
+
+happyReduce_74 = happySpecReduce_0  42 happyReduction_74
+happyReduction_74  =  HappyAbsSyn42
+		 (Nothing
+	)
+
+happyReduce_75 = happyReduce 5 43 happyReduction_75
+happyReduction_75 ((HappyTerminal (Loc happy_var_5 RightParen)) `HappyStk`
+	(HappyAbsSyn27  happy_var_4) `HappyStk`
+	(HappyAbsSyn45  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftParen)) `HappyStk`
+	(HappyAbsSyn44  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn43
+		 (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_76 = happyReduce 4 43 happyReduction_76
+happyReduction_76 ((HappyTerminal (Loc happy_var_4 RightParen)) `HappyStk`
+	(HappyAbsSyn27  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftParen)) `HappyStk`
+	(HappyAbsSyn44  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn43
+		 (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_77 = happySpecReduce_1  44 happyReduction_77
+happyReduction_77 (HappyTerminal (Loc happy_var_1 KW_Hiding))
+	 =  HappyAbsSyn44
+		 ((True,Just (nIS happy_var_1),[happy_var_1])
+	)
+happyReduction_77 _  = notHappyAtAll 
+
+happyReduce_78 = happySpecReduce_0  44 happyReduction_78
+happyReduction_78  =  HappyAbsSyn44
+		 ((False,Nothing,[])
+	)
+
+happyReduce_79 = happySpecReduce_3  45 happyReduction_79
+happyReduction_79 (HappyAbsSyn46  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn45  happy_var_1)
+	 =  HappyAbsSyn45
+		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
+	)
+happyReduction_79 _ _ _  = notHappyAtAll 
+
+happyReduce_80 = happySpecReduce_1  45 happyReduction_80
+happyReduction_80 (HappyAbsSyn46  happy_var_1)
+	 =  HappyAbsSyn45
+		 (([happy_var_1],[])
+	)
+happyReduction_80 _  = notHappyAtAll 
+
+happyReduce_81 = happySpecReduce_1  46 happyReduction_81
+happyReduction_81 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn46
+		 (IVar (ann happy_var_1) happy_var_1
+	)
+happyReduction_81 _  = notHappyAtAll 
+
+happyReduce_82 = happyMonadReduce 2 46 happyReduction_82
+happyReduction_82 ((HappyAbsSyn100  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Type)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn46 r))
+
+happyReduce_83 = happyMonadReduce 2 46 happyReduction_83
+happyReduction_83 ((HappyAbsSyn100  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Pattern)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn46 r))
+
+happyReduce_84 = happySpecReduce_1  46 happyReduction_84
+happyReduction_84 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn46
+		 (IAbs (ann happy_var_1) (NoNamespace (ann happy_var_1)) happy_var_1
+	)
+happyReduction_84 _  = notHappyAtAll 
+
+happyReduce_85 = happyReduce 4 46 happyReduction_85
+happyReduction_85 ((HappyTerminal (Loc happy_var_4 RightParen)) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 DotDot)) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftParen)) `HappyStk`
+	(HappyAbsSyn100  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn46
+		 (IThingAll  (ann happy_var_1 <++> nIS happy_var_4 <** [happy_var_2,happy_var_3,happy_var_4]) happy_var_1
+	) `HappyStk` happyRest
+
+happyReduce_86 = happySpecReduce_3  46 happyReduction_86
+happyReduction_86 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyTerminal (Loc happy_var_2 LeftParen))
+	(HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn46
+		 (IThingWith (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3])    happy_var_1 []
+	)
+happyReduction_86 _ _ _  = notHappyAtAll 
+
+happyReduce_87 = happyReduce 4 46 happyReduction_87
+happyReduction_87 ((HappyTerminal (Loc happy_var_4 RightParen)) `HappyStk`
+	(HappyAbsSyn47  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftParen)) `HappyStk`
+	(HappyAbsSyn100  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn46
+		 (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_88 = happySpecReduce_3  47 happyReduction_88
+happyReduction_88 (HappyAbsSyn48  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn47  happy_var_1)
+	 =  HappyAbsSyn47
+		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
+	)
+happyReduction_88 _ _ _  = notHappyAtAll 
+
+happyReduce_89 = happySpecReduce_1  47 happyReduction_89
+happyReduction_89 (HappyAbsSyn48  happy_var_1)
+	 =  HappyAbsSyn47
+		 (([happy_var_1],[])
+	)
+happyReduction_89 _  = notHappyAtAll 
+
+happyReduce_90 = happySpecReduce_1  48 happyReduction_90
+happyReduction_90 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn48
+		 (VarName (ann happy_var_1) happy_var_1
+	)
+happyReduction_90 _  = notHappyAtAll 
+
+happyReduce_91 = happySpecReduce_1  48 happyReduction_91
+happyReduction_91 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn48
+		 (ConName (ann happy_var_1) happy_var_1
+	)
+happyReduction_91 _  = notHappyAtAll 
+
+happyReduce_92 = happySpecReduce_3  49 happyReduction_92
+happyReduction_92 (HappyAbsSyn52  happy_var_3)
+	(HappyAbsSyn50  happy_var_2)
+	(HappyAbsSyn51  happy_var_1)
+	 =  HappyAbsSyn49
+		 (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)
+	)
+happyReduction_92 _ _ _  = notHappyAtAll 
+
+happyReduce_93 = happySpecReduce_0  50 happyReduction_93
+happyReduction_93  =  HappyAbsSyn50
+		 ((Nothing, [])
+	)
+
+happyReduce_94 = happyMonadReduce 1 50 happyReduction_94
+happyReduction_94 ((HappyTerminal happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( let Loc l (IntTok (i,_)) = happy_var_1 in checkPrec i >>= \i -> return (Just i, [l]))
+	) (\r -> happyReturn (HappyAbsSyn50 r))
+
+happyReduce_95 = happySpecReduce_1  51 happyReduction_95
+happyReduction_95 (HappyTerminal (Loc happy_var_1 KW_Infix))
+	 =  HappyAbsSyn51
+		 (AssocNone  $ nIS happy_var_1
+	)
+happyReduction_95 _  = notHappyAtAll 
+
+happyReduce_96 = happySpecReduce_1  51 happyReduction_96
+happyReduction_96 (HappyTerminal (Loc happy_var_1 KW_InfixL))
+	 =  HappyAbsSyn51
+		 (AssocLeft  $ nIS happy_var_1
+	)
+happyReduction_96 _  = notHappyAtAll 
+
+happyReduce_97 = happySpecReduce_1  51 happyReduction_97
+happyReduction_97 (HappyTerminal (Loc happy_var_1 KW_InfixR))
+	 =  HappyAbsSyn51
+		 (AssocRight $ nIS happy_var_1
+	)
+happyReduction_97 _  = notHappyAtAll 
+
+happyReduce_98 = happySpecReduce_3  52 happyReduction_98
+happyReduction_98 (HappyAbsSyn240  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn52  happy_var_1)
+	 =  HappyAbsSyn52
+		 (let (ops,ss,l) = happy_var_1 in (happy_var_3 : ops, happy_var_2 : ss, l <++> ann happy_var_3)
+	)
+happyReduction_98 _ _ _  = notHappyAtAll 
+
+happyReduce_99 = happySpecReduce_1  52 happyReduction_99
+happyReduction_99 (HappyAbsSyn240  happy_var_1)
+	 =  HappyAbsSyn52
+		 (([happy_var_1],[],ann happy_var_1)
+	)
+happyReduction_99 _  = notHappyAtAll 
+
+happyReduce_100 = happySpecReduce_0  53 happyReduction_100
+happyReduction_100  =  HappyAbsSyn53
+		 (Nothing
+	)
+
+happyReduce_101 = happySpecReduce_1  53 happyReduction_101
+happyReduction_101 (HappyAbsSyn54  happy_var_1)
+	 =  HappyAbsSyn53
+		 (Just happy_var_1
+	)
+happyReduction_101 _  = notHappyAtAll 
+
+happyReduce_102 = happyReduce 4 54 happyReduction_102
+happyReduction_102 ((HappyAbsSyn55  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 RightArrow)) `HappyStk`
+	(HappyAbsSyn100  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 Bar)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn54
+		 (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_103 = happySpecReduce_2  55 happyReduction_103
+happyReduction_103 (HappyAbsSyn100  happy_var_2)
+	(HappyAbsSyn55  happy_var_1)
+	 =  HappyAbsSyn55
+		 (happy_var_2 : happy_var_1
+	)
+happyReduction_103 _ _  = notHappyAtAll 
+
+happyReduce_104 = happySpecReduce_1  55 happyReduction_104
+happyReduction_104 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn55
+		 ([happy_var_1]
+	)
+happyReduction_104 _  = notHappyAtAll 
+
+happyReduce_105 = happyMonadReduce 2 56 happyReduction_105
+happyReduction_105 ((HappyAbsSyn27  happy_var_2) `HappyStk`
+	(HappyAbsSyn56  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkRevDecls (fst happy_var_1) >>= \ds -> return (ds, snd happy_var_1 ++ reverse happy_var_2))
+	) (\r -> happyReturn (HappyAbsSyn56 r))
+
+happyReduce_106 = happySpecReduce_3  57 happyReduction_106
+happyReduction_106 (HappyAbsSyn49  happy_var_3)
+	(HappyAbsSyn27  happy_var_2)
+	(HappyAbsSyn56  happy_var_1)
+	 =  HappyAbsSyn56
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
+	)
+happyReduction_106 _ _ _  = notHappyAtAll 
+
+happyReduce_107 = happySpecReduce_1  57 happyReduction_107
+happyReduction_107 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn56
+		 (([happy_var_1],[])
+	)
+happyReduction_107 _  = notHappyAtAll 
+
+happyReduce_108 = happyMonadReduce 1 58 happyReduction_108
+happyReduction_108 ((HappyAbsSyn49  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled RoleAnnotations >> return happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn49 r))
+
+happyReduce_109 = happyMonadReduce 4 58 happyReduction_109
+happyReduction_109 ((HappyAbsSyn81  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 Equals)) `HappyStk`
+	(HappyAbsSyn103  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Type)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn49 r))
+
+happyReduce_110 = happyMonadReduce 6 58 happyReduction_110
+happyReduction_110 ((HappyAbsSyn67  happy_var_6) `HappyStk`
+	(HappyAbsSyn53  happy_var_5) `HappyStk`
+	(HappyAbsSyn59  happy_var_4) `HappyStk`
+	(HappyAbsSyn103  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Family)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Type)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn49 r))
+
+happyReduce_111 = happyMonadReduce 5 58 happyReduction_111
+happyReduction_111 ((HappyAbsSyn81  happy_var_5) `HappyStk`
+	(HappyTerminal (Loc happy_var_4 Equals)) `HappyStk`
+	(HappyAbsSyn81  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Instance)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Type)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn49 r))
+
+happyReduce_112 = happyMonadReduce 4 58 happyReduction_112
+happyReduction_112 ((HappyAbsSyn141  happy_var_4) `HappyStk`
+	(HappyAbsSyn133  happy_var_3) `HappyStk`
+	(HappyAbsSyn103  happy_var_2) `HappyStk`
+	(HappyAbsSyn71  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { (cs,dh) <- checkDataHeader happy_var_2;
+                       let { (qds,ss,minf) = happy_var_3;
+                             l = happy_var_1 <> happy_var_2 <+?> minf <+?> fmap ann happy_var_4 <** ss};
+                       checkDataOrNew happy_var_1 qds;
+                       return (DataDecl l happy_var_1 cs dh (reverse qds) happy_var_4) })
+	) (\r -> happyReturn (HappyAbsSyn49 r))
+
+happyReduce_113 = happyMonadReduce 5 58 happyReduction_113
+happyReduction_113 ((HappyAbsSyn141  happy_var_5) `HappyStk`
+	(HappyAbsSyn129  happy_var_4) `HappyStk`
+	(HappyAbsSyn150  happy_var_3) `HappyStk`
+	(HappyAbsSyn103  happy_var_2) `HappyStk`
+	(HappyAbsSyn71  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { (cs,dh) <- checkDataHeader happy_var_2;
+                       let { (gs,ss,minf) = happy_var_4;
+                             l = ann happy_var_1 <+?> minf <+?> fmap ann 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 [] happy_var_5)
+                        _ -> checkEnabled GADTs >> return (GDataDecl l happy_var_1 cs dh (fst happy_var_3) (reverse gs) happy_var_5) })
+	) (\r -> happyReturn (HappyAbsSyn49 r))
+
+happyReduce_114 = happyMonadReduce 4 58 happyReduction_114
+happyReduction_114 ((HappyAbsSyn59  happy_var_4) `HappyStk`
+	(HappyAbsSyn103  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Family)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Data)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn49 r))
+
+happyReduce_115 = happyMonadReduce 5 58 happyReduction_115
+happyReduction_115 ((HappyAbsSyn141  happy_var_5) `HappyStk`
+	(HappyAbsSyn133  happy_var_4) `HappyStk`
+	(HappyAbsSyn81  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Instance)) `HappyStk`
+	(HappyAbsSyn71  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 happy_var_5 <** happy_var_2:ss };
+                       checkDataOrNew happy_var_1 qds;
+                       return (DataInsDecl l happy_var_1 happy_var_3 (reverse qds) happy_var_5) })
+	) (\r -> happyReturn (HappyAbsSyn49 r))
+
+happyReduce_116 = happyMonadReduce 6 58 happyReduction_116
+happyReduction_116 ((HappyAbsSyn141  happy_var_6) `HappyStk`
+	(HappyAbsSyn129  happy_var_5) `HappyStk`
+	(HappyAbsSyn150  happy_var_4) `HappyStk`
+	(HappyAbsSyn81  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Instance)) `HappyStk`
+	(HappyAbsSyn71  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { -- (cs,c,t) <- checkDataHeader happy_var_4;
+                       checkEnabled TypeFamilies ;
+                       let {(gs,ss,minf) = happy_var_5;
+                            l = ann happy_var_1 <+?> minf <+?> fmap ann happy_var_6 <** (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) happy_var_6) })
+	) (\r -> happyReturn (HappyAbsSyn49 r))
+
+happyReduce_117 = happyMonadReduce 4 58 happyReduction_117
+happyReduction_117 ((HappyAbsSyn151  happy_var_4) `HappyStk`
+	(HappyAbsSyn126  happy_var_3) `HappyStk`
+	(HappyAbsSyn103  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Class)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn49 r))
+
+happyReduce_118 = happyMonadReduce 4 58 happyReduction_118
+happyReduction_118 ((HappyAbsSyn157  happy_var_4) `HappyStk`
+	(HappyAbsSyn103  happy_var_3) `HappyStk`
+	(HappyAbsSyn66  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Instance)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn49 r))
+
+happyReduce_119 = happyMonadReduce 4 58 happyReduction_119
+happyReduction_119 ((HappyAbsSyn103  happy_var_4) `HappyStk`
+	(HappyAbsSyn66  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Instance)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Deriving)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { checkEnabled StandaloneDeriving ;
+                       ih <- checkInstHeader happy_var_4;
+                       let {l = nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2]};
+                       return (DerivDecl l happy_var_3 ih) })
+	) (\r -> happyReturn (HappyAbsSyn49 r))
+
+happyReduce_120 = happyReduce 4 58 happyReduction_120
+happyReduction_120 ((HappyTerminal (Loc happy_var_4 RightParen)) `HappyStk`
+	(HappyAbsSyn72  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftParen)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Default)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn49
+		 (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_121 = happyMonadReduce 1 58 happyReduction_121
+happyReduction_121 ((HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do
+              checkToplevel happy_var_1
+              checkExpr happy_var_1 >>= \e -> return (SpliceDecl (ann e) e))
+	) (\r -> happyReturn (HappyAbsSyn49 r))
+
+happyReduce_122 = happyReduce 5 58 happyReduction_122
+happyReduction_122 ((HappyAbsSyn90  happy_var_5) `HappyStk`
+	(HappyAbsSyn89  happy_var_4) `HappyStk`
+	(HappyAbsSyn88  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Import)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Foreign)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn49
+		 (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_123 = happyReduce 4 58 happyReduction_123
+happyReduction_123 ((HappyAbsSyn90  happy_var_4) `HappyStk`
+	(HappyAbsSyn88  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Export)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Foreign)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn49
+		 (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_124 = happySpecReduce_3  58 happyReduction_124
+happyReduction_124 (HappyTerminal (Loc happy_var_3 PragmaEnd))
+	(HappyAbsSyn91  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 RULES))
+	 =  HappyAbsSyn49
+		 (RulePragmaDecl (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) $ reverse happy_var_2
+	)
+happyReduction_124 _ _ _  = notHappyAtAll 
+
+happyReduce_125 = happySpecReduce_3  58 happyReduction_125
+happyReduction_125 (HappyTerminal (Loc happy_var_3 PragmaEnd))
+	(HappyAbsSyn97  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 DEPRECATED))
+	 =  HappyAbsSyn49
+		 (DeprPragmaDecl (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) $ reverse (fst happy_var_2)
+	)
+happyReduction_125 _ _ _  = notHappyAtAll 
+
+happyReduce_126 = happySpecReduce_3  58 happyReduction_126
+happyReduction_126 (HappyTerminal (Loc happy_var_3 PragmaEnd))
+	(HappyAbsSyn97  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 WARNING))
+	 =  HappyAbsSyn49
+		 (WarnPragmaDecl (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) $ reverse (fst happy_var_2)
+	)
+happyReduction_126 _ _ _  = notHappyAtAll 
+
+happyReduce_127 = happySpecReduce_3  58 happyReduction_127
+happyReduction_127 (HappyTerminal (Loc happy_var_3 PragmaEnd))
+	(HappyAbsSyn101  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 ANN))
+	 =  HappyAbsSyn49
+		 (AnnPragma      (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)
+happyReduction_127 _ _ _  = notHappyAtAll 
+
+happyReduce_128 = happySpecReduce_1  58 happyReduction_128
+happyReduction_128 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn49
+		 (happy_var_1
+	)
+happyReduction_128 _  = notHappyAtAll 
+
+happyReduce_129 = happySpecReduce_0  59 happyReduction_129
+happyReduction_129  =  HappyAbsSyn59
+		 (Nothing
+	)
+
+happyReduce_130 = happySpecReduce_2  59 happyReduction_130
+happyReduction_130 (HappyAbsSyn144  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 DoubleColon))
+	 =  HappyAbsSyn59
+		 ((Just $ KindSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2)
+	)
+happyReduction_130 _ _  = notHappyAtAll 
+
+happyReduce_131 = happySpecReduce_0  60 happyReduction_131
+happyReduction_131  =  HappyAbsSyn59
+		 (Nothing
+	)
+
+happyReduce_132 = happySpecReduce_2  60 happyReduction_132
+happyReduction_132 (HappyAbsSyn144  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 DoubleColon))
+	 =  HappyAbsSyn59
+		 ((Just $ KindSig  (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2)
+	)
+happyReduction_132 _ _  = notHappyAtAll 
+
+happyReduce_133 = happySpecReduce_2  60 happyReduction_133
+happyReduction_133 (HappyAbsSyn123  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 Equals))
+	 =  HappyAbsSyn59
+		 ((Just $ TyVarSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2)
+	)
+happyReduction_133 _ _  = notHappyAtAll 
+
+happyReduce_134 = happySpecReduce_0  61 happyReduction_134
+happyReduction_134  =  HappyAbsSyn61
+		 ((Nothing, Nothing)
+	)
+
+happyReduce_135 = happySpecReduce_2  61 happyReduction_135
+happyReduction_135 (HappyAbsSyn144  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 DoubleColon))
+	 =  HappyAbsSyn61
+		 ((Just (KindSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2), Nothing)
+	)
+happyReduction_135 _ _  = notHappyAtAll 
+
+happyReduce_136 = happySpecReduce_3  61 happyReduction_136
+happyReduction_136 (HappyAbsSyn54  happy_var_3)
+	(HappyAbsSyn123  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 Equals))
+	 =  HappyAbsSyn61
+		 ((Just (TyVarSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2), Just happy_var_3)
+	)
+happyReduction_136 _ _ _  = notHappyAtAll 
+
+happyReduce_137 = happySpecReduce_0  62 happyReduction_137
+happyReduction_137  =  HappyAbsSyn62
+		 ((Nothing, Nothing, Nothing)
+	)
+
+happyReduce_138 = happySpecReduce_2  62 happyReduction_138
+happyReduction_138 (HappyAbsSyn144  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 DoubleColon))
+	 =  HappyAbsSyn62
+		 ((Just (KindSig (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2), Nothing, Nothing)
+	)
+happyReduction_138 _ _  = notHappyAtAll 
+
+happyReduce_139 = happySpecReduce_3  62 happyReduction_139
+happyReduction_139 (HappyAbsSyn53  happy_var_3)
+	(HappyAbsSyn81  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 Equals))
+	 =  HappyAbsSyn62
+		 ((Nothing, Just (happy_var_1, happy_var_2), happy_var_3)
+	)
+happyReduction_139 _ _ _  = notHappyAtAll 
+
+happyReduce_140 = happyMonadReduce 4 63 happyReduction_140
+happyReduction_140 ((HappyAbsSyn64  happy_var_4) `HappyStk`
+	(HappyAbsSyn34  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Role)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Type)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( mkRoleAnnotDecl happy_var_1 happy_var_2 happy_var_3 (reverse happy_var_4))
+	) (\r -> happyReturn (HappyAbsSyn49 r))
+
+happyReduce_141 = happySpecReduce_0  64 happyReduction_141
+happyReduction_141  =  HappyAbsSyn64
+		 ([]
+	)
+
+happyReduce_142 = happySpecReduce_2  64 happyReduction_142
+happyReduction_142 (HappyAbsSyn65  happy_var_2)
+	(HappyAbsSyn64  happy_var_1)
+	 =  HappyAbsSyn64
+		 (happy_var_2 : happy_var_1
+	)
+happyReduction_142 _ _  = notHappyAtAll 
+
+happyReduce_143 = happySpecReduce_1  65 happyReduction_143
+happyReduction_143 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn65
+		 (let (VarId v) = unLoc happy_var_1 in (Just v, nIS $ loc happy_var_1)
+	)
+happyReduction_143 _  = notHappyAtAll 
+
+happyReduce_144 = happySpecReduce_1  65 happyReduction_144
+happyReduction_144 (HappyTerminal (Loc happy_var_1 Underscore))
+	 =  HappyAbsSyn65
+		 ((Nothing, nIS happy_var_1)
+	)
+happyReduction_144 _  = notHappyAtAll 
+
+happyReduce_145 = happySpecReduce_2  66 happyReduction_145
+happyReduction_145 _
+	(HappyTerminal (Loc happy_var_1 OVERLAP))
+	 =  HappyAbsSyn66
+		 (Just (Overlap (nIS happy_var_1))
+	)
+happyReduction_145 _ _  = notHappyAtAll 
+
+happyReduce_146 = happySpecReduce_2  66 happyReduction_146
+happyReduction_146 _
+	(HappyTerminal (Loc happy_var_1 INCOHERENT))
+	 =  HappyAbsSyn66
+		 (Just (Incoherent (nIS happy_var_1))
+	)
+happyReduction_146 _ _  = notHappyAtAll 
+
+happyReduce_147 = happySpecReduce_2  66 happyReduction_147
+happyReduction_147 _
+	(HappyTerminal (Loc happy_var_1 NO_OVERLAP))
+	 =  HappyAbsSyn66
+		 (Just (NoOverlap (nIS happy_var_1))
+	)
+happyReduction_147 _ _  = notHappyAtAll 
+
+happyReduce_148 = happySpecReduce_0  66 happyReduction_148
+happyReduction_148  =  HappyAbsSyn66
+		 (Nothing
+	)
+
+happyReduce_149 = happySpecReduce_0  67 happyReduction_149
+happyReduction_149  =  HappyAbsSyn67
+		 (Nothing
+	)
+
+happyReduce_150 = happySpecReduce_2  67 happyReduction_150
+happyReduction_150 (HappyAbsSyn68  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 KW_Where))
+	 =  HappyAbsSyn67
+		 (Just (happy_var_2, happy_var_1)
+	)
+happyReduction_150 _ _  = notHappyAtAll 
+
+happyReduce_151 = happySpecReduce_3  68 happyReduction_151
+happyReduction_151 _
+	(HappyAbsSyn68  happy_var_2)
+	_
+	 =  HappyAbsSyn68
+		 (happy_var_2
+	)
+happyReduction_151 _ _ _  = notHappyAtAll 
+
+happyReduce_152 = happySpecReduce_3  68 happyReduction_152
+happyReduction_152 _
+	(HappyAbsSyn68  happy_var_2)
+	_
+	 =  HappyAbsSyn68
+		 (happy_var_2
+	)
+happyReduction_152 _ _ _  = notHappyAtAll 
+
+happyReduce_153 = happySpecReduce_3  69 happyReduction_153
+happyReduction_153 (HappyAbsSyn70  happy_var_3)
+	_
+	(HappyAbsSyn68  happy_var_1)
+	 =  HappyAbsSyn68
+		 (happy_var_1 ++ [happy_var_3]
+	)
+happyReduction_153 _ _ _  = notHappyAtAll 
+
+happyReduce_154 = happySpecReduce_2  69 happyReduction_154
+happyReduction_154 _
+	(HappyAbsSyn68  happy_var_1)
+	 =  HappyAbsSyn68
+		 (happy_var_1
+	)
+happyReduction_154 _ _  = notHappyAtAll 
+
+happyReduce_155 = happySpecReduce_1  69 happyReduction_155
+happyReduction_155 (HappyAbsSyn70  happy_var_1)
+	 =  HappyAbsSyn68
+		 ([happy_var_1]
+	)
+happyReduction_155 _  = notHappyAtAll 
+
+happyReduce_156 = happyMonadReduce 3 70 happyReduction_156
+happyReduction_156 ((HappyAbsSyn81  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 Equals)) `HappyStk`
+	(HappyAbsSyn81  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { checkEnabled TypeFamilies ;
+                        return (TypeEqn (ann happy_var_1 <++> ann happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3) })
+	) (\r -> happyReturn (HappyAbsSyn70 r))
+
+happyReduce_157 = happySpecReduce_1  71 happyReduction_157
+happyReduction_157 (HappyTerminal (Loc happy_var_1 KW_Data))
+	 =  HappyAbsSyn71
+		 (DataType $ nIS happy_var_1
+	)
+happyReduction_157 _  = notHappyAtAll 
+
+happyReduce_158 = happySpecReduce_1  71 happyReduction_158
+happyReduction_158 (HappyTerminal (Loc happy_var_1 KW_NewType))
+	 =  HappyAbsSyn71
+		 (NewType  $ nIS happy_var_1
+	)
+happyReduction_158 _  = notHappyAtAll 
+
+happyReduce_159 = happyMonadReduce 1 72 happyReduction_159
+happyReduction_159 ((HappyAbsSyn120  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { ts <- mapM checkType (fst happy_var_1);
+                                              return $ (reverse ts, reverse (snd happy_var_1)) })
+	) (\r -> happyReturn (HappyAbsSyn72 r))
+
+happyReduce_160 = happySpecReduce_1  72 happyReduction_160
+happyReduction_160 (HappyAbsSyn81  happy_var_1)
+	 =  HappyAbsSyn72
+		 (([happy_var_1],[])
+	)
+happyReduction_160 _  = notHappyAtAll 
+
+happyReduce_161 = happySpecReduce_0  72 happyReduction_161
+happyReduction_161  =  HappyAbsSyn72
+		 (([],[])
+	)
+
+happyReduce_162 = happyMonadReduce 3 73 happyReduction_162
+happyReduction_162 ((HappyAbsSyn27  happy_var_3) `HappyStk`
+	(HappyAbsSyn56  happy_var_2) `HappyStk`
+	(HappyAbsSyn27  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkRevDecls (fst happy_var_2) >>= \ds -> return (ds, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))
+	) (\r -> happyReturn (HappyAbsSyn56 r))
+
+happyReduce_163 = happySpecReduce_1  73 happyReduction_163
+happyReduction_163 (HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn56
+		 (([],reverse happy_var_1)
+	)
+happyReduction_163 _  = notHappyAtAll 
+
+happyReduce_164 = happySpecReduce_3  74 happyReduction_164
+happyReduction_164 (HappyAbsSyn49  happy_var_3)
+	(HappyAbsSyn27  happy_var_2)
+	(HappyAbsSyn56  happy_var_1)
+	 =  HappyAbsSyn56
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
+	)
+happyReduction_164 _ _ _  = notHappyAtAll 
+
+happyReduce_165 = happySpecReduce_1  74 happyReduction_165
+happyReduction_165 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn56
+		 (([happy_var_1],[])
+	)
+happyReduction_165 _  = notHappyAtAll 
+
+happyReduce_166 = happySpecReduce_1  75 happyReduction_166
+happyReduction_166 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn49
+		 (happy_var_1
+	)
+happyReduction_166 _  = notHappyAtAll 
+
+happyReduce_167 = happySpecReduce_1  75 happyReduction_167
+happyReduction_167 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn49
+		 (happy_var_1
+	)
+happyReduction_167 _  = notHappyAtAll 
+
+happyReduce_168 = happySpecReduce_1  75 happyReduction_168
+happyReduction_168 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn49
+		 (happy_var_1
+	)
+happyReduction_168 _  = notHappyAtAll 
+
+happyReduce_169 = happySpecReduce_1  75 happyReduction_169
+happyReduction_169 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn49
+		 (happy_var_1
+	)
+happyReduction_169 _  = notHappyAtAll 
+
+happyReduce_170 = happySpecReduce_1  75 happyReduction_170
+happyReduction_170 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn49
+		 (happy_var_1
+	)
+happyReduction_170 _  = notHappyAtAll 
+
+happyReduce_171 = happySpecReduce_3  76 happyReduction_171
+happyReduction_171 (HappyTerminal (Loc happy_var_3 RightCurly))
+	(HappyAbsSyn56  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftCurly))
+	 =  HappyAbsSyn76
+		 (BDecls (happy_var_1 <^^> happy_var_3 <** (happy_var_1:snd happy_var_2++[happy_var_3])) (fst happy_var_2)
+	)
+happyReduction_171 _ _ _  = notHappyAtAll 
+
+happyReduce_172 = happySpecReduce_3  76 happyReduction_172
+happyReduction_172 (HappyAbsSyn258  happy_var_3)
+	(HappyAbsSyn56  happy_var_2)
+	(HappyAbsSyn258  happy_var_1)
+	 =  HappyAbsSyn76
+		 (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)
+	)
+happyReduction_172 _ _ _  = notHappyAtAll 
+
+happyReduce_173 = happySpecReduce_1  77 happyReduction_173
+happyReduction_173 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn49
+		 (happy_var_1
+	)
+happyReduction_173 _  = notHappyAtAll 
+
+happyReduce_174 = happySpecReduce_1  77 happyReduction_174
+happyReduction_174 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn49
+		 (happy_var_1
+	)
+happyReduction_174 _  = notHappyAtAll 
+
+happyReduce_175 = happyMonadReduce 3 78 happyReduction_175
+happyReduction_175 ((HappyAbsSyn81  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 DoubleColon)) `HappyStk`
+	(HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { v <- checkSigVar happy_var_1;
+                                                               return $ TypeSig (happy_var_1 <> happy_var_3 <** [happy_var_2]) [v] happy_var_3 })
+	) (\r -> happyReturn (HappyAbsSyn49 r))
+
+happyReduce_176 = happyMonadReduce 5 78 happyReduction_176
+happyReduction_176 ((HappyAbsSyn81  happy_var_5) `HappyStk`
+	(HappyTerminal (Loc happy_var_4 DoubleColon)) `HappyStk`
+	(HappyAbsSyn87  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 Comma)) `HappyStk`
+	(HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn49 r))
+
+happyReduce_177 = happyReduce 4 79 happyReduction_177
+happyReduction_177 ((HappyTerminal (Loc happy_var_4 PragmaEnd)) `HappyStk`
+	(HappyAbsSyn34  happy_var_3) `HappyStk`
+	(HappyAbsSyn93  happy_var_2) `HappyStk`
+	(HappyTerminal happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn49
+		 (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_178 = happyReduce 4 79 happyReduction_178
+happyReduction_178 ((HappyTerminal (Loc happy_var_4 PragmaEnd)) `HappyStk`
+	(HappyAbsSyn34  happy_var_3) `HappyStk`
+	(HappyAbsSyn93  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 INLINE_CONLIKE)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn49
+		 (InlineConlikeSig (happy_var_1 <^^> happy_var_4 <** [happy_var_1,happy_var_4]) happy_var_2 happy_var_3
+	) `HappyStk` happyRest
+
+happyReduce_179 = happyReduce 6 79 happyReduction_179
+happyReduction_179 ((HappyTerminal (Loc happy_var_6 PragmaEnd)) `HappyStk`
+	(HappyAbsSyn72  happy_var_5) `HappyStk`
+	(HappyTerminal (Loc happy_var_4 DoubleColon)) `HappyStk`
+	(HappyAbsSyn34  happy_var_3) `HappyStk`
+	(HappyAbsSyn93  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 SPECIALISE)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn49
+		 (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_180 = happyReduce 6 79 happyReduction_180
+happyReduction_180 ((HappyTerminal (Loc happy_var_6 PragmaEnd)) `HappyStk`
+	(HappyAbsSyn72  happy_var_5) `HappyStk`
+	(HappyTerminal (Loc happy_var_4 DoubleColon)) `HappyStk`
+	(HappyAbsSyn34  happy_var_3) `HappyStk`
+	(HappyAbsSyn93  happy_var_2) `HappyStk`
+	(HappyTerminal happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn49
+		 (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_181 = happyMonadReduce 4 79 happyReduction_181
+happyReduction_181 ((HappyTerminal (Loc happy_var_4 PragmaEnd)) `HappyStk`
+	(HappyAbsSyn103  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Instance)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 SPECIALISE)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn49 r))
+
+happyReduce_182 = happySpecReduce_3  79 happyReduction_182
+happyReduction_182 (HappyTerminal (Loc happy_var_3 PragmaEnd))
+	(HappyAbsSyn82  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 MINIMAL))
+	 =  HappyAbsSyn49
+		 (MinimalPragma (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)
+happyReduction_182 _ _ _  = notHappyAtAll 
+
+happyReduce_183 = happySpecReduce_1  80 happyReduction_183
+happyReduction_183 (HappyAbsSyn81  happy_var_1)
+	 =  HappyAbsSyn72
+		 (([happy_var_1],[])
+	)
+happyReduction_183 _  = notHappyAtAll 
+
+happyReduce_184 = happySpecReduce_3  80 happyReduction_184
+happyReduction_184 (HappyAbsSyn72  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn81  happy_var_1)
+	 =  HappyAbsSyn72
+		 ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)
+	)
+happyReduction_184 _ _ _  = notHappyAtAll 
+
+happyReduce_185 = happyMonadReduce 1 81 happyReduction_185
+happyReduction_185 ((HappyAbsSyn103  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkType $ mkTyForall (ann happy_var_1) Nothing Nothing happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn81 r))
+
+happyReduce_186 = happySpecReduce_1  82 happyReduction_186
+happyReduction_186 (HappyAbsSyn83  happy_var_1)
+	 =  HappyAbsSyn82
+		 (Just happy_var_1
+	)
+happyReduction_186 _  = notHappyAtAll 
+
+happyReduce_187 = happySpecReduce_0  82 happyReduction_187
+happyReduction_187  =  HappyAbsSyn82
+		 (Nothing
+	)
+
+happyReduce_188 = happySpecReduce_1  83 happyReduction_188
+happyReduction_188 (HappyAbsSyn83  happy_var_1)
+	 =  HappyAbsSyn83
+		 (happy_var_1
+	)
+happyReduction_188 _  = notHappyAtAll 
+
+happyReduce_189 = happySpecReduce_3  83 happyReduction_189
+happyReduction_189 (HappyAbsSyn83  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Bar))
+	(HappyAbsSyn83  happy_var_1)
+	 =  HappyAbsSyn83
+		 (OrFormula (ann happy_var_1 <++>  ann happy_var_3 <** [happy_var_2]) [happy_var_1,happy_var_3]
+	)
+happyReduction_189 _ _ _  = notHappyAtAll 
+
+happyReduce_190 = happySpecReduce_1  84 happyReduction_190
+happyReduction_190 (HappyAbsSyn83  happy_var_1)
+	 =  HappyAbsSyn83
+		 (happy_var_1
+	)
+happyReduction_190 _  = notHappyAtAll 
+
+happyReduce_191 = happySpecReduce_3  84 happyReduction_191
+happyReduction_191 (HappyAbsSyn83  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn83  happy_var_1)
+	 =  HappyAbsSyn83
+		 (AndFormula (ann happy_var_1 <++> ann happy_var_3 <** [happy_var_2]) [happy_var_1,happy_var_3]
+	)
+happyReduction_191 _ _ _  = notHappyAtAll 
+
+happyReduce_192 = happySpecReduce_3  85 happyReduction_192
+happyReduction_192 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn83  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn83
+		 (ParenFormula (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)
+happyReduction_192 _ _ _  = notHappyAtAll 
+
+happyReduce_193 = happySpecReduce_1  85 happyReduction_193
+happyReduction_193 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn83
+		 (VarFormula (ann happy_var_1) happy_var_1
+	)
+happyReduction_193 _  = notHappyAtAll 
+
+happyReduce_194 = happySpecReduce_1  86 happyReduction_194
+happyReduction_194 (HappyAbsSyn76  happy_var_1)
+	 =  HappyAbsSyn76
+		 (happy_var_1
+	)
+happyReduction_194 _  = notHappyAtAll 
+
+happyReduce_195 = happySpecReduce_3  86 happyReduction_195
+happyReduction_195 (HappyTerminal (Loc happy_var_3 RightCurly))
+	(HappyAbsSyn225  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftCurly))
+	 =  HappyAbsSyn76
+		 (IPBinds (happy_var_1 <^^> happy_var_3 <** snd happy_var_2) (fst happy_var_2)
+	)
+happyReduction_195 _ _ _  = notHappyAtAll 
+
+happyReduce_196 = happySpecReduce_3  86 happyReduction_196
+happyReduction_196 _
+	(HappyAbsSyn225  happy_var_2)
+	(HappyAbsSyn258  happy_var_1)
+	 =  HappyAbsSyn76
+		 (let l' =  ann . last $ fst happy_var_2
+                                         in IPBinds (nIS happy_var_1 <++> l' <** snd happy_var_2) (fst happy_var_2)
+	)
+happyReduction_196 _ _ _  = notHappyAtAll 
+
+happyReduce_197 = happySpecReduce_3  87 happyReduction_197
+happyReduction_197 (HappyAbsSyn100  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn87  happy_var_1)
+	 =  HappyAbsSyn87
+		 (let (ns,ss,l) = happy_var_1 in (happy_var_3 : ns, happy_var_2 : ss, l <++> ann happy_var_3)
+	)
+happyReduction_197 _ _ _  = notHappyAtAll 
+
+happyReduce_198 = happyMonadReduce 1 87 happyReduction_198
+happyReduction_198 ((HappyAbsSyn34  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { n <- checkUnQual happy_var_1;
+                                              return ([n],[],ann n) })
+	) (\r -> happyReturn (HappyAbsSyn87 r))
+
+happyReduce_199 = happySpecReduce_1  88 happyReduction_199
+happyReduction_199 (HappyTerminal (Loc happy_var_1 KW_StdCall))
+	 =  HappyAbsSyn88
+		 (StdCall    (nIS happy_var_1)
+	)
+happyReduction_199 _  = notHappyAtAll 
+
+happyReduce_200 = happySpecReduce_1  88 happyReduction_200
+happyReduction_200 (HappyTerminal (Loc happy_var_1 KW_CCall))
+	 =  HappyAbsSyn88
+		 (CCall      (nIS happy_var_1)
+	)
+happyReduction_200 _  = notHappyAtAll 
+
+happyReduce_201 = happySpecReduce_1  88 happyReduction_201
+happyReduction_201 (HappyTerminal (Loc happy_var_1 KW_CPlusPlus))
+	 =  HappyAbsSyn88
+		 (CPlusPlus  (nIS happy_var_1)
+	)
+happyReduction_201 _  = notHappyAtAll 
+
+happyReduce_202 = happySpecReduce_1  88 happyReduction_202
+happyReduction_202 (HappyTerminal (Loc happy_var_1 KW_DotNet))
+	 =  HappyAbsSyn88
+		 (DotNet     (nIS happy_var_1)
+	)
+happyReduction_202 _  = notHappyAtAll 
+
+happyReduce_203 = happySpecReduce_1  88 happyReduction_203
+happyReduction_203 (HappyTerminal (Loc happy_var_1 KW_Jvm))
+	 =  HappyAbsSyn88
+		 (Jvm        (nIS happy_var_1)
+	)
+happyReduction_203 _  = notHappyAtAll 
+
+happyReduce_204 = happySpecReduce_1  88 happyReduction_204
+happyReduction_204 (HappyTerminal (Loc happy_var_1 KW_Js))
+	 =  HappyAbsSyn88
+		 (Js         (nIS happy_var_1)
+	)
+happyReduction_204 _  = notHappyAtAll 
+
+happyReduce_205 = happySpecReduce_1  88 happyReduction_205
+happyReduction_205 (HappyTerminal (Loc happy_var_1 KW_JavaScript))
+	 =  HappyAbsSyn88
+		 (JavaScript (nIS happy_var_1)
+	)
+happyReduction_205 _  = notHappyAtAll 
+
+happyReduce_206 = happySpecReduce_1  88 happyReduction_206
+happyReduction_206 (HappyTerminal (Loc happy_var_1 KW_CApi))
+	 =  HappyAbsSyn88
+		 (CApi       (nIS happy_var_1)
+	)
+happyReduction_206 _  = notHappyAtAll 
+
+happyReduce_207 = happySpecReduce_1  89 happyReduction_207
+happyReduction_207 (HappyTerminal (Loc happy_var_1 KW_Safe))
+	 =  HappyAbsSyn89
+		 (Just $ PlaySafe  (nIS happy_var_1) False
+	)
+happyReduction_207 _  = notHappyAtAll 
+
+happyReduce_208 = happySpecReduce_1  89 happyReduction_208
+happyReduction_208 (HappyTerminal (Loc happy_var_1 KW_Unsafe))
+	 =  HappyAbsSyn89
+		 (Just $ PlayRisky (nIS happy_var_1)
+	)
+happyReduction_208 _  = notHappyAtAll 
+
+happyReduce_209 = happySpecReduce_1  89 happyReduction_209
+happyReduction_209 (HappyTerminal (Loc happy_var_1 KW_Threadsafe))
+	 =  HappyAbsSyn89
+		 (Just $ PlaySafe  (nIS happy_var_1) True
+	)
+happyReduction_209 _  = notHappyAtAll 
+
+happyReduce_210 = happySpecReduce_1  89 happyReduction_210
+happyReduction_210 (HappyTerminal (Loc happy_var_1 KW_Interruptible))
+	 =  HappyAbsSyn89
+		 (Just $ PlayInterruptible (nIS happy_var_1)
+	)
+happyReduction_210 _  = notHappyAtAll 
+
+happyReduce_211 = happySpecReduce_0  89 happyReduction_211
+happyReduction_211  =  HappyAbsSyn89
+		 (Nothing
+	)
+
+happyReduce_212 = happyReduce 4 90 happyReduction_212
+happyReduction_212 ((HappyAbsSyn81  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 DoubleColon)) `HappyStk`
+	(HappyAbsSyn100  happy_var_2) `HappyStk`
+	(HappyTerminal happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn90
+		 (let Loc l (StringTok (s,_)) = happy_var_1 in (Just s, happy_var_2, happy_var_4, [l,happy_var_3])
+	) `HappyStk` happyRest
+
+happyReduce_213 = happySpecReduce_3  90 happyReduction_213
+happyReduction_213 (HappyAbsSyn81  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 DoubleColon))
+	(HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn90
+		 ((Nothing, happy_var_1, happy_var_3, [happy_var_2])
+	)
+happyReduction_213 _ _ _  = notHappyAtAll 
+
+happyReduce_214 = happySpecReduce_3  91 happyReduction_214
+happyReduction_214 (HappyAbsSyn92  happy_var_3)
+	_
+	(HappyAbsSyn91  happy_var_1)
+	 =  HappyAbsSyn91
+		 (happy_var_3 : happy_var_1
+	)
+happyReduction_214 _ _ _  = notHappyAtAll 
+
+happyReduce_215 = happySpecReduce_2  91 happyReduction_215
+happyReduction_215 _
+	(HappyAbsSyn91  happy_var_1)
+	 =  HappyAbsSyn91
+		 (happy_var_1
+	)
+happyReduction_215 _ _  = notHappyAtAll 
+
+happyReduce_216 = happySpecReduce_1  91 happyReduction_216
+happyReduction_216 (HappyAbsSyn92  happy_var_1)
+	 =  HappyAbsSyn91
+		 ([happy_var_1]
+	)
+happyReduction_216 _  = notHappyAtAll 
+
+happyReduce_217 = happySpecReduce_0  91 happyReduction_217
+happyReduction_217  =  HappyAbsSyn91
+		 ([]
+	)
+
+happyReduce_218 = happyMonadReduce 6 92 happyReduction_218
+happyReduction_218 ((HappyAbsSyn168  happy_var_6) `HappyStk`
+	(HappyTerminal (Loc happy_var_5 Equals)) `HappyStk`
+	(HappyAbsSyn17  happy_var_4) `HappyStk`
+	(HappyAbsSyn94  happy_var_3) `HappyStk`
+	(HappyAbsSyn93  happy_var_2) `HappyStk`
+	(HappyTerminal happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn92 r))
+
+happyReduce_219 = happySpecReduce_0  93 happyReduction_219
+happyReduction_219  =  HappyAbsSyn93
+		 (Nothing
+	)
+
+happyReduce_220 = happySpecReduce_3  93 happyReduction_220
+happyReduction_220 (HappyTerminal (Loc happy_var_3 RightSquare))
+	(HappyTerminal happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftSquare))
+	 =  HappyAbsSyn93
+		 (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)
+	)
+happyReduction_220 _ _ _  = notHappyAtAll 
+
+happyReduce_221 = happyReduce 4 93 happyReduction_221
+happyReduction_221 ((HappyTerminal (Loc happy_var_4 RightSquare)) `HappyStk`
+	(HappyTerminal happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 Tilde)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftSquare)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn93
+		 (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_222 = happySpecReduce_0  94 happyReduction_222
+happyReduction_222  =  HappyAbsSyn94
+		 ((Nothing,[])
+	)
+
+happyReduce_223 = happySpecReduce_3  94 happyReduction_223
+happyReduction_223 (HappyTerminal (Loc happy_var_3 Dot))
+	(HappyAbsSyn95  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 KW_Forall))
+	 =  HappyAbsSyn94
+		 ((Just happy_var_2,[happy_var_1,happy_var_3])
+	)
+happyReduction_223 _ _ _  = notHappyAtAll 
+
+happyReduce_224 = happySpecReduce_1  95 happyReduction_224
+happyReduction_224 (HappyAbsSyn96  happy_var_1)
+	 =  HappyAbsSyn95
+		 ([happy_var_1]
+	)
+happyReduction_224 _  = notHappyAtAll 
+
+happyReduce_225 = happySpecReduce_2  95 happyReduction_225
+happyReduction_225 (HappyAbsSyn95  happy_var_2)
+	(HappyAbsSyn96  happy_var_1)
+	 =  HappyAbsSyn95
+		 (happy_var_1 : happy_var_2
+	)
+happyReduction_225 _ _  = notHappyAtAll 
+
+happyReduce_226 = happySpecReduce_1  96 happyReduction_226
+happyReduction_226 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn96
+		 (RuleVar (ann happy_var_1) happy_var_1
+	)
+happyReduction_226 _  = notHappyAtAll 
+
+happyReduce_227 = happyReduce 5 96 happyReduction_227
+happyReduction_227 ((HappyTerminal (Loc happy_var_5 RightParen)) `HappyStk`
+	(HappyAbsSyn81  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 DoubleColon)) `HappyStk`
+	(HappyAbsSyn100  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftParen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn96
+		 (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_228 = happySpecReduce_3  97 happyReduction_228
+happyReduction_228 (HappyAbsSyn98  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 SemiColon))
+	(HappyAbsSyn97  happy_var_1)
+	 =  HappyAbsSyn97
+		 ((fst happy_var_3 : fst happy_var_1, snd happy_var_1 ++ (happy_var_2:snd happy_var_3))
+	)
+happyReduction_228 _ _ _  = notHappyAtAll 
+
+happyReduce_229 = happySpecReduce_2  97 happyReduction_229
+happyReduction_229 (HappyTerminal (Loc happy_var_2 SemiColon))
+	(HappyAbsSyn97  happy_var_1)
+	 =  HappyAbsSyn97
+		 ((fst happy_var_1, snd happy_var_1 ++ [happy_var_2])
+	)
+happyReduction_229 _ _  = notHappyAtAll 
+
+happyReduce_230 = happySpecReduce_1  97 happyReduction_230
+happyReduction_230 (HappyAbsSyn98  happy_var_1)
+	 =  HappyAbsSyn97
+		 (([fst happy_var_1],snd happy_var_1)
+	)
+happyReduction_230 _  = notHappyAtAll 
+
+happyReduce_231 = happySpecReduce_0  97 happyReduction_231
+happyReduction_231  =  HappyAbsSyn97
+		 (([],[])
+	)
+
+happyReduce_232 = happySpecReduce_2  98 happyReduction_232
+happyReduction_232 (HappyTerminal happy_var_2)
+	(HappyAbsSyn21  happy_var_1)
+	 =  HappyAbsSyn98
+		 (let Loc l (StringTok (s,_)) = happy_var_2 in ((fst happy_var_1,s),snd happy_var_1 ++ [l])
+	)
+happyReduction_232 _ _  = notHappyAtAll 
+
+happyReduce_233 = happySpecReduce_1  99 happyReduction_233
+happyReduction_233 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn21
+		 (([happy_var_1],[])
+	)
+happyReduction_233 _  = notHappyAtAll 
+
+happyReduce_234 = happySpecReduce_3  99 happyReduction_234
+happyReduction_234 (HappyAbsSyn21  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn21
+		 ((happy_var_1 : fst happy_var_3, happy_var_2 : snd happy_var_3)
+	)
+happyReduction_234 _ _ _  = notHappyAtAll 
+
+happyReduce_235 = happySpecReduce_1  100 happyReduction_235
+happyReduction_235 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn100
+		 (happy_var_1
+	)
+happyReduction_235 _  = notHappyAtAll 
+
+happyReduce_236 = happySpecReduce_1  100 happyReduction_236
+happyReduction_236 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn100
+		 (happy_var_1
+	)
+happyReduction_236 _  = notHappyAtAll 
+
+happyReduce_237 = happyMonadReduce 3 101 happyReduction_237
+happyReduction_237 ((HappyAbsSyn17  happy_var_3) `HappyStk`
+	(HappyAbsSyn100  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Type)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkExpr happy_var_3 >>= \e -> return (TypeAnn   (nIS happy_var_1 <++> ann e <** [happy_var_1]) happy_var_2 e))
+	) (\r -> happyReturn (HappyAbsSyn101 r))
+
+happyReduce_238 = happyMonadReduce 2 101 happyReduction_238
+happyReduction_238 ((HappyAbsSyn17  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Module)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkExpr happy_var_2 >>= \e -> return (ModuleAnn (nIS happy_var_1 <++> ann e <** [happy_var_1])    e))
+	) (\r -> happyReturn (HappyAbsSyn101 r))
+
+happyReduce_239 = happyMonadReduce 2 101 happyReduction_239
+happyReduction_239 ((HappyAbsSyn17  happy_var_2) `HappyStk`
+	(HappyAbsSyn100  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkExpr happy_var_2 >>= \e -> return (Ann (happy_var_1 <> e) happy_var_1 e))
+	) (\r -> happyReturn (HappyAbsSyn101 r))
+
+happyReduce_240 = happyMonadReduce 1 102 happyReduction_240
+happyReduction_240 ((HappyAbsSyn103  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkType happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn81 r))
+
+happyReduce_241 = happySpecReduce_1  103 happyReduction_241
+happyReduction_241 (HappyAbsSyn103  happy_var_1)
+	 =  HappyAbsSyn103
+		 (splitTilde happy_var_1
+	)
+happyReduction_241 _  = notHappyAtAll 
+
+happyReduce_242 = happySpecReduce_3  103 happyReduction_242
+happyReduction_242 (HappyAbsSyn103  happy_var_3)
+	(HappyAbsSyn34  happy_var_2)
+	(HappyAbsSyn103  happy_var_1)
+	 =  HappyAbsSyn103
+		 (TyInfix (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
+	)
+happyReduction_242 _ _ _  = notHappyAtAll 
+
+happyReduce_243 = happySpecReduce_3  103 happyReduction_243
+happyReduction_243 (HappyAbsSyn103  happy_var_3)
+	(HappyAbsSyn34  happy_var_2)
+	(HappyAbsSyn103  happy_var_1)
+	 =  HappyAbsSyn103
+		 (TyInfix (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
+	)
+happyReduction_243 _ _ _  = notHappyAtAll 
+
+happyReduce_244 = happySpecReduce_3  103 happyReduction_244
+happyReduction_244 (HappyAbsSyn103  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 RightArrow))
+	(HappyAbsSyn103  happy_var_1)
+	 =  HappyAbsSyn103
+		 (TyFun (happy_var_1 <> happy_var_3 <** [happy_var_2]) (splitTilde happy_var_1) happy_var_3
+	)
+happyReduction_244 _ _ _  = notHappyAtAll 
+
+happyReduce_245 = happyMonadReduce 1 104 happyReduction_245
+happyReduction_245 ((HappyAbsSyn103  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkType happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn81 r))
+
+happyReduce_246 = happySpecReduce_3  105 happyReduction_246
+happyReduction_246 (HappyAbsSyn103  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 DoubleColon))
+	(HappyAbsSyn232  happy_var_1)
+	 =  HappyAbsSyn103
+		 (let l = (happy_var_1 <> happy_var_3 <** [happy_var_2]) in TyPred l $ IParam l happy_var_1 happy_var_3
+	)
+happyReduction_246 _ _ _  = notHappyAtAll 
+
+happyReduce_247 = happySpecReduce_1  105 happyReduction_247
+happyReduction_247 (HappyAbsSyn103  happy_var_1)
+	 =  HappyAbsSyn103
+		 (happy_var_1
+	)
+happyReduction_247 _  = notHappyAtAll 
+
+happyReduce_248 = happyMonadReduce 1 106 happyReduction_248
+happyReduction_248 ((HappyAbsSyn103  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkType (splitTilde happy_var_1))
+	) (\r -> happyReturn (HappyAbsSyn81 r))
+
+happyReduce_249 = happyMonadReduce 1 107 happyReduction_249
+happyReduction_249 ((HappyAbsSyn103  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkType happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn81 r))
+
+happyReduce_250 = happySpecReduce_2  108 happyReduction_250
+happyReduction_250 (HappyAbsSyn103  happy_var_2)
+	(HappyAbsSyn103  happy_var_1)
+	 =  HappyAbsSyn103
+		 (TyApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2
+	)
+happyReduction_250 _ _  = notHappyAtAll 
+
+happyReduce_251 = happySpecReduce_1  108 happyReduction_251
+happyReduction_251 (HappyAbsSyn103  happy_var_1)
+	 =  HappyAbsSyn103
+		 (happy_var_1
+	)
+happyReduction_251 _  = notHappyAtAll 
+
+happyReduce_252 = happySpecReduce_1  109 happyReduction_252
+happyReduction_252 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn103
+		 (TyCon   (ann happy_var_1) happy_var_1
+	)
+happyReduction_252 _  = notHappyAtAll 
+
+happyReduce_253 = happyMonadReduce 1 109 happyReduction_253
+happyReduction_253 ((HappyAbsSyn100  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkTyVar happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn103 r))
+
+happyReduce_254 = happySpecReduce_2  109 happyReduction_254
+happyReduction_254 (HappyAbsSyn103  happy_var_2)
+	(HappyAbsSyn111  happy_var_1)
+	 =  HappyAbsSyn103
+		 (let (mstrict, mupack) = happy_var_1
+                                        in bangType mstrict mupack happy_var_2
+	)
+happyReduction_254 _ _  = notHappyAtAll 
+
+happyReduce_255 = happySpecReduce_3  109 happyReduction_255
+happyReduction_255 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn120  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn103
+		 (TyTuple (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (happy_var_3:snd happy_var_2))) Boxed   (reverse (fst happy_var_2))
+	)
+happyReduction_255 _ _ _  = notHappyAtAll 
+
+happyReduce_256 = happySpecReduce_3  109 happyReduction_256
+happyReduction_256 (HappyTerminal (Loc happy_var_3 RightHashParen))
+	(HappyAbsSyn120  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftHashParen))
+	 =  HappyAbsSyn103
+		 (TyTuple (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (happy_var_3:snd happy_var_2))) Unboxed (reverse (fst happy_var_2))
+	)
+happyReduction_256 _ _ _  = notHappyAtAll 
+
+happyReduce_257 = happySpecReduce_3  109 happyReduction_257
+happyReduction_257 (HappyTerminal (Loc happy_var_3 RightSquare))
+	(HappyAbsSyn103  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftSquare))
+	 =  HappyAbsSyn103
+		 (TyList  (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)
+happyReduction_257 _ _ _  = notHappyAtAll 
+
+happyReduce_258 = happySpecReduce_3  109 happyReduction_258
+happyReduction_258 (HappyTerminal (Loc happy_var_3 ParArrayRightSquare))
+	(HappyAbsSyn103  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 ParArrayLeftSquare))
+	 =  HappyAbsSyn103
+		 (TyParArray  (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)
+happyReduction_258 _ _ _  = notHappyAtAll 
+
+happyReduce_259 = happySpecReduce_3  109 happyReduction_259
+happyReduction_259 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn103  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn103
+		 (TyParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)
+happyReduction_259 _ _ _  = notHappyAtAll 
+
+happyReduce_260 = happyReduce 5 109 happyReduction_260
+happyReduction_260 ((HappyTerminal (Loc happy_var_5 RightParen)) `HappyStk`
+	(HappyAbsSyn144  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 DoubleColon)) `HappyStk`
+	(HappyAbsSyn103  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftParen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn103
+		 (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_261 = happySpecReduce_3  109 happyReduction_261
+happyReduction_261 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn168  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 THParenEscape))
+	 =  HappyAbsSyn103
+		 (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in TySplice l $ ParenSplice l happy_var_2
+	)
+happyReduction_261 _ _ _  = notHappyAtAll 
+
+happyReduce_262 = happySpecReduce_1  109 happyReduction_262
+happyReduction_262 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn103
+		 (let Loc l (THIdEscape s) = happy_var_1 in TySplice (nIS l) $ IdSplice (nIS l) s
+	)
+happyReduction_262 _  = notHappyAtAll 
+
+happyReduce_263 = happySpecReduce_1  109 happyReduction_263
+happyReduction_263 (HappyTerminal (Loc happy_var_1 Underscore))
+	 =  HappyAbsSyn103
+		 (TyWildCard (nIS happy_var_1) Nothing
+	)
+happyReduction_263 _  = notHappyAtAll 
+
+happyReduce_264 = happySpecReduce_1  109 happyReduction_264
+happyReduction_264 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn103
+		 (let Loc l (THQuasiQuote (n,q)) = happy_var_1 in TyQuasiQuote (nIS l) n q
+	)
+happyReduction_264 _  = notHappyAtAll 
+
+happyReduce_265 = happyMonadReduce 1 109 happyReduction_265
+happyReduction_265 ((HappyAbsSyn110  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled DataKinds >> return (TyPromoted (ann happy_var_1) happy_var_1))
+	) (\r -> happyReturn (HappyAbsSyn103 r))
+
+happyReduce_266 = happyMonadReduce 4 110 happyReduction_266
+happyReduction_266 ((HappyTerminal (Loc happy_var_4 RightSquare)) `HappyStk`
+	(HappyAbsSyn120  happy_var_3) `HappyStk`
+	_ `HappyStk`
+	(HappyTerminal (Loc happy_var_1 THVarQuote)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn110 r))
+
+happyReduce_267 = happySpecReduce_3  110 happyReduction_267
+happyReduction_267 (HappyTerminal (Loc happy_var_3 RightSquare))
+	_
+	(HappyTerminal (Loc happy_var_1 THVarQuote))
+	 =  HappyAbsSyn110
+		 (PromotedList   (happy_var_1 <^^> happy_var_3 <** [happy_var_1, happy_var_3]) True  []
+	)
+happyReduction_267 _ _ _  = notHappyAtAll 
+
+happyReduce_268 = happyMonadReduce 3 110 happyReduction_268
+happyReduction_268 ((HappyTerminal (Loc happy_var_3 RightSquare)) `HappyStk`
+	(HappyAbsSyn120  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftSquare)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn110 r))
+
+happyReduce_269 = happyMonadReduce 4 110 happyReduction_269
+happyReduction_269 ((HappyTerminal (Loc happy_var_4 RightParen)) `HappyStk`
+	(HappyAbsSyn120  happy_var_3) `HappyStk`
+	_ `HappyStk`
+	(HappyTerminal (Loc happy_var_1 THVarQuote)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn110 r))
+
+happyReduce_270 = happySpecReduce_3  110 happyReduction_270
+happyReduction_270 (HappyTerminal (Loc happy_var_3 RightParen))
+	_
+	(HappyTerminal (Loc happy_var_1 THVarQuote))
+	 =  HappyAbsSyn110
+		 (PromotedUnit  (happy_var_1 <^^> happy_var_3 )
+	)
+happyReduction_270 _ _ _  = notHappyAtAll 
+
+happyReduce_271 = happySpecReduce_2  110 happyReduction_271
+happyReduction_271 (HappyAbsSyn34  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 THVarQuote))
+	 =  HappyAbsSyn110
+		 (PromotedCon ((noInfoSpan happy_var_1 <++> ann happy_var_2) <** [happy_var_1]) True  happy_var_2
+	)
+happyReduction_271 _ _  = notHappyAtAll 
+
+happyReduce_272 = happySpecReduce_2  110 happyReduction_272
+happyReduction_272 (HappyAbsSyn34  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 THVarQuote))
+	 =  HappyAbsSyn110
+		 (PromotedCon ((noInfoSpan happy_var_1 <++> ann happy_var_2) <** [happy_var_1]) True  happy_var_2
+	)
+happyReduction_272 _ _  = notHappyAtAll 
+
+happyReduce_273 = happySpecReduce_1  110 happyReduction_273
+happyReduction_273 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn110
+		 (let Loc l (IntTok  (i,raw)) = happy_var_1 in PromotedInteger (nIS l) i raw
+	)
+happyReduction_273 _  = notHappyAtAll 
+
+happyReduce_274 = happySpecReduce_1  110 happyReduction_274
+happyReduction_274 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn110
+		 (let Loc l (StringTok (s,raw)) = happy_var_1 in PromotedString (nIS l) s raw
+	)
+happyReduction_274 _  = notHappyAtAll 
+
+happyReduce_275 = happySpecReduce_1  111 happyReduction_275
+happyReduction_275 (HappyAbsSyn112  happy_var_1)
+	 =  HappyAbsSyn111
+		 ((Just happy_var_1, Nothing)
+	)
+happyReduction_275 _  = notHappyAtAll 
+
+happyReduce_276 = happySpecReduce_1  111 happyReduction_276
+happyReduction_276 (HappyAbsSyn113  happy_var_1)
+	 =  HappyAbsSyn111
+		 ((Nothing, Just happy_var_1)
+	)
+happyReduction_276 _  = notHappyAtAll 
+
+happyReduce_277 = happySpecReduce_2  111 happyReduction_277
+happyReduction_277 (HappyAbsSyn112  happy_var_2)
+	(HappyAbsSyn113  happy_var_1)
+	 =  HappyAbsSyn111
+		 ((Just happy_var_2, Just happy_var_1)
+	)
+happyReduction_277 _ _  = notHappyAtAll 
+
+happyReduce_278 = happySpecReduce_1  112 happyReduction_278
+happyReduction_278 (HappyTerminal (Loc happy_var_1 Exclamation))
+	 =  HappyAbsSyn112
+		 ((BangedTy, happy_var_1)
+	)
+happyReduction_278 _  = notHappyAtAll 
+
+happyReduce_279 = happySpecReduce_1  112 happyReduction_279
+happyReduction_279 (HappyTerminal (Loc happy_var_1 Tilde))
+	 =  HappyAbsSyn112
+		 ((LazyTy, happy_var_1)
+	)
+happyReduction_279 _  = notHappyAtAll 
+
+happyReduce_280 = happySpecReduce_2  113 happyReduction_280
+happyReduction_280 (HappyTerminal (Loc happy_var_2 PragmaEnd))
+	(HappyTerminal (Loc happy_var_1 UNPACK))
+	 =  HappyAbsSyn113
+		 ((Unpack ((nIS happy_var_1 <++> nIS happy_var_2) <** [happy_var_1,happy_var_2]))
+	)
+happyReduction_280 _ _  = notHappyAtAll 
+
+happyReduce_281 = happySpecReduce_2  113 happyReduction_281
+happyReduction_281 (HappyTerminal (Loc happy_var_2 PragmaEnd))
+	(HappyTerminal (Loc happy_var_1 NOUNPACK))
+	 =  HappyAbsSyn113
+		 ((NoUnpack ((nIS happy_var_1 <++> nIS happy_var_2) <** [happy_var_1,happy_var_2]))
+	)
+happyReduction_281 _ _  = notHappyAtAll 
+
+happyReduce_282 = happySpecReduce_1  114 happyReduction_282
+happyReduction_282 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_282 _  = notHappyAtAll 
+
+happyReduce_283 = happySpecReduce_2  114 happyReduction_283
+happyReduction_283 (HappyTerminal (Loc happy_var_2 RightParen))
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn34
+		 (unit_tycon_name              (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])
+	)
+happyReduction_283 _ _  = notHappyAtAll 
+
+happyReduce_284 = happySpecReduce_3  114 happyReduction_284
+happyReduction_284 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyTerminal (Loc happy_var_2 RightArrow))
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn34
+		 (fun_tycon_name               (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3])
+	)
+happyReduction_284 _ _ _  = notHappyAtAll 
+
+happyReduce_285 = happySpecReduce_2  114 happyReduction_285
+happyReduction_285 (HappyTerminal (Loc happy_var_2 RightSquare))
+	(HappyTerminal (Loc happy_var_1 LeftSquare))
+	 =  HappyAbsSyn34
+		 (list_tycon_name              (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])
+	)
+happyReduction_285 _ _  = notHappyAtAll 
+
+happyReduce_286 = happySpecReduce_3  114 happyReduction_286
+happyReduction_286 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn27  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn34
+		 (tuple_tycon_name             (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse happy_var_2 ++ [happy_var_3])) Boxed (length happy_var_2)
+	)
+happyReduction_286 _ _ _  = notHappyAtAll 
+
+happyReduce_287 = happySpecReduce_2  114 happyReduction_287
+happyReduction_287 (HappyTerminal (Loc happy_var_2 RightHashParen))
+	(HappyTerminal (Loc happy_var_1 LeftHashParen))
+	 =  HappyAbsSyn34
+		 (unboxed_singleton_tycon_name (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])
+	)
+happyReduction_287 _ _  = notHappyAtAll 
+
+happyReduce_288 = happySpecReduce_3  114 happyReduction_288
+happyReduction_288 (HappyTerminal (Loc happy_var_3 RightHashParen))
+	(HappyAbsSyn27  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftHashParen))
+	 =  HappyAbsSyn34
+		 (tuple_tycon_name             (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse happy_var_2 ++ [happy_var_3])) Unboxed (length happy_var_2)
+	)
+happyReduction_288 _ _ _  = notHappyAtAll 
+
+happyReduce_289 = happySpecReduce_1  115 happyReduction_289
+happyReduction_289 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_289 _  = notHappyAtAll 
+
+happyReduce_290 = happySpecReduce_3  115 happyReduction_290
+happyReduction_290 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn34  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn34
+		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)
+happyReduction_290 _ _ _  = notHappyAtAll 
+
+happyReduce_291 = happySpecReduce_3  115 happyReduction_291
+happyReduction_291 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn34  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn34
+		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)
+happyReduction_291 _ _ _  = notHappyAtAll 
+
+happyReduce_292 = happySpecReduce_1  116 happyReduction_292
+happyReduction_292 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_292 _  = notHappyAtAll 
+
+happyReduce_293 = happyMonadReduce 1 117 happyReduction_293
+happyReduction_293 ((HappyAbsSyn103  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkType happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn81 r))
+
+happyReduce_294 = happyReduce 4 118 happyReduction_294
+happyReduction_294 ((HappyAbsSyn103  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 Dot)) `HappyStk`
+	(HappyAbsSyn122  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Forall)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn103
+		 (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_295 = happySpecReduce_2  118 happyReduction_295
+happyReduction_295 (HappyAbsSyn103  happy_var_2)
+	(HappyAbsSyn119  happy_var_1)
+	 =  HappyAbsSyn103
+		 (mkTyForall (happy_var_1 <> happy_var_2) Nothing (Just happy_var_1) happy_var_2
+	)
+happyReduction_295 _ _  = notHappyAtAll 
+
+happyReduce_296 = happySpecReduce_1  118 happyReduction_296
+happyReduction_296 (HappyAbsSyn103  happy_var_1)
+	 =  HappyAbsSyn103
+		 (happy_var_1
+	)
+happyReduction_296 _  = notHappyAtAll 
+
+happyReduce_297 = happyMonadReduce 2 119 happyReduction_297
+happyReduction_297 ((HappyTerminal (Loc happy_var_2 DoubleArrow)) `HappyStk`
+	(HappyAbsSyn103  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkPContext $ (amap (\l -> l <++> nIS happy_var_2 <** (srcInfoPoints l ++ [happy_var_2]))) (splitTilde happy_var_1))
+	) (\r -> happyReturn (HappyAbsSyn119 r))
+
+happyReduce_298 = happySpecReduce_3  120 happyReduction_298
+happyReduction_298 (HappyAbsSyn103  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn120  happy_var_1)
+	 =  HappyAbsSyn120
+		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
+	)
+happyReduction_298 _ _ _  = notHappyAtAll 
+
+happyReduce_299 = happySpecReduce_1  121 happyReduction_299
+happyReduction_299 (HappyAbsSyn103  happy_var_1)
+	 =  HappyAbsSyn120
+		 (([happy_var_1],[])
+	)
+happyReduction_299 _  = notHappyAtAll 
+
+happyReduce_300 = happySpecReduce_3  121 happyReduction_300
+happyReduction_300 (HappyAbsSyn103  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn120  happy_var_1)
+	 =  HappyAbsSyn120
+		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
+	)
+happyReduction_300 _ _ _  = notHappyAtAll 
+
+happyReduce_301 = happySpecReduce_2  122 happyReduction_301
+happyReduction_301 (HappyAbsSyn123  happy_var_2)
+	(HappyAbsSyn122  happy_var_1)
+	 =  HappyAbsSyn122
+		 ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))
+	)
+happyReduction_301 _ _  = notHappyAtAll 
+
+happyReduce_302 = happySpecReduce_0  122 happyReduction_302
+happyReduction_302  =  HappyAbsSyn122
+		 (([],Nothing)
+	)
+
+happyReduce_303 = happySpecReduce_1  123 happyReduction_303
+happyReduction_303 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn123
+		 (UnkindedVar (ann happy_var_1) happy_var_1
+	)
+happyReduction_303 _  = notHappyAtAll 
+
+happyReduce_304 = happyReduce 5 123 happyReduction_304
+happyReduction_304 ((HappyTerminal (Loc happy_var_5 RightParen)) `HappyStk`
+	(HappyAbsSyn144  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 DoubleColon)) `HappyStk`
+	(HappyAbsSyn100  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftParen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn123
+		 (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_305 = happySpecReduce_2  124 happyReduction_305
+happyReduction_305 (HappyAbsSyn100  happy_var_2)
+	(HappyAbsSyn124  happy_var_1)
+	 =  HappyAbsSyn124
+		 ((happy_var_2 : fst happy_var_1, Just (snd happy_var_1 <?+> ann happy_var_2))
+	)
+happyReduction_305 _ _  = notHappyAtAll 
+
+happyReduce_306 = happySpecReduce_0  124 happyReduction_306
+happyReduction_306  =  HappyAbsSyn124
+		 (([], Nothing)
+	)
+
+happyReduce_307 = happySpecReduce_2  125 happyReduction_307
+happyReduction_307 (HappyAbsSyn100  happy_var_2)
+	(HappyAbsSyn124  happy_var_1)
+	 =  HappyAbsSyn125
+		 ((happy_var_2 : fst happy_var_1, snd happy_var_1 <?+> ann happy_var_2)
+	)
+happyReduction_307 _ _  = notHappyAtAll 
+
+happyReduce_308 = happySpecReduce_0  126 happyReduction_308
+happyReduction_308  =  HappyAbsSyn126
+		 (([],[], Nothing)
+	)
+
+happyReduce_309 = happyMonadReduce 2 126 happyReduction_309
+happyReduction_309 ((HappyAbsSyn127  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 Bar)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn126 r))
+
+happyReduce_310 = happySpecReduce_3  127 happyReduction_310
+happyReduction_310 (HappyAbsSyn128  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn127  happy_var_1)
+	 =  HappyAbsSyn127
+		 (let (fds,ss,l) = happy_var_1 in (happy_var_3 : fds, happy_var_2 : ss, l <++> ann happy_var_3)
+	)
+happyReduction_310 _ _ _  = notHappyAtAll 
+
+happyReduce_311 = happySpecReduce_1  127 happyReduction_311
+happyReduction_311 (HappyAbsSyn128  happy_var_1)
+	 =  HappyAbsSyn127
+		 (([happy_var_1],[],ann happy_var_1)
+	)
+happyReduction_311 _  = notHappyAtAll 
+
+happyReduce_312 = happySpecReduce_3  128 happyReduction_312
+happyReduction_312 (HappyAbsSyn125  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 RightArrow))
+	(HappyAbsSyn124  happy_var_1)
+	 =  HappyAbsSyn128
+		 (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))
+	)
+happyReduction_312 _ _ _  = notHappyAtAll 
+
+happyReduce_313 = happyMonadReduce 4 129 happyReduction_313
+happyReduction_313 ((HappyTerminal (Loc happy_var_4 RightCurly)) `HappyStk`
+	(HappyAbsSyn130  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftCurly)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Where)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn129 r))
+
+happyReduce_314 = happyMonadReduce 4 129 happyReduction_314
+happyReduction_314 ((HappyAbsSyn258  happy_var_4) `HappyStk`
+	(HappyAbsSyn130  happy_var_3) `HappyStk`
+	(HappyAbsSyn258  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Where)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn129 r))
+
+happyReduce_315 = happyMonadReduce 0 129 happyReduction_315
+happyReduction_315 (happyRest) tk
+	 = happyThen (( checkEnabled EmptyDataDecls >> return ([],[],Nothing))
+	) (\r -> happyReturn (HappyAbsSyn129 r))
+
+happyReduce_316 = happySpecReduce_3  130 happyReduction_316
+happyReduction_316 (HappyAbsSyn27  happy_var_3)
+	(HappyAbsSyn130  happy_var_2)
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn130
+		 ((fst happy_var_2, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)
+	)
+happyReduction_316 _ _ _  = notHappyAtAll 
+
+happyReduce_317 = happySpecReduce_3  131 happyReduction_317
+happyReduction_317 (HappyAbsSyn132  happy_var_3)
+	(HappyAbsSyn27  happy_var_2)
+	(HappyAbsSyn130  happy_var_1)
+	 =  HappyAbsSyn130
+		 ((happy_var_3 ++ fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
+	)
+happyReduction_317 _ _ _  = notHappyAtAll 
+
+happyReduce_318 = happySpecReduce_1  131 happyReduction_318
+happyReduction_318 (HappyAbsSyn132  happy_var_1)
+	 =  HappyAbsSyn130
+		 ((happy_var_1,[])
+	)
+happyReduction_318 _  = notHappyAtAll 
+
+happyReduce_319 = happyMonadReduce 3 132 happyReduction_319
+happyReduction_319 ((HappyAbsSyn81  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 DoubleColon)) `HappyStk`
+	(HappyAbsSyn34  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { c <- checkUnQual happy_var_1;
+                                               return [GadtDecl (happy_var_1 <> happy_var_3 <** [happy_var_2]) c Nothing happy_var_3] })
+	) (\r -> happyReturn (HappyAbsSyn132 r))
+
+happyReduce_320 = happyMonadReduce 7 132 happyReduction_320
+happyReduction_320 ((HappyAbsSyn81  happy_var_7) `HappyStk`
+	(HappyTerminal (Loc happy_var_6 RightArrow)) `HappyStk`
+	(HappyTerminal (Loc happy_var_5 RightCurly)) `HappyStk`
+	(HappyAbsSyn139  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 LeftCurly)) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 DoubleColon)) `HappyStk`
+	(HappyAbsSyn34  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn132 r))
+
+happyReduce_321 = happySpecReduce_2  133 happyReduction_321
+happyReduction_321 (HappyAbsSyn134  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 Equals))
+	 =  HappyAbsSyn133
+		 (let (ds,ss,l) = happy_var_2 in (ds, happy_var_1 : reverse ss, Just $ nIS happy_var_1 <++> l)
+	)
+happyReduction_321 _ _  = notHappyAtAll 
+
+happyReduce_322 = happySpecReduce_3  134 happyReduction_322
+happyReduction_322 (HappyAbsSyn135  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Bar))
+	(HappyAbsSyn134  happy_var_1)
+	 =  HappyAbsSyn134
+		 (let (ds,ss,l) = happy_var_1 in (happy_var_3 : ds, happy_var_2 : ss, l <++> ann happy_var_3)
+	)
+happyReduction_322 _ _ _  = notHappyAtAll 
+
+happyReduce_323 = happySpecReduce_1  134 happyReduction_323
+happyReduction_323 (HappyAbsSyn135  happy_var_1)
+	 =  HappyAbsSyn134
+		 (([happy_var_1],[],ann happy_var_1)
+	)
+happyReduction_323 _  = notHappyAtAll 
+
+happyReduce_324 = happyMonadReduce 3 135 happyReduction_324
+happyReduction_324 ((HappyAbsSyn137  happy_var_3) `HappyStk`
+	(HappyAbsSyn119  happy_var_2) `HappyStk`
+	(HappyAbsSyn136  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn135 r))
+
+happyReduce_325 = happySpecReduce_2  135 happyReduction_325
+happyReduction_325 (HappyAbsSyn137  happy_var_2)
+	(HappyAbsSyn136  happy_var_1)
+	 =  HappyAbsSyn135
+		 (let (mtvs, ss, ml) = happy_var_1 in QualConDecl (ml <?+> ann happy_var_2 <** ss) mtvs Nothing happy_var_2
+	)
+happyReduction_325 _ _  = notHappyAtAll 
+
+happyReduce_326 = happyMonadReduce 3 136 happyReduction_326
+happyReduction_326 ((HappyTerminal (Loc happy_var_3 Dot)) `HappyStk`
+	(HappyAbsSyn122  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Forall)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled ExistentialQuantification >> return (Just (fst happy_var_2), [happy_var_1,happy_var_3], Just $ happy_var_1 <^^> happy_var_3))
+	) (\r -> happyReturn (HappyAbsSyn136 r))
+
+happyReduce_327 = happySpecReduce_0  136 happyReduction_327
+happyReduction_327  =  HappyAbsSyn136
+		 ((Nothing, [], Nothing)
+	)
+
+happyReduce_328 = happySpecReduce_1  137 happyReduction_328
+happyReduction_328 (HappyAbsSyn138  happy_var_1)
+	 =  HappyAbsSyn137
+		 (let (n,ts,l) = happy_var_1 in ConDecl l n ts
+	)
+happyReduction_328 _  = notHappyAtAll 
+
+happyReduce_329 = happySpecReduce_3  137 happyReduction_329
+happyReduction_329 (HappyAbsSyn81  happy_var_3)
+	(HappyAbsSyn100  happy_var_2)
+	(HappyAbsSyn81  happy_var_1)
+	 =  HappyAbsSyn137
+		 (InfixConDecl (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
+	)
+happyReduction_329 _ _ _  = notHappyAtAll 
+
+happyReduce_330 = happyMonadReduce 3 137 happyReduction_330
+happyReduction_330 ((HappyTerminal (Loc happy_var_3 RightCurly)) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftCurly)) `HappyStk`
+	(HappyAbsSyn34  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn137 r))
+
+happyReduce_331 = happyMonadReduce 4 137 happyReduction_331
+happyReduction_331 ((HappyTerminal (Loc happy_var_4 RightCurly)) `HappyStk`
+	(HappyAbsSyn139  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftCurly)) `HappyStk`
+	(HappyAbsSyn34  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn137 r))
+
+happyReduce_332 = happyMonadReduce 1 138 happyReduction_332
+happyReduction_332 ((HappyAbsSyn103  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { (c,ts) <- splitTyConApp happy_var_1;
+                                              return (c, ts, ann happy_var_1) })
+	) (\r -> happyReturn (HappyAbsSyn138 r))
+
+happyReduce_333 = happySpecReduce_3  139 happyReduction_333
+happyReduction_333 (HappyAbsSyn140  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn139  happy_var_1)
+	 =  HappyAbsSyn139
+		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
+	)
+happyReduction_333 _ _ _  = notHappyAtAll 
+
+happyReduce_334 = happySpecReduce_1  139 happyReduction_334
+happyReduction_334 (HappyAbsSyn140  happy_var_1)
+	 =  HappyAbsSyn139
+		 (([happy_var_1],[])
+	)
+happyReduction_334 _  = notHappyAtAll 
+
+happyReduce_335 = happySpecReduce_3  140 happyReduction_335
+happyReduction_335 (HappyAbsSyn81  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 DoubleColon))
+	(HappyAbsSyn87  happy_var_1)
+	 =  HappyAbsSyn140
+		 (let (ns,ss,l) = happy_var_1 in FieldDecl (l <++> ann happy_var_3 <** (reverse ss ++ [happy_var_2])) (reverse ns) happy_var_3
+	)
+happyReduction_335 _ _ _  = notHappyAtAll 
+
+happyReduce_336 = happySpecReduce_0  141 happyReduction_336
+happyReduction_336  =  HappyAbsSyn141
+		 (Nothing
+	)
+
+happyReduce_337 = happySpecReduce_2  141 happyReduction_337
+happyReduction_337 (HappyAbsSyn143  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 KW_Deriving))
+	 =  HappyAbsSyn141
+		 (let l = nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1] in Just $ Deriving l [IRule (ann happy_var_2) Nothing Nothing happy_var_2]
+	)
+happyReduction_337 _ _  = notHappyAtAll 
+
+happyReduce_338 = happySpecReduce_3  141 happyReduction_338
+happyReduction_338 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyTerminal (Loc happy_var_2 LeftParen))
+	(HappyTerminal (Loc happy_var_1 KW_Deriving))
+	 =  HappyAbsSyn141
+		 (Just $ Deriving (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_2,happy_var_3]) []
+	)
+happyReduction_338 _ _ _  = notHappyAtAll 
+
+happyReduce_339 = happyReduce 4 141 happyReduction_339
+happyReduction_339 ((HappyTerminal (Loc happy_var_4 RightParen)) `HappyStk`
+	(HappyAbsSyn142  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftParen)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Deriving)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn141
+		 (-- Distinguish deriving (Show) from deriving Show (#189)
+                                        case fst happy_var_3 of
+                                          [ts] -> Just $ Deriving (happy_var_1 <^^> happy_var_4 <** [happy_var_1]) [IParen (happy_var_2 <^^> happy_var_4 <** [happy_var_2,happy_var_4]) ts]
+                                          tss  -> Just $ Deriving (happy_var_1 <^^> happy_var_4 <** happy_var_1:happy_var_2: reverse (snd happy_var_3) ++ [happy_var_4]) (reverse tss)
+	) `HappyStk` happyRest
+
+happyReduce_340 = happyMonadReduce 1 142 happyReduction_340
+happyReduction_340 ((HappyAbsSyn120  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkDeriving (fst happy_var_1) >>= \ds -> return (ds, snd happy_var_1))
+	) (\r -> happyReturn (HappyAbsSyn142 r))
+
+happyReduce_341 = happySpecReduce_1  143 happyReduction_341
+happyReduction_341 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn143
+		 (IHCon (ann happy_var_1) happy_var_1
+	)
+happyReduction_341 _  = notHappyAtAll 
+
+happyReduce_342 = happyMonadReduce 1 144 happyReduction_342
+happyReduction_342 ((HappyAbsSyn144  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled KindSignatures >> return happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn144 r))
+
+happyReduce_343 = happySpecReduce_1  145 happyReduction_343
+happyReduction_343 (HappyAbsSyn144  happy_var_1)
+	 =  HappyAbsSyn144
+		 (happy_var_1
+	)
+happyReduction_343 _  = notHappyAtAll 
+
+happyReduce_344 = happySpecReduce_3  145 happyReduction_344
+happyReduction_344 (HappyAbsSyn144  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 RightArrow))
+	(HappyAbsSyn144  happy_var_1)
+	 =  HappyAbsSyn144
+		 (KindFn (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_344 _ _ _  = notHappyAtAll 
+
+happyReduce_345 = happySpecReduce_1  146 happyReduction_345
+happyReduction_345 (HappyAbsSyn144  happy_var_1)
+	 =  HappyAbsSyn144
+		 (happy_var_1
+	)
+happyReduction_345 _  = notHappyAtAll 
+
+happyReduce_346 = happySpecReduce_2  146 happyReduction_346
+happyReduction_346 (HappyAbsSyn144  happy_var_2)
+	(HappyAbsSyn144  happy_var_1)
+	 =  HappyAbsSyn144
+		 (KindApp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2
+	)
+happyReduction_346 _ _  = notHappyAtAll 
+
+happyReduce_347 = happySpecReduce_1  147 happyReduction_347
+happyReduction_347 (HappyTerminal (Loc happy_var_1 Star))
+	 =  HappyAbsSyn144
+		 (KindStar  (nIS happy_var_1)
+	)
+happyReduction_347 _  = notHappyAtAll 
+
+happyReduce_348 = happySpecReduce_3  147 happyReduction_348
+happyReduction_348 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn144  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn144
+		 (KindParen (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)
+happyReduction_348 _ _ _  = notHappyAtAll 
+
+happyReduce_349 = happyMonadReduce 1 147 happyReduction_349
+happyReduction_349 ((HappyAbsSyn144  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkKind happy_var_1 >> return happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn144 r))
+
+happyReduce_350 = happyMonadReduce 1 147 happyReduction_350
+happyReduction_350 ((HappyAbsSyn34  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled PolyKinds >> return (KindVar (ann happy_var_1) happy_var_1))
+	) (\r -> happyReturn (HappyAbsSyn144 r))
+
+happyReduce_351 = happySpecReduce_1  148 happyReduction_351
+happyReduction_351 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn144
+		 (KindVar (ann happy_var_1) happy_var_1
+	)
+happyReduction_351 _  = notHappyAtAll 
+
+happyReduce_352 = happySpecReduce_2  148 happyReduction_352
+happyReduction_352 (HappyTerminal (Loc happy_var_2 RightParen))
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn144
+		 (let l = happy_var_1 <^^> happy_var_2 in KindVar l (unit_tycon_name l)
+	)
+happyReduction_352 _ _  = notHappyAtAll 
+
+happyReduce_353 = happyReduce 5 148 happyReduction_353
+happyReduction_353 ((HappyTerminal (Loc happy_var_5 RightParen)) `HappyStk`
+	(HappyAbsSyn149  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 Comma)) `HappyStk`
+	(HappyAbsSyn144  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftParen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn144
+		 (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_354 = happySpecReduce_3  148 happyReduction_354
+happyReduction_354 (HappyTerminal (Loc happy_var_3 RightSquare))
+	(HappyAbsSyn144  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftSquare))
+	 =  HappyAbsSyn144
+		 (KindList  ((happy_var_1 <^^> happy_var_3) <** [happy_var_1, happy_var_3]) happy_var_2
+	)
+happyReduction_354 _ _ _  = notHappyAtAll 
+
+happyReduce_355 = happySpecReduce_1  149 happyReduction_355
+happyReduction_355 (HappyAbsSyn144  happy_var_1)
+	 =  HappyAbsSyn149
+		 (([happy_var_1], [])
+	)
+happyReduction_355 _  = notHappyAtAll 
+
+happyReduce_356 = happySpecReduce_3  149 happyReduction_356
+happyReduction_356 (HappyAbsSyn149  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn144  happy_var_1)
+	 =  HappyAbsSyn149
+		 ((happy_var_1 : (fst happy_var_3), happy_var_2 : (snd happy_var_3))
+	)
+happyReduction_356 _ _ _  = notHappyAtAll 
+
+happyReduce_357 = happySpecReduce_0  150 happyReduction_357
+happyReduction_357  =  HappyAbsSyn150
+		 ((Nothing,[])
+	)
+
+happyReduce_358 = happySpecReduce_2  150 happyReduction_358
+happyReduction_358 (HappyAbsSyn144  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 DoubleColon))
+	 =  HappyAbsSyn150
+		 ((Just happy_var_2,[happy_var_1])
+	)
+happyReduction_358 _ _  = notHappyAtAll 
+
+happyReduce_359 = happyMonadReduce 4 151 happyReduction_359
+happyReduction_359 ((HappyTerminal (Loc happy_var_4 RightCurly)) `HappyStk`
+	(HappyAbsSyn152  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftCurly)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Where)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn151 r))
+
+happyReduce_360 = happyMonadReduce 4 151 happyReduction_360
+happyReduction_360 ((HappyAbsSyn258  happy_var_4) `HappyStk`
+	(HappyAbsSyn152  happy_var_3) `HappyStk`
+	(HappyAbsSyn258  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Where)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn151 r))
+
+happyReduce_361 = happySpecReduce_0  151 happyReduction_361
+happyReduction_361  =  HappyAbsSyn151
+		 ((Nothing,[],Nothing)
+	)
+
+happyReduce_362 = happyMonadReduce 3 152 happyReduction_362
+happyReduction_362 ((HappyAbsSyn27  happy_var_3) `HappyStk`
+	(HappyAbsSyn152  happy_var_2) `HappyStk`
+	(HappyAbsSyn27  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkRevClsDecls (fst happy_var_2) >>= \cs -> return (cs, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))
+	) (\r -> happyReturn (HappyAbsSyn152 r))
+
+happyReduce_363 = happySpecReduce_1  152 happyReduction_363
+happyReduction_363 (HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn152
+		 (([],reverse happy_var_1)
+	)
+happyReduction_363 _  = notHappyAtAll 
+
+happyReduce_364 = happySpecReduce_3  153 happyReduction_364
+happyReduction_364 (HappyAbsSyn154  happy_var_3)
+	(HappyAbsSyn27  happy_var_2)
+	(HappyAbsSyn152  happy_var_1)
+	 =  HappyAbsSyn152
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
+	)
+happyReduction_364 _ _ _  = notHappyAtAll 
+
+happyReduce_365 = happySpecReduce_1  153 happyReduction_365
+happyReduction_365 (HappyAbsSyn154  happy_var_1)
+	 =  HappyAbsSyn152
+		 (([happy_var_1],[])
+	)
+happyReduction_365 _  = notHappyAtAll 
+
+happyReduce_366 = happySpecReduce_1  154 happyReduction_366
+happyReduction_366 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn154
+		 (ClsDecl (ann happy_var_1) happy_var_1
+	)
+happyReduction_366 _  = notHappyAtAll 
+
+happyReduce_367 = happyMonadReduce 1 154 happyReduction_367
+happyReduction_367 ((HappyAbsSyn154  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled TypeFamilies >> return happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn154 r))
+
+happyReduce_368 = happyMonadReduce 2 154 happyReduction_368
+happyReduction_368 ((HappyAbsSyn49  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Default)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn154 r))
+
+happyReduce_369 = happySpecReduce_0  155 happyReduction_369
+happyReduction_369  =  HappyAbsSyn27
+		 ([]
+	)
+
+happyReduce_370 = happySpecReduce_1  155 happyReduction_370
+happyReduction_370 (HappyTerminal (Loc happy_var_1 KW_Family))
+	 =  HappyAbsSyn27
+		 ([happy_var_1]
+	)
+happyReduction_370 _  = notHappyAtAll 
+
+happyReduce_371 = happyMonadReduce 4 156 happyReduction_371
+happyReduction_371 ((HappyAbsSyn59  happy_var_4) `HappyStk`
+	(HappyAbsSyn103  happy_var_3) `HappyStk`
+	_ `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Data)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn154 r))
+
+happyReduce_372 = happyMonadReduce 3 156 happyReduction_372
+happyReduction_372 ((HappyAbsSyn62  happy_var_3) `HappyStk`
+	(HappyAbsSyn103  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Type)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( mkAssocType happy_var_1 happy_var_2 happy_var_3)
+	) (\r -> happyReturn (HappyAbsSyn154 r))
+
+happyReduce_373 = happyMonadReduce 4 156 happyReduction_373
+happyReduction_373 ((HappyAbsSyn61  happy_var_4) `HappyStk`
+	(HappyAbsSyn103  happy_var_3) `HappyStk`
+	_ `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Type)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn154 r))
+
+happyReduce_374 = happySpecReduce_3  156 happyReduction_374
+happyReduction_374 (HappyAbsSyn70  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 KW_Instance))
+	(HappyTerminal (Loc happy_var_1 KW_Type))
+	 =  HappyAbsSyn154
+		 (ClsTyDef (nIS happy_var_1 <++> ann happy_var_3 <** [happy_var_1,happy_var_2]) happy_var_3
+	)
+happyReduction_374 _ _ _  = notHappyAtAll 
+
+happyReduce_375 = happyMonadReduce 4 157 happyReduction_375
+happyReduction_375 ((HappyTerminal (Loc happy_var_4 RightCurly)) `HappyStk`
+	(HappyAbsSyn158  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftCurly)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Where)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn157 r))
+
+happyReduce_376 = happyMonadReduce 4 157 happyReduction_376
+happyReduction_376 ((HappyAbsSyn258  happy_var_4) `HappyStk`
+	(HappyAbsSyn158  happy_var_3) `HappyStk`
+	(HappyAbsSyn258  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Where)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn157 r))
+
+happyReduce_377 = happySpecReduce_0  157 happyReduction_377
+happyReduction_377  =  HappyAbsSyn157
+		 ((Nothing, [], Nothing)
+	)
+
+happyReduce_378 = happyMonadReduce 3 158 happyReduction_378
+happyReduction_378 ((HappyAbsSyn27  happy_var_3) `HappyStk`
+	(HappyAbsSyn158  happy_var_2) `HappyStk`
+	(HappyAbsSyn27  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkRevInstDecls (fst happy_var_2) >>= \is -> return (is, reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3))
+	) (\r -> happyReturn (HappyAbsSyn158 r))
+
+happyReduce_379 = happySpecReduce_1  158 happyReduction_379
+happyReduction_379 (HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn158
+		 (([],reverse happy_var_1)
+	)
+happyReduction_379 _  = notHappyAtAll 
+
+happyReduce_380 = happySpecReduce_3  159 happyReduction_380
+happyReduction_380 (HappyAbsSyn160  happy_var_3)
+	(HappyAbsSyn27  happy_var_2)
+	(HappyAbsSyn158  happy_var_1)
+	 =  HappyAbsSyn158
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
+	)
+happyReduction_380 _ _ _  = notHappyAtAll 
+
+happyReduce_381 = happySpecReduce_1  159 happyReduction_381
+happyReduction_381 (HappyAbsSyn160  happy_var_1)
+	 =  HappyAbsSyn158
+		 (([happy_var_1],[])
+	)
+happyReduction_381 _  = notHappyAtAll 
+
+happyReduce_382 = happySpecReduce_1  160 happyReduction_382
+happyReduction_382 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn160
+		 (InsDecl (ann happy_var_1) happy_var_1
+	)
+happyReduction_382 _  = notHappyAtAll 
+
+happyReduce_383 = happyMonadReduce 1 160 happyReduction_383
+happyReduction_383 ((HappyAbsSyn160  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled TypeFamilies >> return happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn160 r))
+
+happyReduce_384 = happySpecReduce_1  160 happyReduction_384
+happyReduction_384 (HappyAbsSyn49  happy_var_1)
+	 =  HappyAbsSyn160
+		 (InsDecl (ann happy_var_1) happy_var_1
+	)
+happyReduction_384 _  = notHappyAtAll 
+
+happyReduce_385 = happyMonadReduce 1 160 happyReduction_385
+happyReduction_385 ((HappyAbsSyn49  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled InstanceSigs >> return (InsDecl (ann happy_var_1) happy_var_1))
+	) (\r -> happyReturn (HappyAbsSyn160 r))
+
+happyReduce_386 = happyMonadReduce 4 161 happyReduction_386
+happyReduction_386 ((HappyAbsSyn81  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 Equals)) `HappyStk`
+	(HappyAbsSyn81  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Type)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn160 r))
+
+happyReduce_387 = happyMonadReduce 4 161 happyReduction_387
+happyReduction_387 ((HappyAbsSyn141  happy_var_4) `HappyStk`
+	(HappyAbsSyn133  happy_var_3) `HappyStk`
+	(HappyAbsSyn81  happy_var_2) `HappyStk`
+	(HappyAbsSyn71  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 happy_var_4 <** ss ) happy_var_1 happy_var_2 (reverse ds) happy_var_4) })
+	) (\r -> happyReturn (HappyAbsSyn160 r))
+
+happyReduce_388 = happyMonadReduce 5 161 happyReduction_388
+happyReduction_388 ((HappyAbsSyn141  happy_var_5) `HappyStk`
+	(HappyAbsSyn129  happy_var_4) `HappyStk`
+	(HappyAbsSyn150  happy_var_3) `HappyStk`
+	(HappyAbsSyn81  happy_var_2) `HappyStk`
+	(HappyAbsSyn71  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 happy_var_5 <** (snd happy_var_3 ++ ss)) happy_var_1 happy_var_2 (fst happy_var_3) (reverse gs) happy_var_5 })
+	) (\r -> happyReturn (HappyAbsSyn160 r))
+
+happyReduce_389 = happyMonadReduce 4 162 happyReduction_389
+happyReduction_389 ((HappyAbsSyn163  happy_var_4) `HappyStk`
+	(HappyAbsSyn165  happy_var_3) `HappyStk`
+	(HappyAbsSyn164  happy_var_2) `HappyStk`
+	(HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn49 r))
+
+happyReduce_390 = happyMonadReduce 4 162 happyReduction_390
+happyReduction_390 ((HappyAbsSyn163  happy_var_4) `HappyStk`
+	(HappyAbsSyn165  happy_var_3) `HappyStk`
+	(HappyAbsSyn17  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 Exclamation)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn49 r))
+
+happyReduce_391 = happySpecReduce_2  163 happyReduction_391
+happyReduction_391 (HappyAbsSyn76  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 KW_Where))
+	 =  HappyAbsSyn163
+		 ((Just happy_var_2, [happy_var_1])
+	)
+happyReduction_391 _ _  = notHappyAtAll 
+
+happyReduce_392 = happySpecReduce_0  163 happyReduction_392
+happyReduction_392  =  HappyAbsSyn163
+		 ((Nothing, [])
+	)
+
+happyReduce_393 = happyMonadReduce 2 164 happyReduction_393
+happyReduction_393 ((HappyAbsSyn81  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 DoubleColon)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled ScopedTypeVariables >> return (Just (happy_var_2, happy_var_1)))
+	) (\r -> happyReturn (HappyAbsSyn164 r))
+
+happyReduce_394 = happySpecReduce_0  164 happyReduction_394
+happyReduction_394  =  HappyAbsSyn164
+		 (Nothing
+	)
+
+happyReduce_395 = happySpecReduce_2  165 happyReduction_395
+happyReduction_395 (HappyAbsSyn168  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 Equals))
+	 =  HappyAbsSyn165
+		 (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)
+happyReduction_395 _ _  = notHappyAtAll 
+
+happyReduce_396 = happySpecReduce_1  165 happyReduction_396
+happyReduction_396 (HappyAbsSyn166  happy_var_1)
+	 =  HappyAbsSyn165
+		 (GuardedRhss (snd happy_var_1) (reverse $ fst happy_var_1)
+	)
+happyReduction_396 _  = notHappyAtAll 
+
+happyReduce_397 = happySpecReduce_2  166 happyReduction_397
+happyReduction_397 (HappyAbsSyn167  happy_var_2)
+	(HappyAbsSyn166  happy_var_1)
+	 =  HappyAbsSyn166
+		 ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)
+	)
+happyReduction_397 _ _  = notHappyAtAll 
+
+happyReduce_398 = happySpecReduce_1  166 happyReduction_398
+happyReduction_398 (HappyAbsSyn167  happy_var_1)
+	 =  HappyAbsSyn166
+		 (([happy_var_1],ann happy_var_1)
+	)
+happyReduction_398 _  = notHappyAtAll 
+
+happyReduce_399 = happyMonadReduce 4 167 happyReduction_399
+happyReduction_399 ((HappyAbsSyn168  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 Equals)) `HappyStk`
+	(HappyAbsSyn205  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 Bar)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn167 r))
+
+happyReduce_400 = happyMonadReduce 1 168 happyReduction_400
+happyReduction_400 ((HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkExpr happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn168 r))
+
+happyReduce_401 = happySpecReduce_3  169 happyReduction_401
+happyReduction_401 (HappyAbsSyn81  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 DoubleColon))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (ExpTypeSig      (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_401 _ _ _  = notHappyAtAll 
+
+happyReduce_402 = happySpecReduce_1  169 happyReduction_402
+happyReduction_402 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_402 _  = notHappyAtAll 
+
+happyReduce_403 = happySpecReduce_2  169 happyReduction_403
+happyReduction_403 (HappyAbsSyn241  happy_var_2)
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (PostOp          (happy_var_1 <> happy_var_2)          happy_var_1 happy_var_2
+	)
+happyReduction_403 _ _  = notHappyAtAll 
+
+happyReduce_404 = happySpecReduce_3  169 happyReduction_404
+happyReduction_404 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 LeftArrowTail))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (LeftArrApp      (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_404 _ _ _  = notHappyAtAll 
+
+happyReduce_405 = happySpecReduce_3  169 happyReduction_405
+happyReduction_405 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 RightArrowTail))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (RightArrApp     (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_405 _ _ _  = notHappyAtAll 
+
+happyReduce_406 = happySpecReduce_3  169 happyReduction_406
+happyReduction_406 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 LeftDblArrowTail))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (LeftArrHighApp  (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_406 _ _ _  = notHappyAtAll 
+
+happyReduce_407 = happySpecReduce_3  169 happyReduction_407
+happyReduction_407 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 RightDblArrowTail))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (RightArrHighApp (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_407 _ _ _  = notHappyAtAll 
+
+happyReduce_408 = happySpecReduce_1  170 happyReduction_408
+happyReduction_408 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_408 _  = notHappyAtAll 
+
+happyReduce_409 = happySpecReduce_1  170 happyReduction_409
+happyReduction_409 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_409 _  = notHappyAtAll 
+
+happyReduce_410 = happySpecReduce_3  171 happyReduction_410
+happyReduction_410 (HappyAbsSyn17  happy_var_3)
+	(HappyAbsSyn241  happy_var_2)
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
+	)
+happyReduction_410 _ _ _  = notHappyAtAll 
+
+happyReduce_411 = happySpecReduce_1  171 happyReduction_411
+happyReduction_411 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_411 _  = notHappyAtAll 
+
+happyReduce_412 = happySpecReduce_3  172 happyReduction_412
+happyReduction_412 (HappyAbsSyn17  happy_var_3)
+	(HappyAbsSyn241  happy_var_2)
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (InfixApp (happy_var_1 <> happy_var_3) happy_var_1 happy_var_2 happy_var_3
+	)
+happyReduction_412 _ _ _  = notHappyAtAll 
+
+happyReduce_413 = happySpecReduce_1  172 happyReduction_413
+happyReduction_413 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_413 _  = notHappyAtAll 
+
+happyReduce_414 = happyReduce 4 173 happyReduction_414
+happyReduction_414 ((HappyAbsSyn17  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 RightArrow)) `HappyStk`
+	(HappyAbsSyn179  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 Backslash)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (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_415 = happyReduce 4 173 happyReduction_415
+happyReduction_415 ((HappyAbsSyn17  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 KW_In)) `HappyStk`
+	(HappyAbsSyn76  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Let)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (Let    (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3])    happy_var_2 happy_var_4
+	) `HappyStk` happyRest
+
+happyReduce_416 = happyReduce 8 173 happyReduction_416
+happyReduction_416 ((HappyAbsSyn17  happy_var_8) `HappyStk`
+	(HappyTerminal (Loc happy_var_7 KW_Else)) `HappyStk`
+	(HappyAbsSyn27  happy_var_6) `HappyStk`
+	(HappyAbsSyn17  happy_var_5) `HappyStk`
+	(HappyTerminal (Loc happy_var_4 KW_Then)) `HappyStk`
+	(HappyAbsSyn27  happy_var_3) `HappyStk`
+	(HappyAbsSyn17  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_If)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (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_417 = happyMonadReduce 2 173 happyReduction_417
+happyReduction_417 ((HappyAbsSyn216  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_If)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled MultiWayIf >>
+                                           let (alts, inf, ss) = happy_var_2
+                                           in return (MultiIf (nIS happy_var_1 <++> inf <** (happy_var_1:ss)) alts))
+	) (\r -> happyReturn (HappyAbsSyn17 r))
+
+happyReduce_418 = happyReduce 4 173 happyReduction_418
+happyReduction_418 ((HappyAbsSyn17  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 RightArrow)) `HappyStk`
+	(HappyAbsSyn180  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Proc)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (Proc   (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3])    happy_var_2 happy_var_4
+	) `HappyStk` happyRest
+
+happyReduce_419 = happySpecReduce_1  173 happyReduction_419
+happyReduction_419 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_419 _  = notHappyAtAll 
+
+happyReduce_420 = happyMonadReduce 1 174 happyReduction_420
+happyReduction_420 ((HappyTerminal (Loc happy_var_1 SemiColon)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled DoAndIfThenElse >> return [happy_var_1])
+	) (\r -> happyReturn (HappyAbsSyn27 r))
+
+happyReduce_421 = happySpecReduce_0  174 happyReduction_421
+happyReduction_421  =  HappyAbsSyn27
+		 ([]
+	)
+
+happyReduce_422 = happySpecReduce_1  175 happyReduction_422
+happyReduction_422 (HappyTerminal (Loc happy_var_1 SemiColon))
+	 =  HappyAbsSyn27
+		 ([happy_var_1]
+	)
+happyReduction_422 _  = notHappyAtAll 
+
+happyReduce_423 = happySpecReduce_0  175 happyReduction_423
+happyReduction_423  =  HappyAbsSyn27
+		 ([]
+	)
+
+happyReduce_424 = happyReduce 4 176 happyReduction_424
+happyReduction_424 ((HappyAbsSyn208  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 KW_Of)) `HappyStk`
+	(HappyAbsSyn17  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Case)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (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_425 = happyMonadReduce 3 176 happyReduction_425
+happyReduction_425 ((HappyAbsSyn208  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Case)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 Backslash)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn17 r))
+
+happyReduce_426 = happySpecReduce_2  176 happyReduction_426
+happyReduction_426 (HappyAbsSyn17  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 Minus))
+	 =  HappyAbsSyn17
+		 (NegApp (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)
+happyReduction_426 _ _  = notHappyAtAll 
+
+happyReduce_427 = happySpecReduce_2  176 happyReduction_427
+happyReduction_427 (HappyAbsSyn219  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 KW_Do))
+	 =  HappyAbsSyn17
+		 (let (sts, inf, ss) = happy_var_2 in Do   (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts
+	)
+happyReduction_427 _ _  = notHappyAtAll 
+
+happyReduce_428 = happySpecReduce_2  176 happyReduction_428
+happyReduction_428 (HappyAbsSyn219  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 KW_MDo))
+	 =  HappyAbsSyn17
+		 (let (sts, inf, ss) = happy_var_2 in MDo  (nIS happy_var_1 <++> inf <** happy_var_1:ss) sts
+	)
+happyReduction_428 _ _  = notHappyAtAll 
+
+happyReduce_429 = happySpecReduce_1  176 happyReduction_429
+happyReduction_429 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_429 _  = notHappyAtAll 
+
+happyReduce_430 = happyReduce 4 177 happyReduction_430
+happyReduction_430 ((HappyAbsSyn17  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 PragmaEnd)) `HappyStk`
+	(HappyTerminal happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 CORE)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (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_431 = happyReduce 4 177 happyReduction_431
+happyReduction_431 ((HappyAbsSyn17  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 PragmaEnd)) `HappyStk`
+	(HappyTerminal happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 SCC)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (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_432 = happyReduce 11 177 happyReduction_432
+happyReduction_432 ((HappyAbsSyn17  happy_var_11) `HappyStk`
+	(HappyTerminal (Loc happy_var_10 PragmaEnd)) `HappyStk`
+	(HappyTerminal happy_var_9) `HappyStk`
+	(HappyTerminal (Loc happy_var_8 Colon)) `HappyStk`
+	(HappyTerminal happy_var_7) `HappyStk`
+	(HappyTerminal (Loc happy_var_6 Minus)) `HappyStk`
+	(HappyTerminal happy_var_5) `HappyStk`
+	(HappyTerminal (Loc happy_var_4 Colon)) `HappyStk`
+	(HappyTerminal happy_var_3) `HappyStk`
+	(HappyTerminal happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 GENERATED)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (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_433 = happySpecReduce_2  178 happyReduction_433
+happyReduction_433 (HappyAbsSyn17  happy_var_2)
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (App (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2
+	)
+happyReduction_433 _ _  = notHappyAtAll 
+
+happyReduce_434 = happySpecReduce_1  178 happyReduction_434
+happyReduction_434 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_434 _  = notHappyAtAll 
+
+happyReduce_435 = happySpecReduce_2  179 happyReduction_435
+happyReduction_435 (HappyAbsSyn180  happy_var_2)
+	(HappyAbsSyn179  happy_var_1)
+	 =  HappyAbsSyn179
+		 (happy_var_2 : happy_var_1
+	)
+happyReduction_435 _ _  = notHappyAtAll 
+
+happyReduce_436 = happySpecReduce_1  179 happyReduction_436
+happyReduction_436 (HappyAbsSyn180  happy_var_1)
+	 =  HappyAbsSyn179
+		 ([happy_var_1]
+	)
+happyReduction_436 _  = notHappyAtAll 
+
+happyReduce_437 = happyMonadReduce 1 180 happyReduction_437
+happyReduction_437 ((HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkPattern happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn180 r))
+
+happyReduce_438 = happyMonadReduce 2 180 happyReduction_438
+happyReduction_438 ((HappyAbsSyn17  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 Exclamation)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkPattern (BangPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2))
+	) (\r -> happyReturn (HappyAbsSyn180 r))
+
+happyReduce_439 = happyMonadReduce 3 181 happyReduction_439
+happyReduction_439 ((HappyAbsSyn17  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 At)) `HappyStk`
+	(HappyAbsSyn34  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { n <- checkUnQual happy_var_1;
+                                              return (AsPat (happy_var_1 <> happy_var_3 <** [happy_var_2]) n happy_var_3) })
+	) (\r -> happyReturn (HappyAbsSyn17 r))
+
+happyReduce_440 = happyMonadReduce 3 181 happyReduction_440
+happyReduction_440 ((HappyAbsSyn17  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 RPCAt)) `HappyStk`
+	(HappyAbsSyn34  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { n <- checkUnQual happy_var_1;
+                                              return (CAsRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) n happy_var_3) })
+	) (\r -> happyReturn (HappyAbsSyn17 r))
+
+happyReduce_441 = happySpecReduce_2  181 happyReduction_441
+happyReduction_441 (HappyAbsSyn17  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 Tilde))
+	 =  HappyAbsSyn17
+		 (IrrPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)
+happyReduction_441 _ _  = notHappyAtAll 
+
+happyReduce_442 = happySpecReduce_2  181 happyReduction_442
+happyReduction_442 (HappyAbsSyn81  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 TApp))
+	 =  HappyAbsSyn17
+		 (TypeApp (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)
+happyReduction_442 _ _  = notHappyAtAll 
+
+happyReduce_443 = happySpecReduce_1  181 happyReduction_443
+happyReduction_443 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_443 _  = notHappyAtAll 
+
+happyReduce_444 = happyMonadReduce 3 182 happyReduction_444
+happyReduction_444 ((HappyTerminal (Loc happy_var_3 RightCurly)) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftCurly)) `HappyStk`
+	(HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( liftM (amap (const (ann happy_var_1 <++> nIS happy_var_3 <** [happy_var_2,happy_var_3]))) $ mkRecConstrOrUpdate happy_var_1 [])
+	) (\r -> happyReturn (HappyAbsSyn17 r))
+
+happyReduce_445 = happyMonadReduce 4 182 happyReduction_445
+happyReduction_445 ((HappyTerminal (Loc happy_var_4 RightCurly)) `HappyStk`
+	(HappyAbsSyn223  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftCurly)) `HappyStk`
+	(HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn17 r))
+
+happyReduce_446 = happySpecReduce_1  182 happyReduction_446
+happyReduction_446 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_446 _  = notHappyAtAll 
+
+happyReduce_447 = happySpecReduce_1  183 happyReduction_447
+happyReduction_447 (HappyAbsSyn232  happy_var_1)
+	 =  HappyAbsSyn17
+		 (IPVar (ann happy_var_1) happy_var_1
+	)
+happyReduction_447 _  = notHappyAtAll 
+
+happyReduce_448 = happySpecReduce_1  183 happyReduction_448
+happyReduction_448 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn17
+		 (Var (ann happy_var_1) happy_var_1
+	)
+happyReduction_448 _  = notHappyAtAll 
+
+happyReduce_449 = happySpecReduce_1  183 happyReduction_449
+happyReduction_449 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_449 _  = notHappyAtAll 
+
+happyReduce_450 = happySpecReduce_1  183 happyReduction_450
+happyReduction_450 (HappyAbsSyn257  happy_var_1)
+	 =  HappyAbsSyn17
+		 (Lit (ann happy_var_1) happy_var_1
+	)
+happyReduction_450 _  = notHappyAtAll 
+
+happyReduce_451 = happySpecReduce_3  183 happyReduction_451
+happyReduction_451 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn17  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn17
+		 (Paren (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)
+happyReduction_451 _ _ _  = notHappyAtAll 
+
+happyReduce_452 = happySpecReduce_3  183 happyReduction_452
+happyReduction_452 (HappyAbsSyn186  happy_var_3)
+	(HappyAbsSyn17  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn17
+		 (TupleSection (happy_var_1 <^^> head (snd happy_var_3) <** happy_var_1:reverse (snd happy_var_3)) Boxed (Just happy_var_2 : fst happy_var_3)
+	)
+happyReduction_452 _ _ _  = notHappyAtAll 
+
+happyReduce_453 = happyReduce 4 183 happyReduction_453
+happyReduction_453 ((HappyTerminal (Loc happy_var_4 RightParen)) `HappyStk`
+	(HappyAbsSyn17  happy_var_3) `HappyStk`
+	(HappyAbsSyn27  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftParen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (TupleSection (happy_var_1 <^^> happy_var_4 <** happy_var_1:reverse (happy_var_4:happy_var_2)) Boxed
+                                                      (replicate (length happy_var_2) Nothing ++ [Just happy_var_3])
+	) `HappyStk` happyRest
+
+happyReduce_454 = happyReduce 4 183 happyReduction_454
+happyReduction_454 ((HappyAbsSyn186  happy_var_4) `HappyStk`
+	(HappyAbsSyn17  happy_var_3) `HappyStk`
+	(HappyAbsSyn27  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftParen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (TupleSection (happy_var_1 <^^> head (snd happy_var_4) <** happy_var_1:reverse (snd happy_var_4 ++ happy_var_2)) Boxed
+                                                      (replicate (length happy_var_2) Nothing ++ Just happy_var_3 : fst happy_var_4)
+	) `HappyStk` happyRest
+
+happyReduce_455 = happySpecReduce_3  183 happyReduction_455
+happyReduction_455 (HappyAbsSyn186  happy_var_3)
+	(HappyAbsSyn17  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftHashParen))
+	 =  HappyAbsSyn17
+		 (TupleSection (happy_var_1 <^^> head (snd happy_var_3) <** happy_var_1:reverse (snd happy_var_3)) Unboxed (Just happy_var_2 : fst happy_var_3)
+	)
+happyReduction_455 _ _ _  = notHappyAtAll 
+
+happyReduce_456 = happySpecReduce_3  183 happyReduction_456
+happyReduction_456 (HappyTerminal (Loc happy_var_3 RightHashParen))
+	(HappyAbsSyn17  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftHashParen))
+	 =  HappyAbsSyn17
+		 (TupleSection (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) Unboxed [Just happy_var_2]
+	)
+happyReduction_456 _ _ _  = notHappyAtAll 
+
+happyReduce_457 = happyReduce 4 183 happyReduction_457
+happyReduction_457 ((HappyTerminal (Loc happy_var_4 RightHashParen)) `HappyStk`
+	(HappyAbsSyn17  happy_var_3) `HappyStk`
+	(HappyAbsSyn27  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftHashParen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (TupleSection (happy_var_1 <^^> happy_var_4 <** happy_var_1:reverse (happy_var_4:happy_var_2)) Unboxed
+                                                      (replicate (length happy_var_2) Nothing ++ [Just happy_var_3])
+	) `HappyStk` happyRest
+
+happyReduce_458 = happyReduce 4 183 happyReduction_458
+happyReduction_458 ((HappyAbsSyn186  happy_var_4) `HappyStk`
+	(HappyAbsSyn17  happy_var_3) `HappyStk`
+	(HappyAbsSyn27  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftHashParen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (TupleSection (happy_var_1 <^^> head (snd happy_var_4) <** happy_var_1:reverse (snd happy_var_4 ++ happy_var_2)) Unboxed
+                                                      (replicate (length happy_var_2) Nothing ++ Just happy_var_3 : fst happy_var_4)
+	) `HappyStk` happyRest
+
+happyReduce_459 = happySpecReduce_3  183 happyReduction_459
+happyReduction_459 (HappyTerminal (Loc happy_var_3 RightSquare))
+	(HappyAbsSyn199  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftSquare))
+	 =  HappyAbsSyn17
+		 (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])
+	)
+happyReduction_459 _ _ _  = notHappyAtAll 
+
+happyReduce_460 = happySpecReduce_3  183 happyReduction_460
+happyReduction_460 (HappyTerminal (Loc happy_var_3 ParArrayRightSquare))
+	(HappyAbsSyn199  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 ParArrayLeftSquare))
+	 =  HappyAbsSyn17
+		 (amap (\l -> l <** [happy_var_3]) $ happy_var_2 (happy_var_1 <^^> happy_var_3 <** [happy_var_1])
+	)
+happyReduction_460 _ _ _  = notHappyAtAll 
+
+happyReduce_461 = happySpecReduce_1  183 happyReduction_461
+happyReduction_461 (HappyTerminal (Loc happy_var_1 Underscore))
+	 =  HappyAbsSyn17
+		 (WildCard (nIS happy_var_1)
+	)
+happyReduction_461 _  = notHappyAtAll 
+
+happyReduce_462 = happyMonadReduce 3 183 happyReduction_462
+happyReduction_462 ((HappyTerminal (Loc happy_var_3 RightParen)) `HappyStk`
+	(HappyAbsSyn17  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftParen)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled RegularPatterns >> return (Paren (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2))
+	) (\r -> happyReturn (HappyAbsSyn17 r))
+
+happyReduce_463 = happySpecReduce_3  183 happyReduction_463
+happyReduction_463 (HappyTerminal (Loc happy_var_3 RPGuardClose))
+	(HappyAbsSyn188  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 RPGuardOpen))
+	 =  HappyAbsSyn17
+		 (SeqRP (happy_var_1 <^^> happy_var_3 <** (happy_var_1:reverse (snd happy_var_2) ++ [happy_var_3])) $ reverse (fst happy_var_2)
+	)
+happyReduction_463 _ _ _  = notHappyAtAll 
+
+happyReduce_464 = happyReduce 5 183 happyReduction_464
+happyReduction_464 ((HappyTerminal (Loc happy_var_5 RPGuardClose)) `HappyStk`
+	(HappyAbsSyn205  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 Bar)) `HappyStk`
+	(HappyAbsSyn17  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 RPGuardOpen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (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_465 = happySpecReduce_1  183 happyReduction_465
+happyReduction_465 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_465 _  = notHappyAtAll 
+
+happyReduce_466 = happySpecReduce_1  183 happyReduction_466
+happyReduction_466 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn17
+		 (let Loc l (THIdEscape s) = happy_var_1 in SpliceExp (nIS l) $ IdSplice (nIS l) s
+	)
+happyReduction_466 _  = notHappyAtAll 
+
+happyReduce_467 = happySpecReduce_3  183 happyReduction_467
+happyReduction_467 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn168  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 THParenEscape))
+	 =  HappyAbsSyn17
+		 (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in SpliceExp l $ ParenSplice l happy_var_2
+	)
+happyReduction_467 _ _ _  = notHappyAtAll 
+
+happyReduce_468 = happySpecReduce_3  183 happyReduction_468
+happyReduction_468 (HappyTerminal (Loc happy_var_3 THCloseQuote))
+	(HappyAbsSyn168  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 THExpQuote))
+	 =  HappyAbsSyn17
+		 (let l = (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) in BracketExp l $ ExpBracket l happy_var_2
+	)
+happyReduction_468 _ _ _  = notHappyAtAll 
+
+happyReduce_469 = happyMonadReduce 3 183 happyReduction_469
+happyReduction_469 ((HappyTerminal (Loc happy_var_3 THCloseQuote)) `HappyStk`
+	(HappyAbsSyn17  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 THPatQuote)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn17 r))
+
+happyReduce_470 = happySpecReduce_3  183 happyReduction_470
+happyReduction_470 (HappyTerminal (Loc happy_var_3 THCloseQuote))
+	(HappyAbsSyn81  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 THTypQuote))
+	 =  HappyAbsSyn17
+		 (let l = happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3] in BracketExp l $ TypeBracket l happy_var_2
+	)
+happyReduction_470 _ _ _  = notHappyAtAll 
+
+happyReduce_471 = happyReduce 5 183 happyReduction_471
+happyReduction_471 ((HappyTerminal (Loc happy_var_5 THCloseQuote)) `HappyStk`
+	(HappyAbsSyn258  happy_var_4) `HappyStk`
+	(HappyAbsSyn56  happy_var_3) `HappyStk`
+	(HappyAbsSyn258  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 THDecQuote)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (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_472 = happySpecReduce_2  183 happyReduction_472
+happyReduction_472 (HappyAbsSyn34  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 THVarQuote))
+	 =  HappyAbsSyn17
+		 (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)
+happyReduction_472 _ _  = notHappyAtAll 
+
+happyReduce_473 = happySpecReduce_2  183 happyReduction_473
+happyReduction_473 (HappyAbsSyn34  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 THVarQuote))
+	 =  HappyAbsSyn17
+		 (VarQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)
+happyReduction_473 _ _  = notHappyAtAll 
+
+happyReduce_474 = happySpecReduce_2  183 happyReduction_474
+happyReduction_474 (HappyAbsSyn100  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 THTyQuote))
+	 =  HappyAbsSyn17
+		 (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) (UnQual (ann happy_var_2) happy_var_2)
+	)
+happyReduction_474 _ _  = notHappyAtAll 
+
+happyReduce_475 = happySpecReduce_2  183 happyReduction_475
+happyReduction_475 (HappyAbsSyn34  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 THTyQuote))
+	 =  HappyAbsSyn17
+		 (TypQuote (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)
+happyReduction_475 _ _  = notHappyAtAll 
+
+happyReduce_476 = happySpecReduce_1  183 happyReduction_476
+happyReduction_476 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn17
+		 (let Loc l (THQuasiQuote (n,q)) = happy_var_1 in QuasiQuote (nIS l) n q
+	)
+happyReduction_476 _  = notHappyAtAll 
+
+happyReduce_477 = happySpecReduce_2  184 happyReduction_477
+happyReduction_477 (HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn27
+		 (happy_var_2 : happy_var_1
+	)
+happyReduction_477 _ _  = notHappyAtAll 
+
+happyReduce_478 = happySpecReduce_1  184 happyReduction_478
+happyReduction_478 (HappyTerminal (Loc happy_var_1 Comma))
+	 =  HappyAbsSyn27
+		 ([happy_var_1]
+	)
+happyReduction_478 _  = notHappyAtAll 
+
+happyReduce_479 = happySpecReduce_1  185 happyReduction_479
+happyReduction_479 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_479 _  = notHappyAtAll 
+
+happyReduce_480 = happySpecReduce_2  185 happyReduction_480
+happyReduction_480 (HappyAbsSyn17  happy_var_2)
+	(HappyAbsSyn241  happy_var_1)
+	 =  HappyAbsSyn17
+		 (PreOp (happy_var_1 <> happy_var_2) happy_var_1 happy_var_2
+	)
+happyReduction_480 _ _  = notHappyAtAll 
+
+happyReduce_481 = happyMonadReduce 3 185 happyReduction_481
+happyReduction_481 ((HappyAbsSyn180  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 RightArrow)) `HappyStk`
+	(HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do {checkEnabled ViewPatterns;
+                                             return $ ViewPat (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3})
+	) (\r -> happyReturn (HappyAbsSyn17 r))
+
+happyReduce_482 = happySpecReduce_3  186 happyReduction_482
+happyReduction_482 (HappyAbsSyn186  happy_var_3)
+	(HappyAbsSyn17  happy_var_2)
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn186
+		 (let (mes, ss) = happy_var_3 in (replicate (length happy_var_1 - 1) Nothing ++ Just happy_var_2 : mes, ss ++ happy_var_1)
+	)
+happyReduction_482 _ _ _  = notHappyAtAll 
+
+happyReduce_483 = happySpecReduce_3  186 happyReduction_483
+happyReduction_483 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn17  happy_var_2)
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn186
+		 ((replicate (length happy_var_1 - 1) Nothing ++ [Just happy_var_2], happy_var_3 : happy_var_1)
+	)
+happyReduction_483 _ _ _  = notHappyAtAll 
+
+happyReduce_484 = happySpecReduce_2  186 happyReduction_484
+happyReduction_484 (HappyTerminal (Loc happy_var_2 RightParen))
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn186
+		 ((replicate (length happy_var_1) Nothing, happy_var_2 : happy_var_1)
+	)
+happyReduction_484 _ _  = notHappyAtAll 
+
+happyReduce_485 = happySpecReduce_3  187 happyReduction_485
+happyReduction_485 (HappyAbsSyn186  happy_var_3)
+	(HappyAbsSyn17  happy_var_2)
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn186
+		 (let (mes, ss) = happy_var_3 in (replicate (length happy_var_1 - 1) Nothing ++ Just happy_var_2 : mes, ss ++ happy_var_1)
+	)
+happyReduction_485 _ _ _  = notHappyAtAll 
+
+happyReduce_486 = happySpecReduce_3  187 happyReduction_486
+happyReduction_486 (HappyTerminal (Loc happy_var_3 RightHashParen))
+	(HappyAbsSyn17  happy_var_2)
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn186
+		 ((replicate (length happy_var_1 - 1) Nothing ++ [Just happy_var_2], happy_var_3 : happy_var_1)
+	)
+happyReduction_486 _ _ _  = notHappyAtAll 
+
+happyReduce_487 = happySpecReduce_2  187 happyReduction_487
+happyReduction_487 (HappyTerminal (Loc happy_var_2 RightHashParen))
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn186
+		 ((replicate (length happy_var_1) Nothing, happy_var_2 : happy_var_1)
+	)
+happyReduction_487 _ _  = notHappyAtAll 
+
+happyReduce_488 = happySpecReduce_3  188 happyReduction_488
+happyReduction_488 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn188  happy_var_1)
+	 =  HappyAbsSyn188
+		 ((happy_var_3 : fst happy_var_1, happy_var_2 : snd happy_var_1)
+	)
+happyReduction_488 _ _ _  = notHappyAtAll 
+
+happyReduce_489 = happySpecReduce_1  188 happyReduction_489
+happyReduction_489 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn188
+		 (([happy_var_1],[])
+	)
+happyReduction_489 _  = notHappyAtAll 
+
+happyReduce_490 = happySpecReduce_3  189 happyReduction_490
+happyReduction_490 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Bar))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_490 _ _ _  = notHappyAtAll 
+
+happyReduce_491 = happySpecReduce_3  189 happyReduction_491
+happyReduction_491 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Bar))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (EitherRP (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_491 _ _ _  = notHappyAtAll 
+
+happyReduce_492 = happyMonadReduce 10 190 happyReduction_492
+happyReduction_492 ((HappyTerminal (Loc happy_var_10 XStdTagClose)) `HappyStk`
+	(HappyAbsSyn193  happy_var_9) `HappyStk`
+	(HappyTerminal (Loc happy_var_8 XCloseTagOpen)) `HappyStk`
+	(HappyAbsSyn27  happy_var_7) `HappyStk`
+	(HappyAbsSyn191  happy_var_6) `HappyStk`
+	(HappyTerminal (Loc happy_var_5 XStdTagClose)) `HappyStk`
+	(HappyAbsSyn198  happy_var_4) `HappyStk`
+	(HappyAbsSyn196  happy_var_3) `HappyStk`
+	(HappyAbsSyn193  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 XStdTagOpen)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn17 r))
+
+happyReduce_493 = happyReduce 5 190 happyReduction_493
+happyReduction_493 ((HappyTerminal (Loc happy_var_5 XEmptyTagClose)) `HappyStk`
+	(HappyAbsSyn198  happy_var_4) `HappyStk`
+	(HappyAbsSyn196  happy_var_3) `HappyStk`
+	(HappyAbsSyn193  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 XStdTagOpen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (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_494 = happySpecReduce_3  190 happyReduction_494
+happyReduction_494 (HappyTerminal (Loc happy_var_3 XCodeTagClose))
+	(HappyAbsSyn17  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 XCodeTagOpen))
+	 =  HappyAbsSyn17
+		 (XExpTag (happy_var_1 <^^> happy_var_3 <** [happy_var_1,happy_var_3]) happy_var_2
+	)
+happyReduction_494 _ _ _  = notHappyAtAll 
+
+happyReduce_495 = happyReduce 5 190 happyReduction_495
+happyReduction_495 ((HappyTerminal (Loc happy_var_5 XCodeTagClose)) `HappyStk`
+	(HappyTerminal (Loc happy_var_4 XCloseTagOpen)) `HappyStk`
+	(HappyAbsSyn27  happy_var_3) `HappyStk`
+	(HappyAbsSyn191  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 XChildTagOpen)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn17
+		 (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_496 = happySpecReduce_2  191 happyReduction_496
+happyReduction_496 (HappyAbsSyn17  happy_var_2)
+	(HappyAbsSyn191  happy_var_1)
+	 =  HappyAbsSyn191
+		 (happy_var_2 : happy_var_1
+	)
+happyReduction_496 _ _  = notHappyAtAll 
+
+happyReduce_497 = happySpecReduce_0  191 happyReduction_497
+happyReduction_497  =  HappyAbsSyn191
+		 ([]
+	)
+
+happyReduce_498 = happySpecReduce_1  192 happyReduction_498
+happyReduction_498 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn17
+		 (let Loc l (XPCDATA pcd) = happy_var_1 in XPcdata (nIS l) pcd
+	)
+happyReduction_498 _  = notHappyAtAll 
+
+happyReduce_499 = happySpecReduce_3  192 happyReduction_499
+happyReduction_499 (HappyTerminal (Loc happy_var_3 XRPatClose))
+	(HappyAbsSyn188  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 XRPatOpen))
+	 =  HappyAbsSyn17
+		 (XRPats (happy_var_1 <^^> happy_var_3 <** (snd happy_var_2 ++ [happy_var_1,happy_var_3])) $ reverse (fst happy_var_2)
+	)
+happyReduction_499 _ _ _  = notHappyAtAll 
+
+happyReduce_500 = happySpecReduce_1  192 happyReduction_500
+happyReduction_500 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn17
+		 (happy_var_1
+	)
+happyReduction_500 _  = notHappyAtAll 
+
+happyReduce_501 = happySpecReduce_3  193 happyReduction_501
+happyReduction_501 (HappyAbsSyn194  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Colon))
+	(HappyAbsSyn194  happy_var_1)
+	 =  HappyAbsSyn193
+		 (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
+	)
+happyReduction_501 _ _ _  = notHappyAtAll 
+
+happyReduce_502 = happySpecReduce_1  193 happyReduction_502
+happyReduction_502 (HappyAbsSyn194  happy_var_1)
+	 =  HappyAbsSyn193
+		 (let Loc l str = happy_var_1 in XName (nIS l) str
+	)
+happyReduction_502 _  = notHappyAtAll 
+
+happyReduce_503 = happySpecReduce_1  194 happyReduction_503
+happyReduction_503 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn194
+		 (let Loc l (VarId  s) = happy_var_1 in Loc l s
+	)
+happyReduction_503 _  = notHappyAtAll 
+
+happyReduce_504 = happySpecReduce_1  194 happyReduction_504
+happyReduction_504 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn194
+		 (let Loc l (ConId  s) = happy_var_1 in Loc l s
+	)
+happyReduction_504 _  = notHappyAtAll 
+
+happyReduce_505 = happySpecReduce_1  194 happyReduction_505
+happyReduction_505 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn194
+		 (let Loc l (DVarId s) = happy_var_1 in Loc l $ mkDVar s
+	)
+happyReduction_505 _  = notHappyAtAll 
+
+happyReduce_506 = happySpecReduce_1  194 happyReduction_506
+happyReduction_506 (HappyAbsSyn194  happy_var_1)
+	 =  HappyAbsSyn194
+		 (happy_var_1
+	)
+happyReduction_506 _  = notHappyAtAll 
+
+happyReduce_507 = happySpecReduce_1  195 happyReduction_507
+happyReduction_507 (HappyTerminal (Loc happy_var_1 KW_Type))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "type"
+	)
+happyReduction_507 _  = notHappyAtAll 
+
+happyReduce_508 = happySpecReduce_1  195 happyReduction_508
+happyReduction_508 (HappyTerminal (Loc happy_var_1 KW_Class))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "class"
+	)
+happyReduction_508 _  = notHappyAtAll 
+
+happyReduce_509 = happySpecReduce_1  195 happyReduction_509
+happyReduction_509 (HappyTerminal (Loc happy_var_1 KW_Data))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "data"
+	)
+happyReduction_509 _  = notHappyAtAll 
+
+happyReduce_510 = happySpecReduce_1  195 happyReduction_510
+happyReduction_510 (HappyTerminal (Loc happy_var_1 KW_Foreign))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "foreign"
+	)
+happyReduction_510 _  = notHappyAtAll 
+
+happyReduce_511 = happySpecReduce_1  195 happyReduction_511
+happyReduction_511 (HappyTerminal (Loc happy_var_1 KW_Export))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "export"
+	)
+happyReduction_511 _  = notHappyAtAll 
+
+happyReduce_512 = happySpecReduce_1  195 happyReduction_512
+happyReduction_512 (HappyTerminal (Loc happy_var_1 KW_Safe))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "safe"
+	)
+happyReduction_512 _  = notHappyAtAll 
+
+happyReduce_513 = happySpecReduce_1  195 happyReduction_513
+happyReduction_513 (HappyTerminal (Loc happy_var_1 KW_Unsafe))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "unsafe"
+	)
+happyReduction_513 _  = notHappyAtAll 
+
+happyReduce_514 = happySpecReduce_1  195 happyReduction_514
+happyReduction_514 (HappyTerminal (Loc happy_var_1 KW_Interruptible))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "interruptible"
+	)
+happyReduction_514 _  = notHappyAtAll 
+
+happyReduce_515 = happySpecReduce_1  195 happyReduction_515
+happyReduction_515 (HappyTerminal (Loc happy_var_1 KW_Threadsafe))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "threadsafe"
+	)
+happyReduction_515 _  = notHappyAtAll 
+
+happyReduce_516 = happySpecReduce_1  195 happyReduction_516
+happyReduction_516 (HappyTerminal (Loc happy_var_1 KW_StdCall))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "stdcall"
+	)
+happyReduction_516 _  = notHappyAtAll 
+
+happyReduce_517 = happySpecReduce_1  195 happyReduction_517
+happyReduction_517 (HappyTerminal (Loc happy_var_1 KW_CCall))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "ccall"
+	)
+happyReduction_517 _  = notHappyAtAll 
+
+happyReduce_518 = happySpecReduce_1  195 happyReduction_518
+happyReduction_518 (HappyTerminal (Loc happy_var_1 KW_CPlusPlus))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "cplusplus"
+	)
+happyReduction_518 _  = notHappyAtAll 
+
+happyReduce_519 = happySpecReduce_1  195 happyReduction_519
+happyReduction_519 (HappyTerminal (Loc happy_var_1 KW_DotNet))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "dotnet"
+	)
+happyReduction_519 _  = notHappyAtAll 
+
+happyReduce_520 = happySpecReduce_1  195 happyReduction_520
+happyReduction_520 (HappyTerminal (Loc happy_var_1 KW_Jvm))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "jvm"
+	)
+happyReduction_520 _  = notHappyAtAll 
+
+happyReduce_521 = happySpecReduce_1  195 happyReduction_521
+happyReduction_521 (HappyTerminal (Loc happy_var_1 KW_Js))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "js"
+	)
+happyReduction_521 _  = notHappyAtAll 
+
+happyReduce_522 = happySpecReduce_1  195 happyReduction_522
+happyReduction_522 (HappyTerminal (Loc happy_var_1 KW_JavaScript))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "javascript"
+	)
+happyReduction_522 _  = notHappyAtAll 
+
+happyReduce_523 = happySpecReduce_1  195 happyReduction_523
+happyReduction_523 (HappyTerminal (Loc happy_var_1 KW_CApi))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "capi"
+	)
+happyReduction_523 _  = notHappyAtAll 
+
+happyReduce_524 = happySpecReduce_1  195 happyReduction_524
+happyReduction_524 (HappyTerminal (Loc happy_var_1 KW_As))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "as"
+	)
+happyReduction_524 _  = notHappyAtAll 
+
+happyReduce_525 = happySpecReduce_1  195 happyReduction_525
+happyReduction_525 (HappyTerminal (Loc happy_var_1 KW_By))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "by"
+	)
+happyReduction_525 _  = notHappyAtAll 
+
+happyReduce_526 = happySpecReduce_1  195 happyReduction_526
+happyReduction_526 (HappyTerminal (Loc happy_var_1 KW_Case))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "case"
+	)
+happyReduction_526 _  = notHappyAtAll 
+
+happyReduce_527 = happySpecReduce_1  195 happyReduction_527
+happyReduction_527 (HappyTerminal (Loc happy_var_1 KW_Default))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "default"
+	)
+happyReduction_527 _  = notHappyAtAll 
+
+happyReduce_528 = happySpecReduce_1  195 happyReduction_528
+happyReduction_528 (HappyTerminal (Loc happy_var_1 KW_Deriving))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "deriving"
+	)
+happyReduction_528 _  = notHappyAtAll 
+
+happyReduce_529 = happySpecReduce_1  195 happyReduction_529
+happyReduction_529 (HappyTerminal (Loc happy_var_1 KW_Do))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "do"
+	)
+happyReduction_529 _  = notHappyAtAll 
+
+happyReduce_530 = happySpecReduce_1  195 happyReduction_530
+happyReduction_530 (HappyTerminal (Loc happy_var_1 KW_Else))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "else"
+	)
+happyReduction_530 _  = notHappyAtAll 
+
+happyReduce_531 = happySpecReduce_1  195 happyReduction_531
+happyReduction_531 (HappyTerminal (Loc happy_var_1 KW_Family))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "family"
+	)
+happyReduction_531 _  = notHappyAtAll 
+
+happyReduce_532 = happySpecReduce_1  195 happyReduction_532
+happyReduction_532 (HappyTerminal (Loc happy_var_1 KW_Forall))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "forall"
+	)
+happyReduction_532 _  = notHappyAtAll 
+
+happyReduce_533 = happySpecReduce_1  195 happyReduction_533
+happyReduction_533 (HappyTerminal (Loc happy_var_1 KW_Group))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "group"
+	)
+happyReduction_533 _  = notHappyAtAll 
+
+happyReduce_534 = happySpecReduce_1  195 happyReduction_534
+happyReduction_534 (HappyTerminal (Loc happy_var_1 KW_Hiding))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "hiding"
+	)
+happyReduction_534 _  = notHappyAtAll 
+
+happyReduce_535 = happySpecReduce_1  195 happyReduction_535
+happyReduction_535 (HappyTerminal (Loc happy_var_1 KW_If))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "if"
+	)
+happyReduction_535 _  = notHappyAtAll 
+
+happyReduce_536 = happySpecReduce_1  195 happyReduction_536
+happyReduction_536 (HappyTerminal (Loc happy_var_1 KW_Import))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "import"
+	)
+happyReduction_536 _  = notHappyAtAll 
+
+happyReduce_537 = happySpecReduce_1  195 happyReduction_537
+happyReduction_537 (HappyTerminal (Loc happy_var_1 KW_In))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "in"
+	)
+happyReduction_537 _  = notHappyAtAll 
+
+happyReduce_538 = happySpecReduce_1  195 happyReduction_538
+happyReduction_538 (HappyTerminal (Loc happy_var_1 KW_Infix))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "infix"
+	)
+happyReduction_538 _  = notHappyAtAll 
+
+happyReduce_539 = happySpecReduce_1  195 happyReduction_539
+happyReduction_539 (HappyTerminal (Loc happy_var_1 KW_InfixL))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "infixl"
+	)
+happyReduction_539 _  = notHappyAtAll 
+
+happyReduce_540 = happySpecReduce_1  195 happyReduction_540
+happyReduction_540 (HappyTerminal (Loc happy_var_1 KW_InfixR))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "infixr"
+	)
+happyReduction_540 _  = notHappyAtAll 
+
+happyReduce_541 = happySpecReduce_1  195 happyReduction_541
+happyReduction_541 (HappyTerminal (Loc happy_var_1 KW_Instance))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "instance"
+	)
+happyReduction_541 _  = notHappyAtAll 
+
+happyReduce_542 = happySpecReduce_1  195 happyReduction_542
+happyReduction_542 (HappyTerminal (Loc happy_var_1 KW_Let))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "let"
+	)
+happyReduction_542 _  = notHappyAtAll 
+
+happyReduce_543 = happySpecReduce_1  195 happyReduction_543
+happyReduction_543 (HappyTerminal (Loc happy_var_1 KW_MDo))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "mdo"
+	)
+happyReduction_543 _  = notHappyAtAll 
+
+happyReduce_544 = happySpecReduce_1  195 happyReduction_544
+happyReduction_544 (HappyTerminal (Loc happy_var_1 KW_Module))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "module"
+	)
+happyReduction_544 _  = notHappyAtAll 
+
+happyReduce_545 = happySpecReduce_1  195 happyReduction_545
+happyReduction_545 (HappyTerminal (Loc happy_var_1 KW_NewType))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "newtype"
+	)
+happyReduction_545 _  = notHappyAtAll 
+
+happyReduce_546 = happySpecReduce_1  195 happyReduction_546
+happyReduction_546 (HappyTerminal (Loc happy_var_1 KW_Of))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "of"
+	)
+happyReduction_546 _  = notHappyAtAll 
+
+happyReduce_547 = happySpecReduce_1  195 happyReduction_547
+happyReduction_547 (HappyTerminal (Loc happy_var_1 KW_Proc))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "proc"
+	)
+happyReduction_547 _  = notHappyAtAll 
+
+happyReduce_548 = happySpecReduce_1  195 happyReduction_548
+happyReduction_548 (HappyTerminal (Loc happy_var_1 KW_Rec))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "rec"
+	)
+happyReduction_548 _  = notHappyAtAll 
+
+happyReduce_549 = happySpecReduce_1  195 happyReduction_549
+happyReduction_549 (HappyTerminal (Loc happy_var_1 KW_Then))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "then"
+	)
+happyReduction_549 _  = notHappyAtAll 
+
+happyReduce_550 = happySpecReduce_1  195 happyReduction_550
+happyReduction_550 (HappyTerminal (Loc happy_var_1 KW_Using))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "using"
+	)
+happyReduction_550 _  = notHappyAtAll 
+
+happyReduce_551 = happySpecReduce_1  195 happyReduction_551
+happyReduction_551 (HappyTerminal (Loc happy_var_1 KW_Where))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "where"
+	)
+happyReduction_551 _  = notHappyAtAll 
+
+happyReduce_552 = happySpecReduce_1  195 happyReduction_552
+happyReduction_552 (HappyTerminal (Loc happy_var_1 KW_Qualified))
+	 =  HappyAbsSyn194
+		 (Loc happy_var_1 "qualified"
+	)
+happyReduction_552 _  = notHappyAtAll 
+
+happyReduce_553 = happySpecReduce_2  196 happyReduction_553
+happyReduction_553 (HappyAbsSyn197  happy_var_2)
+	(HappyAbsSyn196  happy_var_1)
+	 =  HappyAbsSyn196
+		 (happy_var_2 : happy_var_1
+	)
+happyReduction_553 _ _  = notHappyAtAll 
+
+happyReduce_554 = happySpecReduce_0  196 happyReduction_554
+happyReduction_554  =  HappyAbsSyn196
+		 ([]
+	)
+
+happyReduce_555 = happySpecReduce_3  197 happyReduction_555
+happyReduction_555 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Equals))
+	(HappyAbsSyn193  happy_var_1)
+	 =  HappyAbsSyn197
+		 (XAttr (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_555 _ _ _  = notHappyAtAll 
+
+happyReduce_556 = happySpecReduce_1  198 happyReduction_556
+happyReduction_556 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn198
+		 (Just happy_var_1
+	)
+happyReduction_556 _  = notHappyAtAll 
+
+happyReduce_557 = happySpecReduce_0  198 happyReduction_557
+happyReduction_557  =  HappyAbsSyn198
+		 (Nothing
+	)
+
+happyReduce_558 = happySpecReduce_1  199 happyReduction_558
+happyReduction_558 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn199
+		 (\l -> List l [happy_var_1]
+	)
+happyReduction_558 _  = notHappyAtAll 
+
+happyReduce_559 = happySpecReduce_1  199 happyReduction_559
+happyReduction_559 (HappyAbsSyn188  happy_var_1)
+	 =  HappyAbsSyn199
+		 (\l -> let (ps,ss) = happy_var_1 in List (l <** reverse ss) (reverse ps)
+	)
+happyReduction_559 _  = notHappyAtAll 
+
+happyReduce_560 = happySpecReduce_2  199 happyReduction_560
+happyReduction_560 (HappyTerminal (Loc happy_var_2 DotDot))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn199
+		 (\l -> EnumFrom       (l <** [happy_var_2]) happy_var_1
+	)
+happyReduction_560 _ _  = notHappyAtAll 
+
+happyReduce_561 = happyReduce 4 199 happyReduction_561
+happyReduction_561 ((HappyTerminal (Loc happy_var_4 DotDot)) `HappyStk`
+	(HappyAbsSyn17  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 Comma)) `HappyStk`
+	(HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn199
+		 (\l -> EnumFromThen   (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3
+	) `HappyStk` happyRest
+
+happyReduce_562 = happySpecReduce_3  199 happyReduction_562
+happyReduction_562 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 DotDot))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn199
+		 (\l -> EnumFromTo     (l <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_562 _ _ _  = notHappyAtAll 
+
+happyReduce_563 = happyReduce 5 199 happyReduction_563
+happyReduction_563 ((HappyAbsSyn17  happy_var_5) `HappyStk`
+	(HappyTerminal (Loc happy_var_4 DotDot)) `HappyStk`
+	(HappyAbsSyn17  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 Comma)) `HappyStk`
+	(HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn199
+		 (\l -> EnumFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5
+	) `HappyStk` happyRest
+
+happyReduce_564 = happySpecReduce_3  199 happyReduction_564
+happyReduction_564 (HappyAbsSyn201  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Bar))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn199
+		 (\l -> let (stss, ss) = happy_var_3 in ParComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)
+	)
+happyReduction_564 _ _ _  = notHappyAtAll 
+
+happyReduce_565 = happySpecReduce_3  200 happyReduction_565
+happyReduction_565 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn188  happy_var_1)
+	 =  HappyAbsSyn188
+		 (let (es, ss) = happy_var_1 in (happy_var_3 : es, happy_var_2 : ss)
+	)
+happyReduction_565 _ _ _  = notHappyAtAll 
+
+happyReduce_566 = happySpecReduce_3  200 happyReduction_566
+happyReduction_566 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn188
+		 (([happy_var_3,happy_var_1], [happy_var_2])
+	)
+happyReduction_566 _ _ _  = notHappyAtAll 
+
+happyReduce_567 = happySpecReduce_3  201 happyReduction_567
+happyReduction_567 (HappyAbsSyn202  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Bar))
+	(HappyAbsSyn201  happy_var_1)
+	 =  HappyAbsSyn201
+		 (let { (stss, ss1) = happy_var_1;
+                                              (sts, ss2) = happy_var_3 }
+                                         in (reverse sts : stss, ss1 ++ [happy_var_2] ++ reverse ss2)
+	)
+happyReduction_567 _ _ _  = notHappyAtAll 
+
+happyReduce_568 = happySpecReduce_1  201 happyReduction_568
+happyReduction_568 (HappyAbsSyn202  happy_var_1)
+	 =  HappyAbsSyn201
+		 (let (sts, ss) = happy_var_1 in ([reverse sts], reverse ss)
+	)
+happyReduction_568 _  = notHappyAtAll 
+
+happyReduce_569 = happySpecReduce_3  202 happyReduction_569
+happyReduction_569 (HappyAbsSyn203  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn202  happy_var_1)
+	 =  HappyAbsSyn202
+		 (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)
+	)
+happyReduction_569 _ _ _  = notHappyAtAll 
+
+happyReduce_570 = happySpecReduce_1  202 happyReduction_570
+happyReduction_570 (HappyAbsSyn203  happy_var_1)
+	 =  HappyAbsSyn202
+		 (([happy_var_1],[])
+	)
+happyReduction_570 _  = notHappyAtAll 
+
+happyReduce_571 = happySpecReduce_1  203 happyReduction_571
+happyReduction_571 (HappyAbsSyn203  happy_var_1)
+	 =  HappyAbsSyn203
+		 (happy_var_1
+	)
+happyReduction_571 _  = notHappyAtAll 
+
+happyReduce_572 = happySpecReduce_1  203 happyReduction_572
+happyReduction_572 (HappyAbsSyn206  happy_var_1)
+	 =  HappyAbsSyn203
+		 (QualStmt (ann happy_var_1) happy_var_1
+	)
+happyReduction_572 _  = notHappyAtAll 
+
+happyReduce_573 = happySpecReduce_2  204 happyReduction_573
+happyReduction_573 (HappyAbsSyn168  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 KW_Then))
+	 =  HappyAbsSyn203
+		 (ThenTrans    (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)
+happyReduction_573 _ _  = notHappyAtAll 
+
+happyReduce_574 = happyReduce 4 204 happyReduction_574
+happyReduction_574 ((HappyAbsSyn168  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 KW_By)) `HappyStk`
+	(HappyAbsSyn168  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Then)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn203
+		 (ThenBy       (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_3]) happy_var_2 happy_var_4
+	) `HappyStk` happyRest
+
+happyReduce_575 = happyReduce 4 204 happyReduction_575
+happyReduction_575 ((HappyAbsSyn168  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 KW_By)) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Group)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Then)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn203
+		 (GroupBy      (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4
+	) `HappyStk` happyRest
+
+happyReduce_576 = happyReduce 4 204 happyReduction_576
+happyReduction_576 ((HappyAbsSyn168  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 KW_Using)) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Group)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Then)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn203
+		 (GroupUsing   (nIS happy_var_1 <++> ann happy_var_4 <** [happy_var_1,happy_var_2,happy_var_3]) happy_var_4
+	) `HappyStk` happyRest
+
+happyReduce_577 = happyReduce 6 204 happyReduction_577
+happyReduction_577 ((HappyAbsSyn168  happy_var_6) `HappyStk`
+	(HappyTerminal (Loc happy_var_5 KW_Using)) `HappyStk`
+	(HappyAbsSyn168  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 KW_By)) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 KW_Group)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Then)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn203
+		 (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_578 = happySpecReduce_3  205 happyReduction_578
+happyReduction_578 (HappyAbsSyn206  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn205  happy_var_1)
+	 =  HappyAbsSyn205
+		 (let (sts, ss) = happy_var_1 in (happy_var_3 : sts, happy_var_2 : ss)
+	)
+happyReduction_578 _ _ _  = notHappyAtAll 
+
+happyReduce_579 = happySpecReduce_1  205 happyReduction_579
+happyReduction_579 (HappyAbsSyn206  happy_var_1)
+	 =  HappyAbsSyn205
+		 (([happy_var_1],[])
+	)
+happyReduction_579 _  = notHappyAtAll 
+
+happyReduce_580 = happySpecReduce_3  206 happyReduction_580
+happyReduction_580 (HappyAbsSyn168  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 LeftArrow))
+	(HappyAbsSyn180  happy_var_1)
+	 =  HappyAbsSyn206
+		 (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_580 _ _ _  = notHappyAtAll 
+
+happyReduce_581 = happySpecReduce_1  206 happyReduction_581
+happyReduction_581 (HappyAbsSyn168  happy_var_1)
+	 =  HappyAbsSyn206
+		 (Qualifier (ann happy_var_1) happy_var_1
+	)
+happyReduction_581 _  = notHappyAtAll 
+
+happyReduce_582 = happySpecReduce_2  206 happyReduction_582
+happyReduction_582 (HappyAbsSyn76  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 KW_Let))
+	 =  HappyAbsSyn206
+		 (LetStmt   (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)
+happyReduction_582 _ _  = notHappyAtAll 
+
+happyReduce_583 = happySpecReduce_0  207 happyReduction_583
+happyReduction_583  =  HappyAbsSyn199
+		 (\l -> ParArray l []
+	)
+
+happyReduce_584 = happySpecReduce_1  207 happyReduction_584
+happyReduction_584 (HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn199
+		 (\l -> ParArray l [happy_var_1]
+	)
+happyReduction_584 _  = notHappyAtAll 
+
+happyReduce_585 = happySpecReduce_1  207 happyReduction_585
+happyReduction_585 (HappyAbsSyn188  happy_var_1)
+	 =  HappyAbsSyn199
+		 (\l -> let (ps,ss) = happy_var_1 in ParArray (l <** reverse ss) (reverse ps)
+	)
+happyReduction_585 _  = notHappyAtAll 
+
+happyReduce_586 = happySpecReduce_3  207 happyReduction_586
+happyReduction_586 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 DotDot))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn199
+		 (\l -> ParArrayFromTo     (l <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_586 _ _ _  = notHappyAtAll 
+
+happyReduce_587 = happyReduce 5 207 happyReduction_587
+happyReduction_587 ((HappyAbsSyn17  happy_var_5) `HappyStk`
+	(HappyTerminal (Loc happy_var_4 DotDot)) `HappyStk`
+	(HappyAbsSyn17  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 Comma)) `HappyStk`
+	(HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn199
+		 (\l -> ParArrayFromThenTo (l <** [happy_var_2,happy_var_4]) happy_var_1 happy_var_3 happy_var_5
+	) `HappyStk` happyRest
+
+happyReduce_588 = happySpecReduce_3  207 happyReduction_588
+happyReduction_588 (HappyAbsSyn201  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Bar))
+	(HappyAbsSyn17  happy_var_1)
+	 =  HappyAbsSyn199
+		 (\l -> let (stss, ss) = happy_var_3 in ParArrayComp (l <** (happy_var_2:ss)) happy_var_1 (reverse stss)
+	)
+happyReduction_588 _ _ _  = notHappyAtAll 
+
+happyReduce_589 = happySpecReduce_3  208 happyReduction_589
+happyReduction_589 (HappyTerminal (Loc happy_var_3 RightCurly))
+	(HappyAbsSyn209  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftCurly))
+	 =  HappyAbsSyn208
+		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
+	)
+happyReduction_589 _ _ _  = notHappyAtAll 
+
+happyReduce_590 = happySpecReduce_3  208 happyReduction_590
+happyReduction_590 (HappyAbsSyn258  happy_var_3)
+	(HappyAbsSyn209  happy_var_2)
+	(HappyAbsSyn258  happy_var_1)
+	 =  HappyAbsSyn208
+		 (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])
+	)
+happyReduction_590 _ _ _  = notHappyAtAll 
+
+happyReduce_591 = happySpecReduce_3  209 happyReduction_591
+happyReduction_591 (HappyAbsSyn27  happy_var_3)
+	(HappyAbsSyn209  happy_var_2)
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn209
+		 ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)
+	)
+happyReduction_591 _ _ _  = notHappyAtAll 
+
+happyReduce_592 = happySpecReduce_3  210 happyReduction_592
+happyReduction_592 (HappyAbsSyn211  happy_var_3)
+	(HappyAbsSyn27  happy_var_2)
+	(HappyAbsSyn209  happy_var_1)
+	 =  HappyAbsSyn209
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)
+	)
+happyReduction_592 _ _ _  = notHappyAtAll 
+
+happyReduce_593 = happySpecReduce_1  210 happyReduction_593
+happyReduction_593 (HappyAbsSyn211  happy_var_1)
+	 =  HappyAbsSyn209
+		 (([happy_var_1],[])
+	)
+happyReduction_593 _  = notHappyAtAll 
+
+happyReduce_594 = happySpecReduce_3  211 happyReduction_594
+happyReduction_594 (HappyAbsSyn163  happy_var_3)
+	(HappyAbsSyn165  happy_var_2)
+	(HappyAbsSyn180  happy_var_1)
+	 =  HappyAbsSyn211
+		 (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)
+	)
+happyReduction_594 _ _ _  = notHappyAtAll 
+
+happyReduce_595 = happySpecReduce_2  212 happyReduction_595
+happyReduction_595 (HappyAbsSyn168  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 RightArrow))
+	 =  HappyAbsSyn165
+		 (UnGuardedRhs (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)
+happyReduction_595 _ _  = notHappyAtAll 
+
+happyReduce_596 = happySpecReduce_1  212 happyReduction_596
+happyReduction_596 (HappyAbsSyn166  happy_var_1)
+	 =  HappyAbsSyn165
+		 (GuardedRhss  (snd happy_var_1) (reverse $ fst happy_var_1)
+	)
+happyReduction_596 _  = notHappyAtAll 
+
+happyReduce_597 = happySpecReduce_2  213 happyReduction_597
+happyReduction_597 (HappyAbsSyn167  happy_var_2)
+	(HappyAbsSyn166  happy_var_1)
+	 =  HappyAbsSyn166
+		 ((happy_var_2 : fst happy_var_1, snd happy_var_1 <++> ann happy_var_2)
+	)
+happyReduction_597 _ _  = notHappyAtAll 
+
+happyReduce_598 = happySpecReduce_1  213 happyReduction_598
+happyReduction_598 (HappyAbsSyn167  happy_var_1)
+	 =  HappyAbsSyn166
+		 (([happy_var_1], ann happy_var_1)
+	)
+happyReduction_598 _  = notHappyAtAll 
+
+happyReduce_599 = happyMonadReduce 4 214 happyReduction_599
+happyReduction_599 ((HappyAbsSyn168  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 RightArrow)) `HappyStk`
+	(HappyAbsSyn205  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 Bar)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn167 r))
+
+happyReduce_600 = happyMonadReduce 1 215 happyReduction_600
+happyReduction_600 ((HappyAbsSyn17  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkPattern happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn180 r))
+
+happyReduce_601 = happyMonadReduce 2 215 happyReduction_601
+happyReduction_601 ((HappyAbsSyn17  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 Exclamation)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkPattern (BangPat (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2))
+	) (\r -> happyReturn (HappyAbsSyn180 r))
+
+happyReduce_602 = happySpecReduce_3  216 happyReduction_602
+happyReduction_602 (HappyTerminal (Loc happy_var_3 RightCurly))
+	(HappyAbsSyn217  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftCurly))
+	 =  HappyAbsSyn216
+		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
+	)
+happyReduction_602 _ _ _  = notHappyAtAll 
+
+happyReduce_603 = happySpecReduce_3  216 happyReduction_603
+happyReduction_603 (HappyAbsSyn258  happy_var_3)
+	(HappyAbsSyn217  happy_var_2)
+	(HappyAbsSyn258  happy_var_1)
+	 =  HappyAbsSyn216
+		 (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])
+	)
+happyReduction_603 _ _ _  = notHappyAtAll 
+
+happyReduce_604 = happySpecReduce_3  217 happyReduction_604
+happyReduction_604 (HappyAbsSyn27  happy_var_3)
+	(HappyAbsSyn217  happy_var_2)
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn217
+		 ((reverse $ fst happy_var_2, happy_var_1 ++ snd happy_var_2 ++ happy_var_3)
+	)
+happyReduction_604 _ _ _  = notHappyAtAll 
+
+happyReduce_605 = happySpecReduce_3  218 happyReduction_605
+happyReduction_605 (HappyAbsSyn167  happy_var_3)
+	(HappyAbsSyn27  happy_var_2)
+	(HappyAbsSyn217  happy_var_1)
+	 =  HappyAbsSyn217
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ happy_var_2)
+	)
+happyReduction_605 _ _ _  = notHappyAtAll 
+
+happyReduce_606 = happySpecReduce_1  218 happyReduction_606
+happyReduction_606 (HappyAbsSyn167  happy_var_1)
+	 =  HappyAbsSyn217
+		 (([happy_var_1], [])
+	)
+happyReduction_606 _  = notHappyAtAll 
+
+happyReduce_607 = happySpecReduce_3  219 happyReduction_607
+happyReduction_607 (HappyTerminal (Loc happy_var_3 RightCurly))
+	(HappyAbsSyn205  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftCurly))
+	 =  HappyAbsSyn219
+		 ((fst happy_var_2, happy_var_1 <^^> happy_var_3, happy_var_1:snd happy_var_2 ++ [happy_var_3])
+	)
+happyReduction_607 _ _ _  = notHappyAtAll 
+
+happyReduce_608 = happySpecReduce_3  219 happyReduction_608
+happyReduction_608 (HappyAbsSyn258  happy_var_3)
+	(HappyAbsSyn205  happy_var_2)
+	(HappyAbsSyn258  happy_var_1)
+	 =  HappyAbsSyn219
+		 (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])
+	)
+happyReduction_608 _ _ _  = notHappyAtAll 
+
+happyReduce_609 = happySpecReduce_2  220 happyReduction_609
+happyReduction_609 (HappyAbsSyn205  happy_var_2)
+	(HappyAbsSyn206  happy_var_1)
+	 =  HappyAbsSyn205
+		 ((happy_var_1 : fst happy_var_2, snd happy_var_2)
+	)
+happyReduction_609 _ _  = notHappyAtAll 
+
+happyReduce_610 = happySpecReduce_2  220 happyReduction_610
+happyReduction_610 (HappyAbsSyn205  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 SemiColon))
+	 =  HappyAbsSyn205
+		 ((fst happy_var_2, happy_var_1 : snd happy_var_2)
+	)
+happyReduction_610 _ _  = notHappyAtAll 
+
+happyReduce_611 = happySpecReduce_0  220 happyReduction_611
+happyReduction_611  =  HappyAbsSyn205
+		 (([],[])
+	)
+
+happyReduce_612 = happySpecReduce_2  221 happyReduction_612
+happyReduction_612 (HappyAbsSyn205  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 SemiColon))
+	 =  HappyAbsSyn205
+		 ((fst happy_var_2, happy_var_1 : snd happy_var_2)
+	)
+happyReduction_612 _ _  = notHappyAtAll 
+
+happyReduce_613 = happySpecReduce_0  221 happyReduction_613
+happyReduction_613  =  HappyAbsSyn205
+		 (([],[])
+	)
+
+happyReduce_614 = happySpecReduce_2  222 happyReduction_614
+happyReduction_614 (HappyAbsSyn76  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 KW_Let))
+	 =  HappyAbsSyn206
+		 (LetStmt (nIS happy_var_1 <++> ann happy_var_2 <** [happy_var_1]) happy_var_2
+	)
+happyReduction_614 _ _  = notHappyAtAll 
+
+happyReduce_615 = happySpecReduce_3  222 happyReduction_615
+happyReduction_615 (HappyAbsSyn168  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 LeftArrow))
+	(HappyAbsSyn180  happy_var_1)
+	 =  HappyAbsSyn206
+		 (Generator (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_615 _ _ _  = notHappyAtAll 
+
+happyReduce_616 = happySpecReduce_1  222 happyReduction_616
+happyReduction_616 (HappyAbsSyn168  happy_var_1)
+	 =  HappyAbsSyn206
+		 (Qualifier (ann happy_var_1) happy_var_1
+	)
+happyReduction_616 _  = notHappyAtAll 
+
+happyReduce_617 = happySpecReduce_2  222 happyReduction_617
+happyReduction_617 (HappyAbsSyn219  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 KW_Rec))
+	 =  HappyAbsSyn206
+		 (let (stms,inf,ss) = happy_var_2 in RecStmt (nIS happy_var_1 <++> inf <** happy_var_1:ss) stms
+	)
+happyReduction_617 _ _  = notHappyAtAll 
+
+happyReduce_618 = happySpecReduce_3  223 happyReduction_618
+happyReduction_618 (HappyAbsSyn223  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Comma))
+	(HappyAbsSyn224  happy_var_1)
+	 =  HappyAbsSyn223
+		 (let (fbs, ss) = happy_var_3 in (happy_var_1 : fbs, happy_var_2 : ss)
+	)
+happyReduction_618 _ _ _  = notHappyAtAll 
+
+happyReduce_619 = happySpecReduce_1  223 happyReduction_619
+happyReduction_619 (HappyAbsSyn224  happy_var_1)
+	 =  HappyAbsSyn223
+		 (([happy_var_1],[])
+	)
+happyReduction_619 _  = notHappyAtAll 
+
+happyReduce_620 = happyMonadReduce 1 223 happyReduction_620
+happyReduction_620 ((HappyTerminal (Loc happy_var_1 DotDot)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { checkEnabled RecordWildCards `atSrcLoc` (getPointLoc happy_var_1);
+                                              return ([FieldWildcard (nIS happy_var_1)], []) })
+	) (\r -> happyReturn (HappyAbsSyn223 r))
+
+happyReduce_621 = happySpecReduce_3  224 happyReduction_621
+happyReduction_621 (HappyAbsSyn17  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Equals))
+	(HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn224
+		 (FieldUpdate (happy_var_1 <>happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_621 _ _ _  = notHappyAtAll 
+
+happyReduce_622 = happyMonadReduce 1 224 happyReduction_622
+happyReduction_622 ((HappyAbsSyn34  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled NamedFieldPuns >> checkQualOrUnQual happy_var_1 >>= return . FieldPun (ann happy_var_1))
+	) (\r -> happyReturn (HappyAbsSyn224 r))
+
+happyReduce_623 = happySpecReduce_3  225 happyReduction_623
+happyReduction_623 (HappyAbsSyn27  happy_var_3)
+	(HappyAbsSyn225  happy_var_2)
+	(HappyAbsSyn27  happy_var_1)
+	 =  HappyAbsSyn225
+		 ((reverse (fst happy_var_2), reverse happy_var_1 ++ snd happy_var_2 ++ reverse happy_var_3)
+	)
+happyReduction_623 _ _ _  = notHappyAtAll 
+
+happyReduce_624 = happySpecReduce_3  226 happyReduction_624
+happyReduction_624 (HappyAbsSyn227  happy_var_3)
+	(HappyAbsSyn27  happy_var_2)
+	(HappyAbsSyn225  happy_var_1)
+	 =  HappyAbsSyn225
+		 ((happy_var_3 : fst happy_var_1, snd happy_var_1 ++ reverse happy_var_2)
+	)
+happyReduction_624 _ _ _  = notHappyAtAll 
+
+happyReduce_625 = happySpecReduce_1  226 happyReduction_625
+happyReduction_625 (HappyAbsSyn227  happy_var_1)
+	 =  HappyAbsSyn225
+		 (([happy_var_1],[])
+	)
+happyReduction_625 _  = notHappyAtAll 
+
+happyReduce_626 = happySpecReduce_3  227 happyReduction_626
+happyReduction_626 (HappyAbsSyn168  happy_var_3)
+	(HappyTerminal (Loc happy_var_2 Equals))
+	(HappyAbsSyn232  happy_var_1)
+	 =  HappyAbsSyn227
+		 (IPBind (happy_var_1 <> happy_var_3 <** [happy_var_2]) happy_var_1 happy_var_3
+	)
+happyReduction_626 _ _ _  = notHappyAtAll 
+
+happyReduce_627 = happySpecReduce_2  228 happyReduction_627
+happyReduction_627 (HappyTerminal (Loc happy_var_2 RightParen))
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn17
+		 (p_unit_con              (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])
+	)
+happyReduction_627 _ _  = notHappyAtAll 
+
+happyReduce_628 = happySpecReduce_2  228 happyReduction_628
+happyReduction_628 (HappyTerminal (Loc happy_var_2 RightSquare))
+	(HappyTerminal (Loc happy_var_1 LeftSquare))
+	 =  HappyAbsSyn17
+		 (List                    (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2]) []
+	)
+happyReduction_628 _ _  = notHappyAtAll 
+
+happyReduce_629 = happySpecReduce_3  228 happyReduction_629
+happyReduction_629 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn27  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn17
+		 (p_tuple_con             (happy_var_1 <^^> happy_var_3 <** happy_var_1:reverse (happy_var_3:happy_var_2)) Boxed (length happy_var_2)
+	)
+happyReduction_629 _ _ _  = notHappyAtAll 
+
+happyReduce_630 = happySpecReduce_2  228 happyReduction_630
+happyReduction_630 (HappyTerminal (Loc happy_var_2 RightHashParen))
+	(HappyTerminal (Loc happy_var_1 LeftHashParen))
+	 =  HappyAbsSyn17
+		 (p_unboxed_singleton_con (happy_var_1 <^^> happy_var_2 <** [happy_var_1,happy_var_2])
+	)
+happyReduction_630 _ _  = notHappyAtAll 
+
+happyReduce_631 = happySpecReduce_3  228 happyReduction_631
+happyReduction_631 (HappyTerminal (Loc happy_var_3 RightHashParen))
+	(HappyAbsSyn27  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftHashParen))
+	 =  HappyAbsSyn17
+		 (p_tuple_con             (happy_var_1 <^^> happy_var_3 <** happy_var_1:reverse (happy_var_3:happy_var_2)) Unboxed (length happy_var_2)
+	)
+happyReduction_631 _ _ _  = notHappyAtAll 
+
+happyReduce_632 = happySpecReduce_1  228 happyReduction_632
+happyReduction_632 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn17
+		 (Con (ann happy_var_1) happy_var_1
+	)
+happyReduction_632 _  = notHappyAtAll 
+
+happyReduce_633 = happySpecReduce_1  229 happyReduction_633
+happyReduction_633 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn100
+		 (happy_var_1
+	)
+happyReduction_633 _  = notHappyAtAll 
+
+happyReduce_634 = happySpecReduce_3  229 happyReduction_634
+happyReduction_634 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn100  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn100
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+	)
+happyReduction_634 _ _ _  = notHappyAtAll 
+
+happyReduce_635 = happySpecReduce_1  230 happyReduction_635
+happyReduction_635 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn100
+		 (happy_var_1
+	)
+happyReduction_635 _  = notHappyAtAll 
+
+happyReduce_636 = happySpecReduce_3  230 happyReduction_636
+happyReduction_636 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn100  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn100
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+	)
+happyReduction_636 _ _ _  = notHappyAtAll 
+
+happyReduce_637 = happySpecReduce_1  231 happyReduction_637
+happyReduction_637 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_637 _  = notHappyAtAll 
+
+happyReduce_638 = happySpecReduce_3  231 happyReduction_638
+happyReduction_638 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn34  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn34
+		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)
+happyReduction_638 _ _ _  = notHappyAtAll 
+
+happyReduce_639 = happySpecReduce_1  232 happyReduction_639
+happyReduction_639 (HappyAbsSyn232  happy_var_1)
+	 =  HappyAbsSyn232
+		 (happy_var_1
+	)
+happyReduction_639 _  = notHappyAtAll 
+
+happyReduce_640 = happySpecReduce_1  233 happyReduction_640
+happyReduction_640 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn100
+		 (happy_var_1
+	)
+happyReduction_640 _  = notHappyAtAll 
+
+happyReduce_641 = happySpecReduce_3  233 happyReduction_641
+happyReduction_641 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn100  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn100
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+	)
+happyReduction_641 _ _ _  = notHappyAtAll 
+
+happyReduce_642 = happySpecReduce_1  234 happyReduction_642
+happyReduction_642 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_642 _  = notHappyAtAll 
+
+happyReduce_643 = happySpecReduce_3  234 happyReduction_643
+happyReduction_643 (HappyTerminal (Loc happy_var_3 RightParen))
+	(HappyAbsSyn34  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 LeftParen))
+	 =  HappyAbsSyn34
+		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)
+happyReduction_643 _ _ _  = notHappyAtAll 
+
+happyReduce_644 = happySpecReduce_1  235 happyReduction_644
+happyReduction_644 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn100
+		 (happy_var_1
+	)
+happyReduction_644 _  = notHappyAtAll 
+
+happyReduce_645 = happySpecReduce_3  235 happyReduction_645
+happyReduction_645 (HappyTerminal (Loc happy_var_3 BackQuote))
+	(HappyAbsSyn100  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 BackQuote))
+	 =  HappyAbsSyn100
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+	)
+happyReduction_645 _ _ _  = notHappyAtAll 
+
+happyReduce_646 = happySpecReduce_1  236 happyReduction_646
+happyReduction_646 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_646 _  = notHappyAtAll 
+
+happyReduce_647 = happySpecReduce_3  236 happyReduction_647
+happyReduction_647 (HappyTerminal (Loc happy_var_3 BackQuote))
+	(HappyAbsSyn34  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 BackQuote))
+	 =  HappyAbsSyn34
+		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)
+happyReduction_647 _ _ _  = notHappyAtAll 
+
+happyReduce_648 = happySpecReduce_1  237 happyReduction_648
+happyReduction_648 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_648 _  = notHappyAtAll 
+
+happyReduce_649 = happySpecReduce_3  237 happyReduction_649
+happyReduction_649 (HappyTerminal (Loc happy_var_3 BackQuote))
+	(HappyAbsSyn34  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 BackQuote))
+	 =  HappyAbsSyn34
+		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)
+happyReduction_649 _ _ _  = notHappyAtAll 
+
+happyReduce_650 = happySpecReduce_1  238 happyReduction_650
+happyReduction_650 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn100
+		 (happy_var_1
+	)
+happyReduction_650 _  = notHappyAtAll 
+
+happyReduce_651 = happySpecReduce_3  238 happyReduction_651
+happyReduction_651 (HappyTerminal (Loc happy_var_3 BackQuote))
+	(HappyAbsSyn100  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 BackQuote))
+	 =  HappyAbsSyn100
+		 (fmap (const (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3])) happy_var_2
+	)
+happyReduction_651 _ _ _  = notHappyAtAll 
+
+happyReduce_652 = happySpecReduce_1  239 happyReduction_652
+happyReduction_652 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_652 _  = notHappyAtAll 
+
+happyReduce_653 = happySpecReduce_3  239 happyReduction_653
+happyReduction_653 (HappyTerminal (Loc happy_var_3 BackQuote))
+	(HappyAbsSyn34  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 BackQuote))
+	 =  HappyAbsSyn34
+		 (updateQNameLoc (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)
+happyReduction_653 _ _ _  = notHappyAtAll 
+
+happyReduce_654 = happySpecReduce_1  240 happyReduction_654
+happyReduction_654 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn240
+		 (VarOp (ann happy_var_1) happy_var_1
+	)
+happyReduction_654 _  = notHappyAtAll 
+
+happyReduce_655 = happySpecReduce_1  240 happyReduction_655
+happyReduction_655 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn240
+		 (ConOp (ann happy_var_1) happy_var_1
+	)
+happyReduction_655 _  = notHappyAtAll 
+
+happyReduce_656 = happySpecReduce_1  241 happyReduction_656
+happyReduction_656 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn241
+		 (QVarOp (ann happy_var_1) happy_var_1
+	)
+happyReduction_656 _  = notHappyAtAll 
+
+happyReduce_657 = happySpecReduce_1  241 happyReduction_657
+happyReduction_657 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn241
+		 (QConOp (ann happy_var_1) happy_var_1
+	)
+happyReduction_657 _  = notHappyAtAll 
+
+happyReduce_658 = happySpecReduce_1  242 happyReduction_658
+happyReduction_658 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn241
+		 (QVarOp (ann happy_var_1) happy_var_1
+	)
+happyReduction_658 _  = notHappyAtAll 
+
+happyReduce_659 = happySpecReduce_1  242 happyReduction_659
+happyReduction_659 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn241
+		 (QConOp (ann happy_var_1) happy_var_1
+	)
+happyReduction_659 _  = notHappyAtAll 
+
+happyReduce_660 = happySpecReduce_1  243 happyReduction_660
+happyReduction_660 (HappyTerminal (Loc happy_var_1 Colon))
+	 =  HappyAbsSyn34
+		 (list_cons_name (nIS happy_var_1)
+	)
+happyReduction_660 _  = notHappyAtAll 
+
+happyReduce_661 = happySpecReduce_1  243 happyReduction_661
+happyReduction_661 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_661 _  = notHappyAtAll 
+
+happyReduce_662 = happySpecReduce_1  244 happyReduction_662
+happyReduction_662 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn34
+		 (UnQual (ann happy_var_1) happy_var_1
+	)
+happyReduction_662 _  = notHappyAtAll 
+
+happyReduce_663 = happySpecReduce_1  244 happyReduction_663
+happyReduction_663 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn34
+		 (let {Loc l (QVarId q) = happy_var_1; nis = nIS l}
+                                 in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))
+	)
+happyReduction_663 _  = notHappyAtAll 
+
+happyReduce_664 = happySpecReduce_1  245 happyReduction_664
+happyReduction_664 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn100
+		 (let Loc l (VarId v) = happy_var_1 in Ident (nIS l) v
+	)
+happyReduction_664 _  = notHappyAtAll 
+
+happyReduce_665 = happySpecReduce_1  245 happyReduction_665
+happyReduction_665 (HappyTerminal (Loc happy_var_1 KW_As))
+	 =  HappyAbsSyn100
+		 (as_name         (nIS happy_var_1)
+	)
+happyReduction_665 _  = notHappyAtAll 
+
+happyReduce_666 = happySpecReduce_1  245 happyReduction_666
+happyReduction_666 (HappyTerminal (Loc happy_var_1 KW_Qualified))
+	 =  HappyAbsSyn100
+		 (qualified_name  (nIS happy_var_1)
+	)
+happyReduction_666 _  = notHappyAtAll 
+
+happyReduce_667 = happySpecReduce_1  245 happyReduction_667
+happyReduction_667 (HappyTerminal (Loc happy_var_1 KW_Hiding))
+	 =  HappyAbsSyn100
+		 (hiding_name     (nIS happy_var_1)
+	)
+happyReduction_667 _  = notHappyAtAll 
+
+happyReduce_668 = happySpecReduce_1  245 happyReduction_668
+happyReduction_668 (HappyTerminal (Loc happy_var_1 KW_Export))
+	 =  HappyAbsSyn100
+		 (export_name     (nIS happy_var_1)
+	)
+happyReduction_668 _  = notHappyAtAll 
+
+happyReduce_669 = happySpecReduce_1  245 happyReduction_669
+happyReduction_669 (HappyTerminal (Loc happy_var_1 KW_StdCall))
+	 =  HappyAbsSyn100
+		 (stdcall_name    (nIS happy_var_1)
+	)
+happyReduction_669 _  = notHappyAtAll 
+
+happyReduce_670 = happySpecReduce_1  245 happyReduction_670
+happyReduction_670 (HappyTerminal (Loc happy_var_1 KW_CCall))
+	 =  HappyAbsSyn100
+		 (ccall_name      (nIS happy_var_1)
+	)
+happyReduction_670 _  = notHappyAtAll 
+
+happyReduce_671 = happySpecReduce_1  245 happyReduction_671
+happyReduction_671 (HappyTerminal (Loc happy_var_1 KW_CPlusPlus))
+	 =  HappyAbsSyn100
+		 (cplusplus_name  (nIS happy_var_1)
+	)
+happyReduction_671 _  = notHappyAtAll 
+
+happyReduce_672 = happySpecReduce_1  245 happyReduction_672
+happyReduction_672 (HappyTerminal (Loc happy_var_1 KW_DotNet))
+	 =  HappyAbsSyn100
+		 (dotnet_name     (nIS happy_var_1)
+	)
+happyReduction_672 _  = notHappyAtAll 
+
+happyReduce_673 = happySpecReduce_1  245 happyReduction_673
+happyReduction_673 (HappyTerminal (Loc happy_var_1 KW_Jvm))
+	 =  HappyAbsSyn100
+		 (jvm_name        (nIS happy_var_1)
+	)
+happyReduction_673 _  = notHappyAtAll 
+
+happyReduce_674 = happySpecReduce_1  245 happyReduction_674
+happyReduction_674 (HappyTerminal (Loc happy_var_1 KW_Js))
+	 =  HappyAbsSyn100
+		 (js_name         (nIS happy_var_1)
+	)
+happyReduction_674 _  = notHappyAtAll 
+
+happyReduce_675 = happySpecReduce_1  245 happyReduction_675
+happyReduction_675 (HappyTerminal (Loc happy_var_1 KW_JavaScript))
+	 =  HappyAbsSyn100
+		 (javascript_name (nIS happy_var_1)
+	)
+happyReduction_675 _  = notHappyAtAll 
+
+happyReduce_676 = happySpecReduce_1  245 happyReduction_676
+happyReduction_676 (HappyTerminal (Loc happy_var_1 KW_CApi))
+	 =  HappyAbsSyn100
+		 (capi_name       (nIS happy_var_1)
+	)
+happyReduction_676 _  = notHappyAtAll 
+
+happyReduce_677 = happySpecReduce_1  246 happyReduction_677
+happyReduction_677 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn100
+		 (happy_var_1
+	)
+happyReduction_677 _  = notHappyAtAll 
+
+happyReduce_678 = happySpecReduce_1  246 happyReduction_678
+happyReduction_678 (HappyTerminal (Loc happy_var_1 KW_Safe))
+	 =  HappyAbsSyn100
+		 (safe_name       (nIS happy_var_1)
+	)
+happyReduction_678 _  = notHappyAtAll 
+
+happyReduce_679 = happySpecReduce_1  246 happyReduction_679
+happyReduction_679 (HappyTerminal (Loc happy_var_1 KW_Unsafe))
+	 =  HappyAbsSyn100
+		 (unsafe_name     (nIS happy_var_1)
+	)
+happyReduction_679 _  = notHappyAtAll 
+
+happyReduce_680 = happySpecReduce_1  246 happyReduction_680
+happyReduction_680 (HappyTerminal (Loc happy_var_1 KW_Interruptible))
+	 =  HappyAbsSyn100
+		 (interruptible_name (nIS happy_var_1)
+	)
+happyReduction_680 _  = notHappyAtAll 
+
+happyReduce_681 = happySpecReduce_1  246 happyReduction_681
+happyReduction_681 (HappyTerminal (Loc happy_var_1 KW_Threadsafe))
+	 =  HappyAbsSyn100
+		 (threadsafe_name (nIS happy_var_1)
+	)
+happyReduction_681 _  = notHappyAtAll 
+
+happyReduce_682 = happySpecReduce_1  246 happyReduction_682
+happyReduction_682 (HappyTerminal (Loc happy_var_1 KW_Forall))
+	 =  HappyAbsSyn100
+		 (forall_name	  (nIS happy_var_1)
+	)
+happyReduction_682 _  = notHappyAtAll 
+
+happyReduce_683 = happySpecReduce_1  246 happyReduction_683
+happyReduction_683 (HappyTerminal (Loc happy_var_1 KW_Family))
+	 =  HappyAbsSyn100
+		 (family_name     (nIS happy_var_1)
+	)
+happyReduction_683 _  = notHappyAtAll 
+
+happyReduce_684 = happySpecReduce_1  246 happyReduction_684
+happyReduction_684 (HappyTerminal (Loc happy_var_1 KW_Role))
+	 =  HappyAbsSyn100
+		 (role_name  (nIS happy_var_1)
+	)
+happyReduction_684 _  = notHappyAtAll 
+
+happyReduce_685 = happySpecReduce_1  247 happyReduction_685
+happyReduction_685 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn232
+		 (let Loc l (IDupVarId i) = happy_var_1 in IPDup (nIS l) i
+	)
+happyReduction_685 _  = notHappyAtAll 
+
+happyReduce_686 = happySpecReduce_1  247 happyReduction_686
+happyReduction_686 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn232
+		 (let Loc l (ILinVarId i) = happy_var_1 in IPLin (nIS l) i
+	)
+happyReduction_686 _  = notHappyAtAll 
+
+happyReduce_687 = happySpecReduce_1  248 happyReduction_687
+happyReduction_687 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn34
+		 (UnQual (ann happy_var_1) happy_var_1
+	)
+happyReduction_687 _  = notHappyAtAll 
+
+happyReduce_688 = happySpecReduce_1  248 happyReduction_688
+happyReduction_688 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn34
+		 (let {Loc l (QConId q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Ident nis (snd q))
+	)
+happyReduction_688 _  = notHappyAtAll 
+
+happyReduce_689 = happySpecReduce_1  249 happyReduction_689
+happyReduction_689 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn100
+		 (let Loc l (ConId c) = happy_var_1 in Ident (nIS l) c
+	)
+happyReduction_689 _  = notHappyAtAll 
+
+happyReduce_690 = happySpecReduce_1  250 happyReduction_690
+happyReduction_690 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn34
+		 (UnQual (ann happy_var_1) happy_var_1
+	)
+happyReduction_690 _  = notHappyAtAll 
+
+happyReduce_691 = happySpecReduce_1  250 happyReduction_691
+happyReduction_691 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn34
+		 (let {Loc l (QConSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))
+	)
+happyReduction_691 _  = notHappyAtAll 
+
+happyReduce_692 = happySpecReduce_1  251 happyReduction_692
+happyReduction_692 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn100
+		 (let Loc l (ConSym c) = happy_var_1 in Symbol (nIS l) c
+	)
+happyReduction_692 _  = notHappyAtAll 
+
+happyReduce_693 = happySpecReduce_1  252 happyReduction_693
+happyReduction_693 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn34
+		 (UnQual (ann happy_var_1) happy_var_1
+	)
+happyReduction_693 _  = notHappyAtAll 
+
+happyReduce_694 = happySpecReduce_1  252 happyReduction_694
+happyReduction_694 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_694 _  = notHappyAtAll 
+
+happyReduce_695 = happySpecReduce_1  253 happyReduction_695
+happyReduction_695 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn34
+		 (UnQual (ann happy_var_1) happy_var_1
+	)
+happyReduction_695 _  = notHappyAtAll 
+
+happyReduce_696 = happySpecReduce_1  253 happyReduction_696
+happyReduction_696 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_696 _  = notHappyAtAll 
+
+happyReduce_697 = happySpecReduce_1  254 happyReduction_697
+happyReduction_697 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn100
+		 (happy_var_1
+	)
+happyReduction_697 _  = notHappyAtAll 
+
+happyReduce_698 = happySpecReduce_1  254 happyReduction_698
+happyReduction_698 (HappyTerminal (Loc happy_var_1 Minus))
+	 =  HappyAbsSyn100
+		 (minus_name (nIS happy_var_1)
+	)
+happyReduction_698 _  = notHappyAtAll 
+
+happyReduce_699 = happySpecReduce_1  255 happyReduction_699
+happyReduction_699 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn100
+		 (let Loc l (VarSym v) = happy_var_1 in Symbol (nIS l) v
+	)
+happyReduction_699 _  = notHappyAtAll 
+
+happyReduce_700 = happySpecReduce_1  255 happyReduction_700
+happyReduction_700 (HappyTerminal (Loc happy_var_1 Exclamation))
+	 =  HappyAbsSyn100
+		 (bang_name (nIS happy_var_1)
+	)
+happyReduction_700 _  = notHappyAtAll 
+
+happyReduce_701 = happySpecReduce_1  255 happyReduction_701
+happyReduction_701 (HappyTerminal (Loc happy_var_1 Dot))
+	 =  HappyAbsSyn100
+		 (dot_name  (nIS happy_var_1)
+	)
+happyReduction_701 _  = notHappyAtAll 
+
+happyReduce_702 = happySpecReduce_1  255 happyReduction_702
+happyReduction_702 (HappyTerminal (Loc happy_var_1 Star))
+	 =  HappyAbsSyn100
+		 (star_name (nIS happy_var_1)
+	)
+happyReduction_702 _  = notHappyAtAll 
+
+happyReduce_703 = happySpecReduce_1  256 happyReduction_703
+happyReduction_703 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn34
+		 (let {Loc l (QVarSym q) = happy_var_1; nis = nIS l} in Qual nis (ModuleName nis (fst q)) (Symbol nis (snd q))
+	)
+happyReduction_703 _  = notHappyAtAll 
+
+happyReduce_704 = happySpecReduce_1  257 happyReduction_704
+happyReduction_704 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn257
+		 (let Loc l (IntTok        (i,raw)) = happy_var_1 in Int        (nIS l) i raw
+	)
+happyReduction_704 _  = notHappyAtAll 
+
+happyReduce_705 = happySpecReduce_1  257 happyReduction_705
+happyReduction_705 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn257
+		 (let Loc l (Character     (c,raw)) = happy_var_1 in Char       (nIS l) c raw
+	)
+happyReduction_705 _  = notHappyAtAll 
+
+happyReduce_706 = happySpecReduce_1  257 happyReduction_706
+happyReduction_706 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn257
+		 (let Loc l (FloatTok      (r,raw)) = happy_var_1 in Frac       (nIS l) r raw
+	)
+happyReduction_706 _  = notHappyAtAll 
+
+happyReduce_707 = happySpecReduce_1  257 happyReduction_707
+happyReduction_707 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn257
+		 (let Loc l (StringTok     (s,raw)) = happy_var_1 in String     (nIS l) s raw
+	)
+happyReduction_707 _  = notHappyAtAll 
+
+happyReduce_708 = happySpecReduce_1  257 happyReduction_708
+happyReduction_708 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn257
+		 (let Loc l (IntTokHash    (i,raw)) = happy_var_1 in PrimInt    (nIS l) i raw
+	)
+happyReduction_708 _  = notHappyAtAll 
+
+happyReduce_709 = happySpecReduce_1  257 happyReduction_709
+happyReduction_709 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn257
+		 (let Loc l (WordTokHash   (w,raw)) = happy_var_1 in PrimWord   (nIS l) w raw
+	)
+happyReduction_709 _  = notHappyAtAll 
+
+happyReduce_710 = happySpecReduce_1  257 happyReduction_710
+happyReduction_710 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn257
+		 (let Loc l (FloatTokHash  (f,raw)) = happy_var_1 in PrimFloat  (nIS l) f raw
+	)
+happyReduction_710 _  = notHappyAtAll 
+
+happyReduce_711 = happySpecReduce_1  257 happyReduction_711
+happyReduction_711 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn257
+		 (let Loc l (DoubleTokHash (d,raw)) = happy_var_1 in PrimDouble (nIS l) d raw
+	)
+happyReduction_711 _  = notHappyAtAll 
+
+happyReduce_712 = happySpecReduce_1  257 happyReduction_712
+happyReduction_712 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn257
+		 (let Loc l (CharacterHash (c,raw)) = happy_var_1 in PrimChar   (nIS l) c raw
+	)
+happyReduction_712 _  = notHappyAtAll 
+
+happyReduce_713 = happySpecReduce_1  257 happyReduction_713
+happyReduction_713 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn257
+		 (let Loc l (StringHash    (s,raw)) = happy_var_1 in PrimString (nIS l) s raw
+	)
+happyReduction_713 _  = notHappyAtAll 
+
+happyReduce_714 = happyMonadReduce 0 258 happyReduction_714
+happyReduction_714 (happyRest) tk
+	 = happyThen (( pushCurrentContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x) (return x) -})
+	) (\r -> happyReturn (HappyAbsSyn258 r))
+
+happyReduce_715 = happySpecReduce_1  259 happyReduction_715
+happyReduction_715 (HappyTerminal (Loc happy_var_1 VRightCurly))
+	 =  HappyAbsSyn258
+		 (happy_var_1 {- >>= \x -> trace (show x ++ show x ++ show x) (return x) -}
+	)
+happyReduction_715 _  = notHappyAtAll 
+
+happyReduce_716 = happyMonadReduce 1 259 happyReduction_716
+happyReduction_716 (_ `HappyStk`
+	happyRest) tk
+	 = happyThen (( popContext >> getSrcLoc >>= \s -> return $ mkSrcSpan s s {- >>= \x -> trace (show x ++ show x) (return x) -})
+	) (\r -> happyReturn (HappyAbsSyn258 r))
+
+happyReduce_717 = happyMonadReduce 1 260 happyReduction_717
+happyReduction_717 ((HappyAbsSyn49  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkEnabled PatternSynonyms >> return happy_var_1)
+	) (\r -> happyReturn (HappyAbsSyn49 r))
+
+happyReduce_718 = happyReduce 4 261 happyReduction_718
+happyReduction_718 ((HappyAbsSyn180  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 Equals)) `HappyStk`
+	(HappyAbsSyn180  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Pattern)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn49
+		 (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_719 = happyReduce 4 261 happyReduction_719
+happyReduction_719 ((HappyAbsSyn180  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 LeftArrow)) `HappyStk`
+	(HappyAbsSyn180  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Pattern)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn49
+		 (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_720 = happyReduce 5 261 happyReduction_720
+happyReduction_720 ((HappyAbsSyn264  happy_var_5) `HappyStk`
+	(HappyAbsSyn180  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 LeftArrow)) `HappyStk`
+	(HappyAbsSyn180  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Pattern)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn49
+		 (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_721 = happySpecReduce_2  262 happyReduction_721
+happyReduction_721 (HappyAbsSyn179  happy_var_2)
+	(HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn180
+		 (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
+	)
+happyReduction_721 _ _  = notHappyAtAll 
+
+happyReduce_722 = happySpecReduce_3  262 happyReduction_722
+happyReduction_722 (HappyAbsSyn100  happy_var_3)
+	(HappyAbsSyn34  happy_var_2)
+	(HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn180
+		 (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)
+	)
+happyReduction_722 _ _ _  = notHappyAtAll 
+
+happyReduce_723 = happySpecReduce_0  263 happyReduction_723
+happyReduction_723  =  HappyAbsSyn179
+		 ([]
+	)
+
+happyReduce_724 = happySpecReduce_2  263 happyReduction_724
+happyReduction_724 (HappyAbsSyn179  happy_var_2)
+	(HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn179
+		 (PVar (ann happy_var_1) happy_var_1 : happy_var_2
+	)
+happyReduction_724 _ _  = notHappyAtAll 
+
+happyReduce_725 = happyMonadReduce 4 264 happyReduction_725
+happyReduction_725 ((HappyTerminal (Loc happy_var_4 RightCurly)) `HappyStk`
+	(HappyAbsSyn56  happy_var_3) `HappyStk`
+	(HappyTerminal (Loc happy_var_2 LeftCurly)) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Where)) `HappyStk`
+	happyRest) tk
+	 = happyThen ((  checkExplicitPatSyn happy_var_1 happy_var_2 happy_var_3 happy_var_4)
+	) (\r -> happyReturn (HappyAbsSyn264 r))
+
+happyReduce_726 = happyMonadReduce 4 264 happyReduction_726
+happyReduction_726 ((HappyAbsSyn258  happy_var_4) `HappyStk`
+	(HappyAbsSyn56  happy_var_3) `HappyStk`
+	(HappyAbsSyn258  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Where)) `HappyStk`
+	happyRest) tk
+	 = happyThen ((  checkExplicitPatSyn happy_var_1 happy_var_2 happy_var_3 happy_var_4)
+	) (\r -> happyReturn (HappyAbsSyn264 r))
+
+happyReduce_727 = happyMonadReduce 4 265 happyReduction_727
+happyReduction_727 ((HappyAbsSyn266  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 DoubleColon)) `HappyStk`
+	(HappyAbsSyn100  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Pattern)) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { checkEnabled PatternSynonyms ;
+                    let {(qtvs, ps, prov, req, ty) = happy_var_4} ;
+                    let {sig = PatSynSig (nIS happy_var_1 <++> ann ty <** [happy_var_1, happy_var_3] ++ ps)  happy_var_2 qtvs prov req ty} ;
+                    return sig })
+	) (\r -> happyReturn (HappyAbsSyn49 r))
+
+happyReduce_728 = happyReduce 4 266 happyReduction_728
+happyReduction_728 ((HappyAbsSyn266  happy_var_4) `HappyStk`
+	(HappyTerminal (Loc happy_var_3 Dot)) `HappyStk`
+	(HappyAbsSyn122  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 KW_Forall)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn266
+		 (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_729 = happyMonadReduce 3 266 happyReduction_729
+happyReduction_729 ((HappyAbsSyn103  happy_var_3) `HappyStk`
+	(HappyAbsSyn119  happy_var_2) `HappyStk`
+	(HappyAbsSyn119  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( 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 (HappyAbsSyn266 r))
+
+happyReduce_730 = happyMonadReduce 2 266 happyReduction_730
+happyReduction_730 ((HappyAbsSyn103  happy_var_2) `HappyStk`
+	(HappyAbsSyn119  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( do { c1 <- checkContext (Just happy_var_1);
+                     t <- checkType happy_var_2;
+                     return (Nothing, [], c1, Nothing, t) })
+	) (\r -> happyReturn (HappyAbsSyn266 r))
+
+happyReduce_731 = happyMonadReduce 1 266 happyReduction_731
+happyReduction_731 ((HappyAbsSyn103  happy_var_1) `HappyStk`
+	happyRest) tk
+	 = happyThen (( checkType happy_var_1 >>= \t -> return (Nothing, [], Nothing, Nothing, t))
+	) (\r -> happyReturn (HappyAbsSyn266 r))
+
+happyReduce_732 = happySpecReduce_1  267 happyReduction_732
+happyReduction_732 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn267
+		 (let Loc l (ConId  n) = happy_var_1 in ModuleName (nIS l) n
+	)
+happyReduction_732 _  = notHappyAtAll 
+
+happyReduce_733 = happySpecReduce_1  267 happyReduction_733
+happyReduction_733 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn267
+		 (let Loc l (QConId n) = happy_var_1 in ModuleName (nIS l) (fst n ++ '.':snd n)
+	)
+happyReduction_733 _  = notHappyAtAll 
+
+happyReduce_734 = happySpecReduce_1  268 happyReduction_734
+happyReduction_734 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn100
+		 (happy_var_1
+	)
+happyReduction_734 _  = notHappyAtAll 
+
+happyReduce_735 = happySpecReduce_1  269 happyReduction_735
+happyReduction_735 (HappyAbsSyn34  happy_var_1)
+	 =  HappyAbsSyn34
+		 (happy_var_1
+	)
+happyReduction_735 _  = notHappyAtAll 
+
+happyReduce_736 = happySpecReduce_1  270 happyReduction_736
+happyReduction_736 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn100
+		 (happy_var_1
+	)
+happyReduction_736 _  = notHappyAtAll 
+
+happyReduce_737 = happySpecReduce_1  271 happyReduction_737
+happyReduction_737 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn100
+		 (happy_var_1
+	)
+happyReduction_737 _  = notHappyAtAll 
+
+happyReduce_738 = happySpecReduce_1  271 happyReduction_738
+happyReduction_738 (HappyTerminal (Loc happy_var_1 KW_Safe))
+	 =  HappyAbsSyn100
+		 (safe_name       (nIS happy_var_1)
+	)
+happyReduction_738 _  = notHappyAtAll 
+
+happyReduce_739 = happySpecReduce_1  271 happyReduction_739
+happyReduction_739 (HappyTerminal (Loc happy_var_1 KW_Unsafe))
+	 =  HappyAbsSyn100
+		 (unsafe_name     (nIS happy_var_1)
+	)
+happyReduction_739 _  = notHappyAtAll 
+
+happyReduce_740 = happySpecReduce_1  271 happyReduction_740
+happyReduction_740 (HappyTerminal (Loc happy_var_1 KW_Threadsafe))
+	 =  HappyAbsSyn100
+		 (threadsafe_name (nIS happy_var_1)
+	)
+happyReduction_740 _  = notHappyAtAll 
+
+happyReduce_741 = happySpecReduce_3  272 happyReduction_741
+happyReduction_741 (HappyTerminal (Loc happy_var_3 BackQuote))
+	(HappyAbsSyn100  happy_var_2)
+	(HappyTerminal (Loc happy_var_1 BackQuote))
+	 =  HappyAbsSyn34
+		 (UnQual (happy_var_1 <^^> happy_var_3 <** [happy_var_1, srcInfoSpan (ann happy_var_2), happy_var_3]) happy_var_2
+	)
+happyReduction_741 _ _ _  = notHappyAtAll 
+
+happyReduce_742 = happySpecReduce_1  272 happyReduction_742
+happyReduction_742 (HappyAbsSyn100  happy_var_1)
+	 =  HappyAbsSyn34
+		 (UnQual (ann happy_var_1) happy_var_1
+	)
+happyReduction_742 _  = notHappyAtAll 
+
+happyReduce_743 = happySpecReduce_1  273 happyReduction_743
+happyReduction_743 (HappyTerminal happy_var_1)
+	 =  HappyAbsSyn100
+		 (let Loc l (VarSym x) = happy_var_1 in Symbol (nIS l) x
+	)
+happyReduction_743 _  = notHappyAtAll 
+
+happyReduce_744 = happySpecReduce_1  273 happyReduction_744
+happyReduction_744 (HappyTerminal (Loc happy_var_1 Minus))
+	 =  HappyAbsSyn100
+		 (Symbol (nIS happy_var_1) "-"
+	)
+happyReduction_744 _  = notHappyAtAll 
+
+happyReduce_745 = happyReduce 5 274 happyReduction_745
+happyReduction_745 ((HappyTerminal (Loc happy_var_5 RightCurly)) `HappyStk`
+	(HappyAbsSyn27  happy_var_4) `HappyStk`
+	(HappyAbsSyn35  happy_var_3) `HappyStk`
+	(HappyAbsSyn27  happy_var_2) `HappyStk`
+	(HappyTerminal (Loc happy_var_1 LeftCurly)) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn274
+		 (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_746 = happyReduce 5 274 happyReduction_746
+happyReduction_746 ((HappyAbsSyn258  happy_var_5) `HappyStk`
+	(HappyAbsSyn27  happy_var_4) `HappyStk`
+	(HappyAbsSyn35  happy_var_3) `HappyStk`
+	(HappyAbsSyn27  happy_var_2) `HappyStk`
+	(HappyAbsSyn258  happy_var_1) `HappyStk`
+	happyRest)
+	 = HappyAbsSyn274
+		 (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_747 = happySpecReduce_3  275 happyReduction_747
+happyReduction_747 (HappyAbsSyn267  happy_var_3)
+	_
+	(HappyAbsSyn18  happy_var_1)
+	 =  HappyAbsSyn275
+		 ((happy_var_1, Just happy_var_3)
+	)
+happyReduction_747 _ _ _  = notHappyAtAll 
+
+happyReduce_748 = happySpecReduce_1  275 happyReduction_748
+happyReduction_748 (HappyAbsSyn18  happy_var_1)
+	 =  HappyAbsSyn275
+		 ((happy_var_1, Nothing)
+	)
+happyReduction_748 _  = notHappyAtAll 
+
+happyReduce_749 = happySpecReduce_2  276 happyReduction_749
+happyReduction_749 (HappyAbsSyn23  happy_var_2)
+	(HappyAbsSyn18  happy_var_1)
+	 =  HappyAbsSyn276
+		 ((happy_var_1, happy_var_2)
+	)
+happyReduction_749 _ _  = notHappyAtAll 
+
+happyReduce_750 = happySpecReduce_3  277 happyReduction_750
+happyReduction_750 (HappyAbsSyn274  happy_var_3)
+	(HappyAbsSyn23  happy_var_2)
+	(HappyAbsSyn18  happy_var_1)
+	 =  HappyAbsSyn277
+		 ((happy_var_1, happy_var_2, Just happy_var_3)
+	)
+happyReduction_750 _ _ _  = notHappyAtAll 
+
+happyReduce_751 = happySpecReduce_2  277 happyReduction_751
+happyReduction_751 (HappyAbsSyn23  happy_var_2)
+	(HappyAbsSyn18  happy_var_1)
+	 =  HappyAbsSyn277
+		 ((happy_var_1, happy_var_2, Nothing)
+	)
+happyReduction_751 _ _  = notHappyAtAll 
+
+happyNewToken action sts stk
+	= lexer(\tk -> 
+	let cont i = action i i tk (HappyState action) sts stk in
+	case tk of {
+	Loc _ EOF -> action 426 426 tk (HappyState action) sts stk;
+	Loc _ (VarId _) -> cont 278;
+	Loc _ (QVarId _) -> cont 279;
+	Loc _ (IDupVarId _) -> cont 280;
+	Loc _ (ILinVarId _) -> cont 281;
+	Loc _ (ConId _) -> cont 282;
+	Loc _ (QConId _) -> cont 283;
+	Loc _ (DVarId _) -> cont 284;
+	Loc _ (VarSym _) -> cont 285;
+	Loc _ (ConSym _) -> cont 286;
+	Loc _ (QVarSym _) -> cont 287;
+	Loc _ (QConSym _) -> cont 288;
+	Loc _ (IntTok _) -> cont 289;
+	Loc _ (FloatTok _) -> cont 290;
+	Loc _ (Character _) -> cont 291;
+	Loc _ (StringTok _) -> cont 292;
+	Loc _ (IntTokHash _) -> cont 293;
+	Loc _ (WordTokHash _) -> cont 294;
+	Loc _ (FloatTokHash _) -> cont 295;
+	Loc _ (DoubleTokHash _) -> cont 296;
+	Loc _ (CharacterHash _) -> cont 297;
+	Loc _ (StringHash _) -> cont 298;
+	Loc happy_dollar_dollar LeftParen -> cont 299;
+	Loc happy_dollar_dollar RightParen -> cont 300;
+	Loc happy_dollar_dollar LeftHashParen -> cont 301;
+	Loc happy_dollar_dollar RightHashParen -> cont 302;
+	Loc happy_dollar_dollar SemiColon -> cont 303;
+	Loc happy_dollar_dollar LeftCurly -> cont 304;
+	Loc happy_dollar_dollar RightCurly -> cont 305;
+	Loc happy_dollar_dollar VRightCurly -> cont 306;
+	Loc happy_dollar_dollar LeftSquare -> cont 307;
+	Loc happy_dollar_dollar RightSquare -> cont 308;
+	Loc happy_dollar_dollar ParArrayLeftSquare -> cont 309;
+	Loc happy_dollar_dollar ParArrayRightSquare -> cont 310;
+	Loc happy_dollar_dollar Comma -> cont 311;
+	Loc happy_dollar_dollar Underscore -> cont 312;
+	Loc happy_dollar_dollar BackQuote -> cont 313;
+	Loc happy_dollar_dollar Dot -> cont 314;
+	Loc happy_dollar_dollar DotDot -> cont 315;
+	Loc happy_dollar_dollar Colon -> cont 316;
+	Loc happy_dollar_dollar DoubleColon -> cont 317;
+	Loc happy_dollar_dollar Equals -> cont 318;
+	Loc happy_dollar_dollar Backslash -> cont 319;
+	Loc happy_dollar_dollar Bar -> cont 320;
+	Loc happy_dollar_dollar LeftArrow -> cont 321;
+	Loc happy_dollar_dollar RightArrow -> cont 322;
+	Loc happy_dollar_dollar At -> cont 323;
+	Loc happy_dollar_dollar TApp -> cont 324;
+	Loc happy_dollar_dollar Tilde -> cont 325;
+	Loc happy_dollar_dollar DoubleArrow -> cont 326;
+	Loc happy_dollar_dollar Minus -> cont 327;
+	Loc happy_dollar_dollar Exclamation -> cont 328;
+	Loc happy_dollar_dollar Star -> cont 329;
+	Loc happy_dollar_dollar LeftArrowTail -> cont 330;
+	Loc happy_dollar_dollar RightArrowTail -> cont 331;
+	Loc happy_dollar_dollar LeftDblArrowTail -> cont 332;
+	Loc happy_dollar_dollar RightDblArrowTail -> cont 333;
+	Loc happy_dollar_dollar RPGuardOpen -> cont 334;
+	Loc happy_dollar_dollar RPGuardClose -> cont 335;
+	Loc happy_dollar_dollar RPCAt -> cont 336;
+	Loc _ (THIdEscape _) -> cont 337;
+	Loc happy_dollar_dollar THParenEscape -> cont 338;
+	Loc happy_dollar_dollar THExpQuote -> cont 339;
+	Loc happy_dollar_dollar THPatQuote -> cont 340;
+	Loc happy_dollar_dollar THTypQuote -> cont 341;
+	Loc happy_dollar_dollar THDecQuote -> cont 342;
+	Loc happy_dollar_dollar THCloseQuote -> cont 343;
+	Loc happy_dollar_dollar THVarQuote -> cont 344;
+	Loc happy_dollar_dollar THTyQuote -> cont 345;
+	Loc _ (THQuasiQuote _) -> cont 346;
+	Loc _ (XPCDATA _) -> cont 347;
+	Loc happy_dollar_dollar XStdTagOpen -> cont 348;
+	Loc happy_dollar_dollar XCloseTagOpen -> cont 349;
+	Loc happy_dollar_dollar XCodeTagOpen -> cont 350;
+	Loc happy_dollar_dollar XChildTagOpen -> cont 351;
+	Loc happy_dollar_dollar XStdTagClose -> cont 352;
+	Loc happy_dollar_dollar XEmptyTagClose -> cont 353;
+	Loc happy_dollar_dollar XCodeTagClose -> cont 354;
+	Loc happy_dollar_dollar XRPatOpen -> cont 355;
+	Loc happy_dollar_dollar XRPatClose -> cont 356;
+	Loc happy_dollar_dollar KW_Foreign -> cont 357;
+	Loc happy_dollar_dollar KW_Export -> cont 358;
+	Loc happy_dollar_dollar KW_Safe -> cont 359;
+	Loc happy_dollar_dollar KW_Unsafe -> cont 360;
+	Loc happy_dollar_dollar KW_Threadsafe -> cont 361;
+	Loc happy_dollar_dollar KW_Interruptible -> cont 362;
+	Loc happy_dollar_dollar KW_StdCall -> cont 363;
+	Loc happy_dollar_dollar KW_CCall -> cont 364;
+	Loc happy_dollar_dollar KW_CPlusPlus -> cont 365;
+	Loc happy_dollar_dollar KW_DotNet -> cont 366;
+	Loc happy_dollar_dollar KW_Jvm -> cont 367;
+	Loc happy_dollar_dollar KW_Js -> cont 368;
+	Loc happy_dollar_dollar KW_JavaScript -> cont 369;
+	Loc happy_dollar_dollar KW_CApi -> cont 370;
+	Loc happy_dollar_dollar KW_As -> cont 371;
+	Loc happy_dollar_dollar KW_By -> cont 372;
+	Loc happy_dollar_dollar KW_Case -> cont 373;
+	Loc happy_dollar_dollar KW_Class -> cont 374;
+	Loc happy_dollar_dollar KW_Data -> cont 375;
+	Loc happy_dollar_dollar KW_Default -> cont 376;
+	Loc happy_dollar_dollar KW_Deriving -> cont 377;
+	Loc happy_dollar_dollar KW_Do -> cont 378;
+	Loc happy_dollar_dollar KW_Else -> cont 379;
+	Loc happy_dollar_dollar KW_Family -> cont 380;
+	Loc happy_dollar_dollar KW_Forall -> cont 381;
+	Loc happy_dollar_dollar KW_Group -> cont 382;
+	Loc happy_dollar_dollar KW_Hiding -> cont 383;
+	Loc happy_dollar_dollar KW_If -> cont 384;
+	Loc happy_dollar_dollar KW_Import -> cont 385;
+	Loc happy_dollar_dollar KW_In -> cont 386;
+	Loc happy_dollar_dollar KW_Infix -> cont 387;
+	Loc happy_dollar_dollar KW_InfixL -> cont 388;
+	Loc happy_dollar_dollar KW_InfixR -> cont 389;
+	Loc happy_dollar_dollar KW_Instance -> cont 390;
+	Loc happy_dollar_dollar KW_Let -> cont 391;
+	Loc happy_dollar_dollar KW_MDo -> cont 392;
+	Loc happy_dollar_dollar KW_Module -> cont 393;
+	Loc happy_dollar_dollar KW_NewType -> cont 394;
+	Loc happy_dollar_dollar KW_Of -> cont 395;
+	Loc happy_dollar_dollar KW_Proc -> cont 396;
+	Loc happy_dollar_dollar KW_Rec -> cont 397;
+	Loc happy_dollar_dollar KW_Then -> cont 398;
+	Loc happy_dollar_dollar KW_Type -> cont 399;
+	Loc happy_dollar_dollar KW_Using -> cont 400;
+	Loc happy_dollar_dollar KW_Where -> cont 401;
+	Loc happy_dollar_dollar KW_Qualified -> cont 402;
+	Loc happy_dollar_dollar KW_Role -> cont 403;
+	Loc happy_dollar_dollar KW_Pattern -> cont 404;
+	Loc _ (INLINE _) -> cont 405;
+	Loc happy_dollar_dollar INLINE_CONLIKE -> cont 406;
+	Loc happy_dollar_dollar SPECIALISE -> cont 407;
+	Loc _ (SPECIALISE_INLINE _) -> cont 408;
+	Loc happy_dollar_dollar SOURCE -> cont 409;
+	Loc happy_dollar_dollar RULES -> cont 410;
+	Loc happy_dollar_dollar CORE -> cont 411;
+	Loc happy_dollar_dollar SCC -> cont 412;
+	Loc happy_dollar_dollar GENERATED -> cont 413;
+	Loc happy_dollar_dollar DEPRECATED -> cont 414;
+	Loc happy_dollar_dollar WARNING -> cont 415;
+	Loc happy_dollar_dollar UNPACK -> cont 416;
+	Loc happy_dollar_dollar NOUNPACK -> cont 417;
+	Loc _ (OPTIONS _) -> cont 418;
+	Loc happy_dollar_dollar LANGUAGE -> cont 419;
+	Loc happy_dollar_dollar ANN -> cont 420;
+	Loc happy_dollar_dollar MINIMAL -> cont 421;
+	Loc happy_dollar_dollar NO_OVERLAP -> cont 422;
+	Loc happy_dollar_dollar OVERLAP -> cont 423;
+	Loc happy_dollar_dollar INCOHERENT -> cont 424;
+	Loc happy_dollar_dollar PragmaEnd -> cont 425;
+	_ -> happyError' tk
+	})
+
+happyError_ 426 tk = happyError' tk
+happyError_ _ tk = happyError' tk
+
+happyThen :: () => P a -> (a -> P b) -> P b
+happyThen = (>>=)
+happyReturn :: () => a -> P a
+happyReturn = (return)
+happyThen1 = happyThen
+happyReturn1 :: () => a -> P a
+happyReturn1 = happyReturn
+happyError' :: () => (Loc Token) -> P a
+happyError' tk = parseError tk
+
+mparseModule = happySomeParser where
+  happySomeParser = happyThen (happyParse action_0) (\x -> case x of {HappyAbsSyn16 z -> happyReturn z; _other -> notHappyAtAll })
+
+mparseExp = happySomeParser where
+  happySomeParser = happyThen (happyParse action_1) (\x -> case x of {HappyAbsSyn168 z -> happyReturn z; _other -> notHappyAtAll })
+
+mparsePat = happySomeParser where
+  happySomeParser = happyThen (happyParse action_2) (\x -> case x of {HappyAbsSyn180 z -> happyReturn z; _other -> notHappyAtAll })
+
+mparseDeclAux = happySomeParser where
+  happySomeParser = happyThen (happyParse action_3) (\x -> case x of {HappyAbsSyn25 z -> happyReturn z; _other -> notHappyAtAll })
+
+mparseType = happySomeParser where
+  happySomeParser = happyThen (happyParse action_4) (\x -> case x of {HappyAbsSyn81 z -> happyReturn z; _other -> notHappyAtAll })
+
+mparseStmt = happySomeParser where
+  happySomeParser = happyThen (happyParse action_5) (\x -> case x of {HappyAbsSyn206 z -> happyReturn z; _other -> notHappyAtAll })
+
+mparseImportDecl = happySomeParser where
+  happySomeParser = happyThen (happyParse action_6) (\x -> case x of {HappyAbsSyn36 z -> happyReturn z; _other -> notHappyAtAll })
+
+ngparseModulePragmas = happySomeParser where
+  happySomeParser = happyThen (happyParse action_7) (\x -> case x of {HappyAbsSyn18 z -> happyReturn z; _other -> notHappyAtAll })
+
+ngparseModuleHeadAndImports = happySomeParser where
+  happySomeParser = happyThen (happyParse action_8) (\x -> case x of {HappyAbsSyn277 z -> happyReturn z; _other -> notHappyAtAll })
+
+ngparsePragmasAndModuleHead = happySomeParser where
+  happySomeParser = happyThen (happyParse action_9) (\x -> case x of {HappyAbsSyn276 z -> happyReturn z; _other -> notHappyAtAll })
+
+ngparsePragmasAndModuleName = happySomeParser where
+  happySomeParser = happyThen (happyParse action_10) (\x -> case x of {HappyAbsSyn275 z -> happyReturn z; _other -> notHappyAtAll })
+
+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 16 "<built-in>" #-}
+{-# LINE 1 "/Users/matt/Downloads/ghc-7.10.1.app/Contents/lib/ghc-7.10.1/include/ghcversion.h" #-}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{-# LINE 17 "<built-in>" #-}
+{-# LINE 1 "templates/GenericTemplate.hs" #-}
+-- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp 
+
+
+{-# LINE 13 "templates/GenericTemplate.hs" #-}
+
+
+{-# LINE 46 "templates/GenericTemplate.hs" #-}
+
+
+
+
+
+
+
+
+
+{-# LINE 67 "templates/GenericTemplate.hs" #-}
+
+
+{-# LINE 77 "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 (1), 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 (1) tk st sts (_ `HappyStk` ans `HappyStk` _) =
+        happyReturn1 ans
+happyAccept j tk st sts (HappyStk ans _) = 
+         (happyReturn1 ans)
+
+-----------------------------------------------------------------------------
+-- Arrays only: do the next action
+
+
+{-# LINE 155 "templates/GenericTemplate.hs" #-}
+
+-----------------------------------------------------------------------------
+-- HappyState data type (not arrays)
+
+
+
+newtype HappyState b c = HappyState
+        (Int ->                    -- token number
+         Int ->                    -- token number (yes, again)
+         b ->                           -- token semantic value
+         HappyState b c ->              -- current state
+         [HappyState b c] ->            -- state stack
+         c)
+
+
+
+-----------------------------------------------------------------------------
+-- Shifting a token
+
+happyShift new_state (1) tk st sts stk@(x `HappyStk` _) =
+     let i = (case x of { HappyErrorToken (i) -> i }) in
+--     trace "shifting the error token" $
+     new_state i i tk (HappyState (new_state)) ((st):(sts)) (stk)
+
+happyShift new_state i tk st sts stk =
+     happyNewToken new_state ((st):(sts)) ((HappyTerminal (tk))`HappyStk`stk)
+
+-- happyReduce is specialised for the common cases.
+
+happySpecReduce_0 i fn (1) tk st sts stk
+     = happyFail (1) tk st sts stk
+happySpecReduce_0 nt fn j tk st@((HappyState (action))) sts stk
+     = action nt j tk st ((st):(sts)) (fn `HappyStk` stk)
+
+happySpecReduce_1 i fn (1) tk st sts stk
+     = happyFail (1) tk st sts stk
+happySpecReduce_1 nt fn j tk _ sts@(((st@(HappyState (action))):(_))) (v1`HappyStk`stk')
+     = let r = fn v1 in
+       happySeq r (action nt j tk st sts (r `HappyStk` stk'))
+
+happySpecReduce_2 i fn (1) tk st sts stk
+     = happyFail (1) tk st sts stk
+happySpecReduce_2 nt fn j tk _ ((_):(sts@(((st@(HappyState (action))):(_))))) (v1`HappyStk`v2`HappyStk`stk')
+     = let r = fn v1 v2 in
+       happySeq r (action nt j tk st sts (r `HappyStk` stk'))
+
+happySpecReduce_3 i fn (1) tk st sts stk
+     = happyFail (1) tk st sts stk
+happySpecReduce_3 nt fn j tk _ ((_):(((_):(sts@(((st@(HappyState (action))):(_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')
+     = let r = fn v1 v2 v3 in
+       happySeq r (action nt j tk st sts (r `HappyStk` stk'))
+
+happyReduce k i fn (1) tk st sts stk
+     = happyFail (1) tk st sts stk
+happyReduce k nt fn j tk st sts stk
+     = case happyDrop (k - ((1) :: Int)) sts of
+         sts1@(((st1@(HappyState (action))):(_))) ->
+                let r = fn stk in  -- it doesn't hurt to always seq here...
+                happyDoSeq r (action nt j tk st1 sts1 r)
+
+happyMonadReduce k nt fn (1) tk st sts stk
+     = happyFail (1) tk st sts stk
+happyMonadReduce k nt fn j tk st sts stk =
+      case happyDrop k ((st):(sts)) of
+        sts1@(((st1@(HappyState (action))):(_))) ->
+          let drop_stk = happyDropStk k stk in
+          happyThen1 (fn stk tk) (\r -> action nt j tk st1 sts1 (r `HappyStk` drop_stk))
+
+happyMonad2Reduce k nt fn (1) tk st sts stk
+     = happyFail (1) tk st sts stk
+happyMonad2Reduce k nt fn j tk st sts stk =
+      case happyDrop k ((st):(sts)) of
+        sts1@(((st1@(HappyState (action))):(_))) ->
+         let drop_stk = happyDropStk k stk
+
+
+
+
+
+             new_state = action
+
+          in
+          happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))
+
+happyDrop (0) l = l
+happyDrop n ((_):(t)) = happyDrop (n - ((1) :: Int)) t
+
+happyDropStk (0) l = l
+happyDropStk n (x `HappyStk` xs) = happyDropStk (n - ((1)::Int)) xs
+
+-----------------------------------------------------------------------------
+-- Moving to a new state after a reduction
+
+
+
+
+
+
+
+
+
+happyGoto action j tk st = action j j tk (HappyState action)
+
+
+-----------------------------------------------------------------------------
+-- Error recovery ((1) is the error token)
+
+-- parse error if we are in recovery and we fail again
+happyFail (1) tk old_st _ stk@(x `HappyStk` _) =
+     let i = (case x of { HappyErrorToken (i) -> i }) in
+--      trace "failing" $ 
+        happyError_ 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  (1) tk old_st (((HappyState (action))):(sts)) 
+                                                (saved_tok `HappyStk` _ `HappyStk` stk) =
+--      trace ("discarding state, depth " ++ show (length stk))  $
+        action (1) (1) tk (HappyState (action)) sts ((saved_tok`HappyStk`stk))
+-}
+
+-- Enter error recovery: generate an error token,
+--                       save the old token and carry on.
+happyFail  i tk (HappyState (action)) sts stk =
+--      trace "entering error recovery" $
+        action (1) (1) tk (HappyState (action)) sts ( (HappyErrorToken (i)) `HappyStk` stk)
+
+-- Internal happy errors:
+
+notHappyAtAll :: a
+notHappyAtAll = error "Internal Happy error\n"
+
+-----------------------------------------------------------------------------
+-- Hack to get the typechecker to accept our action functions
+
+
+
+
+
+
+
+-----------------------------------------------------------------------------
+-- 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 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.
+
diff --git a/src/Language/Haskell/Exts/InternalParser.ly b/src/Language/Haskell/Exts/InternalParser.ly
--- a/src/Language/Haskell/Exts/InternalParser.ly
+++ b/src/Language/Haskell/Exts/InternalParser.ly
@@ -28,12 +28,12 @@
 >               ngparsePragmasAndModuleName
 >               ) where
 >
-> import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Exp(..), Asst(..), XAttr(..), FieldUpdate(..) )
-> import Language.Haskell.Exts.Annotated.Syntax ( Type, Exp, Asst )
+> 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.Annotated.Fixity
+> import Language.Haskell.Exts.Fixity
 > import Language.Haskell.Exts.SrcLoc
 > import Language.Haskell.Exts.Extension
 
@@ -102,6 +102,7 @@
 
 > %token
 >       VARID    { Loc _ (VarId _) }       -- 1
+>       LABELVARID { Loc _ (LabelVarId _) }
 >       QVARID   { Loc _ (QVarId _) }
 >       IDUPID   { Loc _ (IDupVarId _) }       -- duplicable implicit parameter ?x
 >       ILINID   { Loc _ (ILinVarId _) }       -- linear implicit parameter %x
@@ -154,6 +155,7 @@
 >       '<-'    { Loc $$ LeftArrow }
 >       '->'    { Loc $$ RightArrow }
 >       '@'     { Loc $$ At }
+>       TYPEAPP { Loc $$ TApp }
 >       '~'     { Loc $$ Tilde }
 >       '=>'    { Loc $$ DoubleArrow }
 >       '-'     { Loc $$ Minus }
@@ -267,6 +269,7 @@
 >       '{-# DEPRECATED'        { Loc $$ DEPRECATED }
 >       '{-# WARNING'           { Loc $$ WARNING }
 >       '{-# UNPACK'            { Loc $$ UNPACK }
+>       '{-# NOUNPACK'          { Loc $$ NOUNPACK }
 >       '{-# OPTIONS'           { Loc _ (OPTIONS _) }
        '{-# CFILES'            { Loc _ (CFILES  _) }
        '{-# INCLUDE'           { Loc _ (INCLUDE _) }
@@ -294,7 +297,7 @@
 > %partial ngparsePragmasAndModuleHead moduletophead
 > %partial ngparsePragmasAndModuleName moduletopname
 > %tokentype { Loc Token }
-> %expect 8
+> %expect 10
 > %%
 
 -----------------------------------------------------------------------------
@@ -414,14 +417,21 @@
 >       |  'type' qcname                          {% do { checkEnabled ExplicitNamespaces;
 >                                                       return (EAbs (nIS $1 <++> ann $2 <** [$1, srcInfoSpan (ann $2)]) (TypeNamespace (nIS $1 <** [$1])) $2) } }
 >       |  qtyconorcls                          { EAbs (ann $1) (NoNamespace (ann $1)) $1 }
->       |  qtyconorcls '(' '..' ')'             { EThingAll  (ann $1 <++> nIS $4 <** [$2,$3,$4]) $1 }
->       |  qtyconorcls '(' ')'                  { EThingWith (ann $1 <++> nIS $3 <** [$2,$3])    $1 [] }
->       |  qtyconorcls '(' cnames ')'           { EThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse (fst $3)) }
+>       |  qtyconorcls '(' ')'                  { EThingWith (ann $1 <++> nIS $3 <** [$2,$3])    (NoWildcard noSrcSpan) $1 [] }
+>       |  qtyconorcls '(' export_names ')'     {% mkEThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse $ fst $3) }
 >       |  'module' modid                       { EModuleContents (nIS $1 <++> ann $2 <** [$1]) $2 }
 >       |  'pattern' qcon                       {%  do { checkEnabled PatternSynonyms;
 >                                                       return $ EAbs (nIS $1 <++> (ann $2) <** [$1])
 >                                                                  (PatternNamespace (nIS $1)) $2 }}
 
+> export_names :: { ([Either S (CName L)],[S]) }
+>       :  export_names ',' cname_w_wildcard          { ($3 : fst $1, $2 : snd $1) }
+>       |  cname_w_wildcard                     { ([$1],[])  }
+
+> cname_w_wildcard :: { Either S (CName L) }
+>       :  '..'                                 { Left $1 }
+>       |  cname                                { Right $1 }
+
 >
 > qcname :: { QName L }
 >        : qvar                                 { $1 }
@@ -493,10 +503,10 @@
 >       |  tyconorcls                           { IAbs (ann $1) (NoNamespace (ann $1)) $1 }
 >       |  tyconorcls '(' '..' ')'              { IThingAll  (ann $1 <++> nIS $4 <** [$2,$3,$4]) $1 }
 >       |  tyconorcls '(' ')'                   { IThingWith (ann $1 <++> nIS $3 <** [$2,$3])    $1 [] }
->       |  tyconorcls '(' cnames ')'            { IThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse (fst $3)) }
+>       |  tyconorcls '(' import_names ')'            { IThingWith (ann $1 <++> nIS $4 <** ($2:reverse (snd $3) ++ [$4])) $1 (reverse (fst $3)) }
 
-> cnames :: { ([CName L],[S]) }
->       :  cnames ',' cname                     { ($3 : fst $1, $2 : snd $1) }
+> import_names :: { ([CName L],[S]) }
+>       :  import_names ',' cname               { ($3 : fst $1, $2 : snd $1) }
 >       |  cname                                { ([$1],[])  }
 
 > cname :: { CName L }
@@ -523,6 +533,20 @@
 >       : ops ',' op                            { let (ops,ss,l) = $1 in ($3 : ops, $2 : ss, l <++> ann $3) }
 >       | op                                    { ([$1],[],ann $1) }
 
+
+> opt_injectivity_info :: { Maybe (InjectivityInfo L) }
+>        : {- empty -}                  { Nothing }
+>        | injectivity_info             { Just $1 }
+
+> injectivity_info :: { InjectivityInfo L }
+>        : '|' tyvarid '->' inj_varids
+>              { InjectivityInfo (nIS $1 <++> ann (last $4) <** [$1,$3]) $2 (reverse $4) }
+>
+>
+> inj_varids :: { [Name L] }
+>        : inj_varids tyvarid  { $2 : $1 }
+>        | tyvarid             { [$1]     }
+
 -----------------------------------------------------------------------------
 Top-Level Declarations
 
@@ -545,12 +569,12 @@
 
 Requires the TypeFamilies extension enabled, but the lexer will handle
 that through the 'family' keyword.
->       | 'type' 'family' type optkind where_type_family
+>       | 'type' 'family' type opt_tyfam_kind_sig opt_injectivity_info where_type_family
 >                {% do { dh <- checkSimpleType $3;
->                        let {l = nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4) <** ($1:$2:snd $4)};
->                        case $5 of {
->                          Nothing    -> return (TypeFamDecl l dh (fst $4));
->                          Just (x,a) -> return (ClosedTypeFamDecl (l <** [a]) dh (fst $4) x); }}}
+>                        let {l = nIS $1 <++> ann $3 <** [$1,$2]};
+>                        case $6 of {
+>                          Nothing    -> return (TypeFamDecl l dh $4 $5);
+>                          Just (x,a) -> return (ClosedTypeFamDecl (l <** [a]) dh $4 $5 x); }}}
 
 Here there is no special keyword so we must do the check.
 >       | 'type' 'instance' truedtype '=' truectype
@@ -576,10 +600,10 @@
 >                         _ -> checkEnabled GADTs >> return (GDataDecl l $1 cs dh (fst $3) (reverse gs) $5) } }
 
 Same as above, lexer will handle it through the 'family' keyword.
->       | 'data' 'family' ctype optkind
+>       | 'data' 'family' ctype opt_datafam_kind_sig
 >                {% do { (cs,dh) <- checkDataHeader $3;
->                        let {l = nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4) <** ($1:$2:snd $4)};
->                        return (DataFamDecl l cs dh (fst $4)) } }
+>                        let {l = nIS $1 <++> ann $3 <+?> (fmap ann) $4 <** [$1,$2]};
+>                        return (DataFamDecl l cs dh $4) } }
 
 Here we must check for TypeFamilies.
 >       | data_or_newtype 'instance' truectype constrs0 deriving
@@ -640,6 +664,29 @@
 >       | '{-# ANN'        annotation '#-}'     { AnnPragma      ($1 <^^> $3 <** [$1,$3]) $2 }
 >       | decl          { $1 }
 
+> -- Family result/return kind signatures
+>
+> opt_datafam_kind_sig :: { Maybe (ResultSig L) }
+>        :               { Nothing     }
+>        | '::' kind     { (Just $ KindSig (nIS $1 <++> ann $2 <** [$1]) $2) }
+>
+> opt_tyfam_kind_sig :: { Maybe (ResultSig L) }
+>        :              { Nothing       }
+>        | '::' kind    { (Just $ KindSig  (nIS $1 <++> ann $2 <** [$1]) $2) }
+>        | '='  ktyvar  { (Just $ TyVarSig (nIS $1 <++> ann $2 <** [$1]) $2) }
+>
+> opt_at_kind_inj_sig :: { (Maybe (ResultSig L), Maybe (InjectivityInfo L))}
+>        :            { (Nothing, Nothing) }
+>        | '::' kind  { (Just (KindSig (nIS $1 <++> ann $2 <** [$1]) $2), Nothing) }
+>        | '='  ktyvar injectivity_info
+>                { (Just (TyVarSig (nIS $1 <++> ann $2 <** [$1]) $2), Just $3) }
+
+> opt_at_kind_inj_sig2 :: { (Maybe (ResultSig L), Maybe (S, Type L), Maybe (InjectivityInfo L))}
+>        :            { (Nothing, Nothing, Nothing) }
+>        | '::' kind  { (Just (KindSig (nIS $1 <++> ann $2 <** [$1]) $2), Nothing, Nothing) }
+>        | '='  truectype opt_injectivity_info { (Nothing, Just ($1, $2), $3) }
+
+
 Role annotations
 
 > role_annot :: { Decl L }
@@ -679,7 +726,7 @@
 >         | ty_fam_inst_eqn                        { [$1] }
 
 > ty_fam_inst_eqn :: { TypeEqn L }
->         : truedtype '=' truectype
+>         : truectype '=' truectype
 >                 {% do { checkEnabled TypeFamilies ;
 >                         return (TypeEqn (ann $1 <++> ann $3 <** [$2]) $1 $3) } }
 
@@ -876,13 +923,13 @@
 >       : dtype                         {% checkType $1 }
 
 > dtype :: { PType L }
->       : btype                         { $1 }
+>       : btype                         { splitTilde $1 }
 >       | btype qtyconop dtype          { TyInfix ($1 <> $3) $1 $2 $3 }
 >       | btype qtyvarop dtype          { TyInfix ($1 <> $3) $1 $2 $3 } -- FIXME
->       | btype '->' ctype              { TyFun ($1 <> $3 <** [$2]) $1 $3 }
->       | btype '~' btype               {% do { checkEnabledOneOf [TypeFamilies, GADTs] ;
->                                               let {l = $1 <> $3 <** [$2]};
->                                               return $ TyPred l $ EqualP l $1 $3 } }
+>       | 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 } }
 
 Implicit parameters can occur in normal types, as well as in contexts.
 
@@ -894,7 +941,9 @@
 >       | dtype                         { $1 }
 
 > truebtype :: { Type L }
->       : btype                         {% checkType $1 }
+>       : btype                         {% checkType (splitTilde $1) }
+> trueatype :: { Type L }
+>       : atype                         {% checkType $1 }
 
 > btype :: { PType L }
 >       : btype atype                   { TyApp ($1 <> $2) $1 $2 }
@@ -906,9 +955,8 @@
 > atype :: { PType L }
 >       : gtycon                        { TyCon   (ann $1) $1 }
 >       | tyvar                         {% checkTyVar $1 }
->       | strict_mark atype             { let (bangOrPack, locs) = $1
->                                           in let annot = if bangOrPack then (BangedTy (nIS (last locs) <** locs)) else UnpackedTy (nIS (head locs) <++> nIS (last locs) <** locs)
->                                            in bangType (nIS (head locs) <++> ann $2) annot $2 }
+>       | 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)) }
 >       | '(#' types1 '#)'              { TyTuple ($1 <^^> $3 <** ($1:reverse ($3:snd $2))) Unboxed (reverse (fst $2)) }
 >       | '[' type ']'                  { TyList  ($1 <^^> $3 <** [$1,$3]) $2 }
@@ -918,6 +966,7 @@
 >       | '$(' trueexp ')'              { let l = ($1 <^^> $3 <** [$1,$3]) in TySplice l $ ParenSplice l $2 }
 >       | IDSPLICE                      { let Loc l (THIdEscape s) = $1 in TySplice (nIS l) $ IdSplice (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 :: { Promoted L }
@@ -931,11 +980,20 @@
 >       | INT                           { let Loc l (IntTok  (i,raw)) = $1 in PromotedInteger (nIS l) i raw }
 >       | STRING                        { let Loc l (StringTok (s,raw)) = $1 in PromotedString (nIS l) s raw }
 
-> strict_mark :: { (Bool, [S]) }
->        : '!'                           { (True, [$1]) }
->        | '{-# UNPACK' '#-}' '!'        { (False, [$1,$2,$3]) }
+> strict_mark :: { (Maybe (L -> BangType L,S), Maybe (Unpackedness L)) }
+>        : strictness              { (Just $1, Nothing) }
+>        | unpackedness            { (Nothing, Just $1) }
+>        | unpackedness strictness { (Just $2, Just $1) }
 
+> strictness :: { (L -> BangType L, S) }
+>        : '!'                           { (BangedTy, $1) }
+>        | '~'                           { (LazyTy, $1) }
 
+> unpackedness :: { Unpackedness L }
+>        : '{-# UNPACK' '#-}'           { (Unpack ((nIS $1 <++> nIS $2) <** [$1,$2])) }
+>        | '{-# NOUNPACK' '#-}'         { (NoUnpack ((nIS $1 <++> nIS $2) <** [$1,$2])) }
+
+
 > gtycon :: { QName L }
 >       : otycon                        { $1 }
 >       | '(' ')'                       { unit_tycon_name              ($1 <^^> $2 <** [$1,$2]) }
@@ -980,10 +1038,7 @@
 Equality constraints require the TypeFamilies extension.
 
 > context :: { PContext L }
->       : btype '=>'                    {% checkPContext $ (amap (\l -> l <++> nIS $2 <** (srcInfoPoints l ++ [$2]))) $1 }
->       | btype '~' btype '=>'          {% do { checkEnabledOneOf [TypeFamilies, GADTs];
->                                               let {l = $1 <> $3 <** [$2,$4]};
->                                               checkPContext (TyPred l $ EqualP l $1 $3) } }
+>       : btype '=>'                    {% checkPContext $ (amap (\l -> l <++> nIS $2 <** (srcInfoPoints l ++ [$2]))) (splitTilde $1) }
 
 > types :: { ([PType L],[S]) }
 >       : types1 ',' ctype              { ($3 : fst $1, $2 : snd $1)  }
@@ -1175,17 +1230,23 @@
 >       | atdecl                        {% checkEnabled TypeFamilies >> return $1 }
 >       | 'default' signdecl            {% checkEnabled DefaultSignatures >> checkDefSigDef $2 >>= \(n,t,l) -> return (ClsDefSig (nIS $1 <++> ann $2 <** [$1,l]) n t) }
 
+> opt_family   :: { [S] }
+>              : {- empty -}   { [] }
+>              | 'family'      { [$1] }
+
 > atdecl :: { ClassDecl L }
->       : 'type' type optkind
->             {% do { dh <- checkSimpleType $2;
->                     return (ClsTyFam  (nIS $1 <++> ann $2 <+?> (fmap ann) (fst $3) <** $1:snd $3) dh (fst $3)) } }
->       | 'type' truedtype '=' truectype
->                     { ClsTyDef (nIS $1 <++> ann $4 <** [$1,$3]) $2 $4 }
->       | 'type' 'instance' truedtype '=' truectype
->                     { ClsTyDef (nIS $1 <++> ann $5 <** [$1,$2,$4]) $3 $5 }
->       | 'data' ctype optkind
->             {% do { (cs,dh) <- checkDataHeader $2;
->                     return (ClsDataFam (nIS $1 <++> ann $2 <+?> (fmap ann) (fst $3) <** $1:snd $3) cs dh (fst $3)) } }
+>       : 'data' opt_family type opt_datafam_kind_sig
+>             {% do { (cs,dh) <- checkDataHeader $3;
+>                     return (ClsDataFam (nIS $1 <++> ann $3 <+?> (fmap ann) $4 <** [$1]) cs dh $4) } }
+>       | 'type' type opt_at_kind_inj_sig2
+>             {% mkAssocType $1 $2 $3 }
+>       | 'type' 'family' type opt_at_kind_inj_sig
+>             {% do { dh <- checkSimpleType $3;
+>                     return (ClsTyFam  (nIS $1 <++> ann $3 <+?> (fmap ann) (fst $4)
+>                                                           <+?> (fmap ann) (snd $4)
+>                                                           <** [$1]) dh (fst $4) (snd $4)) } }
+>       | 'type' 'instance' ty_fam_inst_eqn
+>                     { ClsTyDef (nIS $1 <++> ann $3 <** [$1,$2]) $3 }
 
 -----------------------------------------------------------------------------
 Instance declarations
@@ -1379,6 +1440,7 @@
 >       | qvar '@:' aexp                {% do { n <- checkUnQual $1;
 >                                               return (CAsRP ($1 <> $3 <** [$2]) n $3) } }
 >       | '~' aexp                      { IrrPat (nIS $1 <++> ann $2 <** [$1]) $2 }
+>       | TYPEAPP trueatype             { TypeApp (nIS $1 <++> ann $2 <** [$1]) $2 }
 >       | aexp1                         { $1 }
 
 Note: The first two alternatives of aexp1 are not necessarily record
@@ -1398,6 +1460,7 @@
 
 > aexp2 :: { PExp L }
 >       : ivar                          { IPVar (ann $1) $1 }
+>       | overloaded_label              { $1 }
 >       | qvar                          { Var (ann $1) $1 }
 >       | gcon                          { $1 }
 >       | literal                       { Lit (ann $1) $1 }
@@ -1431,6 +1494,9 @@
 >       | '[t|' truectype '|]'              { let l = $1 <^^> $3 <** [$1,$3] in BracketExp l $ TypeBracket l $2 }
 >       | '[d|' open topdecls close '|]'    { let l = $1 <^^> $5 <** ($1:snd $3 ++ [$5])
 >                                             in BracketExp l $ DeclBracket ($1 <^^> $5 <** ($2:snd $3 ++ [$4,$5])) (fst $3) }
+>       | VARQUOTE '(' ')'              { let {l1 = $1 <^^> $3 <** [$1];
+>                                              l2 = $2 <^^> $3 <** [$2,$3];}
+>                                          in VarQuote l1 (unit_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) }
@@ -1808,6 +1874,10 @@
 >       : ':'                   { list_cons_name (nIS $1) }
 >       | qconsym               { $1 }
 
+> overloaded_label :: { PExp L }
+>       : LABELVARID            { let Loc l (LabelVarId v) = $1 in OverloadedLabel
+>                                                                      (nIS l) v }
+
 -----------------------------------------------------------------------------
 Identifiers and Symbols
 
@@ -1837,8 +1907,9 @@
 >       | '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) }
 
 
 Implicit parameter
@@ -1930,10 +2001,18 @@
 >                                  (_:_) -> ann $1 <++> (ann $ last $2)
 >                         in PApp l (UnQual (ann $1) $1) $2 }
 >       | varid qconsym varid  { PInfixApp (ann $1 <++> ann $3) (PVar (ann $1) $1) $2 (PVar (ann $3) $3) }
+>       | con '{' commavars '}' {  let { (ss, ns) = $3 ;
+>                                        qnames = (map (\n -> UnQual (ann n) n) ns) }
+>                                  in PRec (ann $1 <++> nIS $4 <** ($2 : ss ++ [$4]))
+>                                          (UnQual (ann $1) $1) (map (\q -> PFieldPun (ann q) q) qnames) }
 >
 > vars0 :: { [Pat L] }
 >       :  {- empty -}        { [] }
 >       |  varid vars0        { PVar (ann $1) $1 : $2 }
+
+> commavars :: { ([S], [Name L]) }
+>       : varid                 { ([], [$1] ) }
+>       | varid ',' commavars   { let (ss, ns) = $3 in ($2 : ss, $1 : ns) }
 
 > where_decls :: { PatternSynDirection L }
 >       : 'where' '{' decls '}'       {%  checkExplicitPatSyn $1 $2 $3 $4 }
diff --git a/src/Language/Haskell/Exts/ParseMonad.hs b/src/Language/Haskell/Exts/ParseMonad.hs
--- a/src/Language/Haskell/Exts/ParseMonad.hs
+++ b/src/Language/Haskell/Exts/ParseMonad.hs
@@ -1,7 +1,7 @@
 {-# OPTIONS_HADDOCK hide #-}
 -----------------------------------------------------------------------------
 -- |
--- Module      :  Language.Haskell.Exts.Annotated.ParseMonad
+-- Module      :  Language.Haskell.Exts.ParseMonad
 -- Copyright   :  Niklas Broberg (c) 2004-2009,
 --                Original (c) The GHC Team, 1997-2000
 -- License     :  BSD-style (see the file libraries/base/LICENSE)
@@ -24,7 +24,8 @@
         getSrcLoc, pushCurrentContext, popContext,
         getExtensions, getIgnoreFunctionArity,
         -- * Lexing
-        Lex(runL), getInput, discard, lexNewline, lexTab, lexWhile, lexWhile_,
+        Lex(runL), getInput, discard, getLastChar, lexNewline,
+        lexTab, lexWhile, lexWhile_,
         alternative, checkBOL, setBOL, startToken, getOffside,
         pushContextL, popContextL, getExtensionsL, addExtensionL,
         saveExtensionsL, restoreExtensionsL, pushComment,
@@ -45,6 +46,8 @@
 import Control.Applicative
 import Control.Monad (when, liftM, ap)
 import Data.Monoid
+-- To avoid import warnings for Control.Applicative and Data.Monoid
+import Prelude
 
 -- | Class providing function for parsing at many different types.
 --
@@ -189,6 +192,7 @@
              -> Int                 -- current column
              -> Int                 -- current line
              -> SrcLoc              -- location of last token read
+             -> Char                -- Last token read used for lexing TypeApplication UGH
              -> ParseState          -- layout info.
              -> InternalParseMode   -- parse parameters
              -> ParseStatus a
@@ -211,7 +215,7 @@
 
 runParserWithModeComments :: ParseMode -> P a -> String -> ParseResult (a, [Comment])
 runParserWithModeComments mode = let mode2 = toInternalParseMode mode in \(P m) s ->
-  case m s 0 1 start ([],[],[],(False,False),[]) mode2 of
+  case m s 0 1 start '\n' ([],[],[],(False,False),[]) mode2 of
     Ok (_,_,_,_,cs) a -> ParseOk (a, reverse cs)
     Failed loc msg    -> ParseFailed loc msg
     where start = SrcLoc {
@@ -231,21 +235,21 @@
   (<*>) = ap
 
 instance Monad P where
-    return a = P $ \_i _x _y _l s _m -> Ok s a
-    P m >>= k = P $ \i x y l s mode ->
-        case m i x y l s mode of
+    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 s' mode
-    fail s = P $ \_r _col _line loc _stk _m -> Failed loc s
+            Ok s' a -> runP (k a) i x y l ch s' mode
+    fail s = P $ \_r _col _line loc _ _stk _m -> Failed loc s
 
 atSrcLoc :: P a -> SrcLoc -> P a
-P m `atSrcLoc` loc = P $ \i x y _l -> m i x y loc
+P m `atSrcLoc` loc = P $ \i x y _l ch -> m i x y loc ch
 
 getSrcLoc :: P SrcLoc
-getSrcLoc = P $ \_i _x _y l s _m -> Ok s l
+getSrcLoc = P $ \_i _x _y l _ s _m -> Ok s l
 
 getModuleName :: P String
-getModuleName = P $ \_i _x _y _l s m ->
+getModuleName = P $ \_i _x _y _l _ch s m ->
     let fn = iParseFilename m
         mn = intercalate "." $ splitPath fn
 
@@ -276,15 +280,15 @@
     pushContext (Layout loc)
 
 currentIndent :: P Int
-currentIndent = P $ \_r _x _y _ stk _mode -> Ok stk (indentOfParseState stk)
+currentIndent = P $ \_r _x _y _ _ stk _mode -> Ok stk (indentOfParseState stk)
 
 pushContext :: LexContext -> P ()
 pushContext ctxt =
 --trace ("pushing lexical scope: " ++ show ctxt ++"\n") $
-    P $ \_i _x _y _l (s, exts, e, p, c) _m -> Ok (ctxt:s, exts, e, p, c) ()
+    P $ \_i _x _y _l _ (s, exts, e, p, c) _m -> Ok (ctxt:s, exts, e, p, c) ()
 
 popContext :: P ()
-popContext = P $ \_i _x _y loc stk _m ->
+popContext = P $ \_i _x _y loc _ stk _m ->
       case stk of
         (_:s, exts, e, p, c) -> --trace ("popping lexical scope, context now "++show s ++ "\n") $
                           Ok (s, exts, e, p, c) ()
@@ -305,20 +309,20 @@
 
 -- Extension-aware lexing/parsing
 getExtensions :: P [KnownExtension]
-getExtensions = P $ \_i _x _y _l s m ->
+getExtensions = P $ \_i _x _y _l _ s m ->
     Ok s $ iExtensions m
 
 pushCtxtFlag :: P ()
 pushCtxtFlag =
-    P $ \_i _x _y _l (s, exts, e, (d,c), cs) _m -> case c of
+    P $ \_i _x _y _l _ (s, exts, e, (d,c), cs) _m -> case c of
         False -> Ok (s, exts, e, (d,True), cs) ()
         _     -> error "Internal error: context flag already pushed"
 
 pullDoStatus :: P Bool
-pullDoStatus = P $ \_i _x _y _l (s, exts, e, (d,c), cs) _m -> Ok (s,exts,e,(False,c),cs) d
+pullDoStatus = P $ \_i _x _y _l _ (s, exts, e, (d,c), cs) _m -> Ok (s,exts,e,(False,c),cs) d
 
 getIgnoreFunctionArity :: P Bool
-getIgnoreFunctionArity = P $ \_i _x _y _l s m ->
+getIgnoreFunctionArity = P $ \_i _x _y _l _ s m ->
   Ok s $ iIgnoreFunctionArity m
 
 
@@ -351,15 +355,24 @@
 -- | Discard some input characters (these must not include tabs or newlines).
 
 discard :: Int -> Lex r ()
-discard n = Lex $ \cont -> P $ \r x -> runP (cont ()) (drop n r) (x+n)
+discard n = Lex $ \cont -> P $ \r x y loc ch
+                        -> let (newCh:rest)= if n > 0 then drop (n-1) r else (ch:r)
+                           in runP (cont ()) rest (x+n) y loc newCh
 
+-- | Get the last discarded character.
+-- This is only used for type application.
+
+getLastChar :: Lex r Char
+getLastChar = Lex $ \cont -> P $ \r x y loc ch -> runP (cont ch) r x y loc ch
+
+
 -- | Discard the next character, which must be a newline.
 
 lexNewline :: Lex a ()
-lexNewline = Lex $ \cont -> P $ \rs _x y loc ->
+lexNewline = Lex $ \cont -> P $ \rs _x y loc  ->
   case rs of
     (_:r) -> runP (cont ()) r 1 (y+1) loc
-    []    -> \_ _ -> Failed loc "Lexer: expected newline."
+    []    -> \_ _ _ -> Failed loc "Lexer: expected newline."
 
 -- | Discard the next character, which must be a tab.
 
@@ -375,9 +388,9 @@
 -- Consume and return the largest string of characters satisfying p
 
 lexWhile :: (Char -> Bool) -> Lex a String
-lexWhile p = Lex $ \cont -> P $ \rss c l ->
+lexWhile p = Lex $ \cont -> P $ \rss c l loc char ->
   case rss of
-    [] -> runP (cont []) [] c l
+    [] -> runP (cont []) [] c l loc char
     (r:rs) ->
       let
         l' = case r of
@@ -387,8 +400,8 @@
               '\n' -> 1
               _    -> c + 1
        in if p r
-            then runP (runL ((r:) <$> lexWhile p) cont) rs c' l'
-            else runP (cont []) (r:rs) c l
+            then runP (runL ((r:) <$> lexWhile p) cont) rs c' l' loc r
+            else runP (cont []) (r:rs) c l loc char
 
 -- | lexWhile without the return value.
 lexWhile_ :: (Char -> Bool) -> Lex a ()
@@ -429,13 +442,13 @@
 -- Set the loc to the current position
 
 startToken :: Lex a ()
-startToken = Lex $ \cont -> P $ \s x y _ stk mode ->
+startToken = Lex $ \cont -> P $ \s x y _ c stk mode ->
     let loc = SrcLoc {
         srcFilename = iParseFilename mode,
         srcLine = y,
         srcColumn = x
     } in
-    runP (cont ()) s x y loc stk mode
+    runP (cont ()) s x y loc c stk mode
 
 -- Current status with respect to the offside (layout) rule:
 -- LT: we are to the left of the current indent (if any)
@@ -443,8 +456,8 @@
 -- GT: we are to the right of the current indent, or not subject to layout
 
 getOffside :: Lex a Ordering
-getOffside = Lex $ \cont -> P $ \r x y loc stk ->
-        runP (cont (compare x (indentOfParseState stk))) r x y loc stk
+getOffside = Lex $ \cont -> P $ \r x y loc ch stk ->
+        runP (cont (compare x (indentOfParseState stk))) r x y loc ch stk
 
 getSrcLocL :: Lex a SrcLoc
 getSrcLocL = Lex $ \cont -> P $ \i x y l ->
@@ -455,79 +468,79 @@
         runP (cont ()) i x y
 
 pushContextL :: LexContext -> Lex a ()
-pushContextL ctxt = Lex $ \cont -> P $ \r x y loc (stk, exts, e, pst, cs) ->
-        runP (cont ()) r x y loc (ctxt:stk, exts, e, pst, cs)
+pushContextL ctxt = Lex $ \cont -> P $ \r x y loc ch (stk, exts, e, pst, cs) ->
+        runP (cont ()) r x y loc ch (ctxt:stk, exts, e, pst, cs)
 
 popContextL :: String -> Lex a ()
-popContextL _ = Lex $ \cont -> P $ \r x y loc stk m -> case stk of
-        (_:ctxt, exts, e, pst, cs) -> runP (cont ()) r x y loc (ctxt, exts, e, pst, cs) m
+popContextL _ = Lex $ \cont -> P $ \r x y loc ch stk m -> case stk of
+        (_:ctxt, exts, e, pst, cs) -> runP (cont ()) r x y loc ch (ctxt, exts, e, pst, cs) m
         ([], _, _, _, _)           -> Failed loc "Unexpected }"
 
 pullCtxtFlag :: Lex a Bool
-pullCtxtFlag = Lex $ \cont -> P $ \r x y loc (ct, exts, e, (d,c), cs) ->
-        runP (cont c) r x y loc (ct, exts, e, (d,False), cs)
+pullCtxtFlag = Lex $ \cont -> P $ \r x y loc ch (ct, exts, e, (d,c), cs) ->
+        runP (cont c) r x y loc ch (ct, exts, e, (d,False), cs)
 
 
 flagDo :: Lex a ()
-flagDo = Lex $ \cont -> P $ \r x y loc (ct, exts, e, (_,c), cs) ->
-        runP (cont ()) r x y loc (ct, exts, e, (True,c), cs)
+flagDo = Lex $ \cont -> P $ \r x y loc ch (ct, exts, e, (_,c), cs) ->
+        runP (cont ()) r x y loc ch (ct, exts, e, (True,c), cs)
 
 
 -- Harp/Hsx
 
 getExtContext :: Lex a (Maybe ExtContext)
-getExtContext = Lex $ \cont -> P $ \r x y loc stk@(_, _, e, _, _) ->
+getExtContext = Lex $ \cont -> P $ \r x y loc ch stk@(_, _, e, _, _) ->
         let me = case e of
               [] -> Nothing
               (c:_) -> Just c
-        in runP (cont me) r x y loc stk
+        in runP (cont me) r x y loc ch stk
 
 pushExtContextL :: ExtContext -> Lex a ()
-pushExtContextL ec = Lex $ \cont -> P $ \r x y loc (s, exts, e, p, c) ->
-        runP (cont ()) r x y loc (s, exts, ec:e, p, c)
+pushExtContextL ec = Lex $ \cont -> P $ \r x y loc ch (s, exts, e, p, c) ->
+        runP (cont ()) r x y loc ch (s, exts, ec:e, p, c)
 
 popExtContextL :: String -> Lex a ()
-popExtContextL fn = Lex $ \cont -> P $ \r x y loc (s,exts,e,p,c) m -> case e of
-            (_:ec)   -> runP (cont ()) r x y loc (s,exts,ec,p,c) m
+popExtContextL fn = Lex $ \cont -> P $ \r x y loc ch (s,exts,e,p,c) m -> case e of
+            (_:ec)   -> runP (cont ()) r x y loc ch (s,exts,ec,p,c) m
             []       -> Failed loc ("Internal error: empty tag context in " ++ fn)
 
 
 -- Extension-aware lexing
 
 getExtensionsL :: Lex a [KnownExtension]
-getExtensionsL = Lex $ \cont -> P $ \r x y loc s m ->
-        runP (cont $ iExtensions m) r x y loc s m
+getExtensionsL = Lex $ \cont -> P $ \r x y loc ch s m ->
+        runP (cont $ iExtensions m) r x y loc ch s m
 
 -- | Add an extension to the current configuration.
 addExtensionL :: KnownExtension -> Lex a ()
-addExtensionL ext = Lex $ \cont -> P $ \r x y loc (s, oldExts, e, p, c) m ->
+addExtensionL ext = Lex $ \cont -> P $ \r x y loc ch (s, oldExts, e, p, c) m ->
         let newExts = impliesExts [ext] ++ iExtensions m
-        in runP (cont ()) r x y loc (s, oldExts, e, p, c) (m {iExtensions = newExts})
+        in runP (cont ()) r x y loc ch (s, oldExts, e, p, c) (m {iExtensions = newExts})
 
 -- | Save the current configuration of extensions.
 saveExtensionsL :: Lex a ()
-saveExtensionsL = Lex $ \cont -> P $ \r x y loc (s, oldExts, e, p, c) m ->
-        runP (cont ()) r x y loc (s, iExtensions m:oldExts, e, p, c) m
+saveExtensionsL = Lex $ \cont -> P $ \r x y loc ch (s, oldExts, e, p, c) m ->
+        runP (cont ()) r x y loc ch (s, iExtensions m:oldExts, e, p, c) m
 
 -- | Return to the previous saved extensions configuration.
 restoreExtensionsL :: Lex a ()
-restoreExtensionsL = Lex $ \cont -> P $ \r x y loc (s,exts,e,p,c) m -> case exts of
-            (_:prev) -> runP (cont ()) r x y loc (s,prev,e,p,c) m
+restoreExtensionsL = Lex $ \cont -> P $ \r x y loc ch (s,exts,e,p,c) m -> case exts of
+            (_:prev) -> runP (cont ()) r x y loc ch (s,prev,e,p,c) m
             _        -> Failed loc "Internal error: empty extension stack"
 
 -- LINE-aware lexing
 
 ignoreLinePragmasL :: Lex a Bool
-ignoreLinePragmasL = Lex $ \cont -> P $ \r x y loc s m ->
-        runP (cont $ iIgnoreLinePragmas m) r x y loc s m
+ignoreLinePragmasL = Lex $ \cont -> P $ \r x y loc c s m ->
+        runP (cont $ iIgnoreLinePragmas m) r x y loc c s m
 
 -- If we read a file name in a LINE pragma, we should update the state.
 setLineFilenameL :: String -> Lex a ()
-setLineFilenameL name = Lex $ \cont -> P $ \r x y loc s m ->
-        runP (cont ()) r x y loc s (m {iParseFilename = name})
+setLineFilenameL name = Lex $ \cont -> P $ \r x y loc ch s m ->
+        runP (cont ()) r x y loc ch s (m {iParseFilename = name})
 
 -- Comments
 
 pushComment :: Comment -> Lex a ()
-pushComment c = Lex $ \cont -> P $ \r x y loc (s, exts, e, p, cs) ->
-        runP (cont ()) r x y loc (s, exts, e, p, c:cs)
+pushComment c = Lex $ \cont -> P $ \r x y loc ch (s, exts, e, p, cs) ->
+        runP (cont ()) r x y loc ch (s, exts, e, p, c:cs)
diff --git a/src/Language/Haskell/Exts/ParseSyntax.hs b/src/Language/Haskell/Exts/ParseSyntax.hs
--- a/src/Language/Haskell/Exts/ParseSyntax.hs
+++ b/src/Language/Haskell/Exts/ParseSyntax.hs
@@ -2,14 +2,15 @@
 {-# OPTIONS_HADDOCK hide #-}
 module Language.Haskell.Exts.ParseSyntax where
 
-import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )
-import qualified Language.Haskell.Exts.Annotated.Syntax as S ( Type(..), Promoted(..) )
+import Language.Haskell.Exts.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )
+import qualified Language.Haskell.Exts.Syntax as S ( Type(..), Promoted(..) )
 
 ---------------------------------------
 -- Expressions as we parse them (and patterns, and regular patterns)
 
 data PExp l
     = Var l (QName l)                       -- ^ variable
+    | OverloadedLabel l String              -- ^ overloaded label #foo
     | IPVar l (IPName l)                    -- ^ implicit parameter variable
     | Con l (QName l)                       -- ^ data constructor
     | Lit l (Literal l)                     -- ^ literal constant
@@ -25,12 +26,10 @@
                                             --   the last statement in the list
                                             --   should be an expression.
     | MDo l [Stmt l]                        -- ^ @mdo@-expression
---    | Tuple [PExp]                        -- ^ tuple expression
     | TupleSection l Boxed [Maybe (PExp l)] -- ^ tuple section expression, e.g. @(,,3)@
     | List l [PExp l]                       -- ^ list expression
     | ParArray l [PExp l]                   -- ^ parallel array expression
     | Paren l (PExp l)                      -- ^ parenthesized expression
---     RightSection QOp PExp                -- ^ right section @(@/qop/ /exp/@)@
     | RecConstr l (QName l) [PFieldUpdate l]
                                             -- ^ record construction expression
     | RecUpdate l (PExp l) [PFieldUpdate l]
@@ -104,6 +103,7 @@
 
 -- LambdaCase
     | LCase l [Alt l]                       -- ^ @\case@ /alts/
+    | TypeApp l (S.Type l)
    deriving (Eq,Show,Functor)
 
 data PFieldUpdate l
@@ -118,6 +118,7 @@
 instance Annotated PExp where
     ann e = case e of
         Var l _                 -> l
+        OverloadedLabel l _     -> l
         IPVar l _               -> l
         Con l _                 -> l
         Lit l _                 -> l
@@ -183,9 +184,11 @@
 
         LCase l _               -> l
         MultiIf l _             -> l
+        TypeApp l _             -> l
 
     amap f e' = case e' of
         Var l qn                -> Var   (f l) qn
+        OverloadedLabel l qn    -> OverloadedLabel (f l) qn
         IPVar l ipn             -> IPVar (f l) ipn
         Con l qn                -> Con   (f l) qn
         Lit l lit               -> Lit   (f l) lit
@@ -251,6 +254,7 @@
 
         LCase l alts -> LCase (f l) alts
         MultiIf l alts -> MultiIf (f l) alts
+        TypeApp l ty -> TypeApp (f l) ty
 
 instance Annotated PFieldUpdate where
     ann (FieldUpdate l _  _) = l
@@ -305,8 +309,9 @@
      | TyKind  l (PType l) (Kind l)             -- ^ type with explicit kind signature
      | TyPromoted l (S.Promoted l)              -- ^ promoted data type
      | TySplice l (Splice l)                    -- ^ template haskell splice type
-     | TyBang l (BangType l) (PType l)          -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.
+     | 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
+     | TyQuasiQuote l String String             -- ^ @[qq| |]@
   deriving (Eq, Show, Functor)
 
 instance Annotated PType where
@@ -325,8 +330,9 @@
       TyPromoted l   _              -> l
       TyPred l _                    -> l
       TySplice l _                  -> l
-      TyBang  l _ _                 -> l
+      TyBang  l _ _ _                 -> l
       TyWildCard  l _               -> l
+      TyQuasiQuote l _ _            -> l
     amap f t' = case t' of
       TyForall l mtvs mcx t         -> TyForall (f l) mtvs mcx t
       TyFun   l t1 t2               -> TyFun (f l) t1 t2
@@ -342,8 +348,9 @@
       TyPromoted l   p              -> TyPromoted (f l)   p
       TyPred l asst                 -> TyPred (f l) asst
       TySplice l s                  -> TySplice (f l) s
-      TyBang  l b t                 -> TyBang (f l) b t
+      TyBang  l b u t                 -> TyBang (f l) b u t
       TyWildCard l mn               -> TyWildCard (f l) mn
+      TyQuasiQuote l n s            -> TyQuasiQuote (f l) n s
 
 data PAsst l
     = ClassA l (QName l) [PType l]
@@ -372,13 +379,3 @@
         EqualP l t1 t2      -> EqualP (f l) t1 t2
         ParenA l a          -> ParenA (f l) a
         WildCardA l mn      -> WildCardA (f l) mn
-
-
-unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: l -> PType l
-unit_tycon              l = TyCon l (unit_tycon_name l)
-fun_tycon               l = TyCon l (fun_tycon_name l)
-list_tycon              l = TyCon l (list_tycon_name l)
-unboxed_singleton_tycon l = TyCon l (unboxed_singleton_tycon_name l)
-
-tuple_tycon :: l -> Boxed -> Int -> PType l
-tuple_tycon l b i         = TyCon l (tuple_tycon_name l b i)
diff --git a/src/Language/Haskell/Exts/ParseUtils.hs b/src/Language/Haskell/Exts/ParseUtils.hs
--- a/src/Language/Haskell/Exts/ParseUtils.hs
+++ b/src/Language/Haskell/Exts/ParseUtils.hs
@@ -1,4 +1,6 @@
 {-# OPTIONS_HADDOCK hide #-}
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE PatternGuards #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Language.Haskell.Exts.ParseUtils
@@ -53,6 +55,9 @@
     , getGConName           -- S.Exp -> P QName
     , mkTyForall            -- Maybe [TyVarBind] -> PContext -> PType -> PType
     , mkRoleAnnotDecl       --
+    , mkAssocType
+    , mkEThingWith
+    , splitTilde
     -- HaRP
     , checkRPattern         -- PExp -> P RPat
     -- Hsx
@@ -73,8 +78,8 @@
     , p_unboxed_singleton_con   -- PExp
     ) where
 
-import Language.Haskell.Exts.Annotated.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )
-import qualified Language.Haskell.Exts.Annotated.Syntax as S ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..), Role(..), PatternSynDirection(..))
+import Language.Haskell.Exts.Syntax hiding ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..) )
+import qualified Language.Haskell.Exts.Syntax as S ( Type(..), Asst(..), Exp(..), FieldUpdate(..), XAttr(..), Context(..), Role(..), PatternSynDirection(..))
 
 import Language.Haskell.Exts.ParseSyntax
 import Language.Haskell.Exts.ParseMonad
@@ -86,10 +91,12 @@
 import Prelude hiding (mod)
 import Data.List (intercalate, intersperse)
 import Data.Maybe (fromJust, fromMaybe)
+import Data.Either
 import Control.Monad (when,unless)
-import Control.Applicative (Applicative (..), (<$>))
 
---- import Debug.Trace (trace)
+#if __GLASGOW_HASKELL__ < 710
+import Control.Applicative (Applicative (..), (<$>))
+#endif
 
 type L = SrcSpanInfo
 type S = SrcSpan
@@ -162,23 +169,9 @@
 checkPContext (TyParen l t) = do
     c <- checkAssertion t
     return $ CxSingle l (ParenA l c)
-checkPContext (TyPred _ p@(EqualP l _ _)) =
-  -- Depending on where EqualP is found, it may contain either 1 or 2 info
-  -- points.
-  --
-  -- If it's by itself, it contains two: one for the tilde, another for =>.
-  -- The => position is important to have in CxSingle, but for EqualP
-  -- itself it's not needed.
-  --
-  -- If it's parsed as an element of a tuple (a ~ b, ...), then it only
-  -- contains one info point. (But that case is handled in a different
-  -- branch.)
-  let
-    withInfoPoints f info = info {srcInfoPoints = f (srcInfoPoints info)}
-  in
-    return $
-      CxSingle (withInfoPoints (drop 1) l) $
-        amap (withInfoPoints $ take 1) p
+checkPContext (TyPred tp p@(EqualP {})) = do
+  checkEnabledOneOf [TypeFamilies, GADTs]
+  return $ CxSingle tp p
 
 checkPContext t = do
     c <- checkAssertion t
@@ -201,7 +194,8 @@
 checkAssertion t' = checkAssertion' id [] t'
     where   -- class assertions must have at least one argument
             checkAssertion' fl ts (TyCon l c) = do
-                when (length ts /= 1) $ checkEnabled MultiParamTypeClasses
+                when (length ts > 1) $ checkEnabled MultiParamTypeClasses
+                when (length ts < 1) $ checkEnabled FlexibleContexts
                 checkAndWarnTypeOperators c
                 return $ ClassA (fl l) c ts
             checkAssertion' fl ts (TyApp l a t) =
@@ -636,6 +630,7 @@
 checkExpr :: PExp L -> P (S.Exp L)
 checkExpr e' = case e' of
     Var l v               -> return $ S.Var l v
+    OverloadedLabel l v   -> return $ S.OverloadedLabel l v
     IPVar l v             -> return $ S.IPVar l v
     Con l c               -> return $ S.Con l c
     Lit l lit             -> return $ S.Lit l lit
@@ -736,6 +731,7 @@
 
     -- Hole
     WildCard l     -> return $ S.ExprHole l
+    TypeApp l ty   -> return $ S.TypeApp l ty
 
     _             -> fail $ "Parse error in expression: " ++ prettyPrint e'
 
@@ -839,7 +835,7 @@
         let infos = srcInfoPoints loc
             op'   = amap (\s -> s { srcInfoPoints = infos }) op
         in (return $ Just (op', l:r:es, False, []))
-isFunLhs (App _ (Var _ (UnQual _ f)) e) es = return $ Just (f, e:es, True, [])
+isFunLhs (App _ (Var l (UnQual _ f)) e) es = return $ Just (f, e:es, True, srcInfoPoints l)
 isFunLhs (App _ f e) es = isFunLhs f (e:es)
 isFunLhs (Var _ (UnQual _ f)) es@(_:_) = return $ Just (f, es, True, [])
 isFunLhs (Paren l f) es@(_:_) = do mlhs <- isFunLhs f es
@@ -1061,9 +1057,16 @@
 -- Check actual types
 
 -- | Add a strictness/unpack annotation on a type.
-bangType :: L -> BangType L -> PType L -> PType L
-bangType = TyBang
+bangType :: Maybe (L -> BangType L, S) -> Maybe (Unpackedness L) -> PType L -> PType L
+bangType mstrict munpack ty =
+  case (mstrict,munpack) of
+    (Nothing, Just upack) -> TyBang (ann upack <++> ann ty) (NoStrictAnnot noSrcSpan) upack ty
+    (Just (strict, pos), _)  ->
+      TyBang (fmap ann munpack <?+> noInfoSpan pos <++> ann ty) (strict (noInfoSpan pos))
+        (fromMaybe (NoUnpackPragma noSrcSpan) munpack) ty
+    (Nothing, Nothing) -> ty
 
+
 checkType :: PType L -> P (S.Type L)
 checkType t = checkT t False
 
@@ -1095,14 +1098,19 @@
      -- 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 op <*> checkType t1
-    TyPred _ (EqualP l t0    t1)        -> S.TyEquals l <$> checkType t0 <*> checkType t1 where
+    TyPred _ (EqualP l t0    t1)        -> do
+      checkEnabledOneOf [TypeFamilies, GADTs]
+      S.TyEquals l <$> checkType t0 <*> checkType t1
 
     TyPromoted l p -> return $ S.TyPromoted l p -- ??
     TySplice l s        -> do
                               checkEnabled TemplateHaskell
                               return $ S.TySplice l s
-    TyBang l b t' -> check1Type t' (S.TyBang l b)
+    TyBang l b u t' -> check1Type t' (S.TyBang l b u)
     TyWildCard l mn -> return $ S.TyWildCard l mn
+    TyQuasiQuote l n s -> do
+                              checkEnabled QuasiQuotes
+                              return $ S.TyQuasiQuote l n s
     _   -> fail $ "Parse error in type: " ++ prettyPrint t
 
 check1Type :: PType L -> (S.Type L -> S.Type L) -> P (S.Type L)
@@ -1134,7 +1142,7 @@
 
 -- ConstraintKinds allow the kind "Constraint", but not "Nat", etc. Specifically
 -- test for that.
-checkKind :: Show l => Kind l -> P ()
+checkKind :: Kind l -> P ()
 checkKind k = case k of
         KindVar _ q | constrKind q -> checkEnabledOneOf [ConstraintKinds, DataKinds]
             where constrKind name = case name of
@@ -1205,3 +1213,77 @@
           Nothing         ->
             fail ("Illegal role name " ++ role)
 
+
+
+
+mkAssocType :: S -> PType L -> (Maybe (ResultSig L), Maybe (S, S.Type L), Maybe (InjectivityInfo L)) -> P (ClassDecl L)
+mkAssocType tyloc ty (mres, mty, minj)  =
+  case (mres,mty, minj) of
+    -- No additional information
+    (Nothing, Nothing, Nothing) -> do
+      dh <- checkSimpleType ty
+      return $ ClsTyFam (noInfoSpan tyloc <++> ann ty) dh Nothing Nothing
+    -- Type default
+    (_, Just (eqloc, rhsty), Nothing) -> do
+      ty' <- checkType ty
+      let tyeq = TypeEqn (ann ty <++> ann rhsty <** [eqloc]) ty' rhsty
+      return $ ClsTyDef (noInfoSpan tyloc <++> ann ty <** [tyloc]) tyeq
+    -- Declaration with kind sig
+    (Just ressig, _, _) -> do
+      dh <- checkSimpleType ty
+      return $ ClsTyFam (noInfoSpan tyloc <++> ann ressig <** [tyloc]) dh (Just ressig) Nothing
+    -- Decl with inj info
+    (Nothing, Just (eqloc, rhsty), Just injinfo) -> do
+      ressig <- checkKTyVar eqloc rhsty
+      dh <- checkSimpleType ty
+      return $ ClsTyFam (noInfoSpan tyloc <++> ann injinfo <** [tyloc]) dh (Just ressig) minj
+    _ -> error "mkAssocType"
+
+  where
+    checkKTyVar :: S -> S.Type L -> P (ResultSig L)
+    checkKTyVar eqloc rhsty =
+      case rhsty of
+       S.TyVar l n -> return $ TyVarSig (noInfoSpan eqloc <++> l <** [eqloc]) (UnkindedVar l n)
+       S.TyKind l (S.TyVar _ n) k -> return $ TyVarSig (noInfoSpan eqloc <++> l <** [eqloc]) (KindedVar l n k)
+       _ -> fail ("Result of type family must be a type variable")
+
+-- | Transform btype with strict_mark's into HsEqTy's
+-- (((~a) ~b) c) ~d ==> ((~a) ~ (b c)) ~ d
+splitTilde :: PType L -> PType L
+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')
+          | 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))
+              t' -> TyApp loc t' t2
+
+        go t' = t'
+
+-- Expects the arguments in the right order
+mkEThingWith :: L -> QName L -> [Either S (CName L)] -> P (ExportSpec L)
+mkEThingWith loc qn mcns = do
+  when (isWc wc && not (null cnames)) (checkEnabled PatternSynonyms)
+  return $ EThingWith loc wc qn cnames
+  where
+    isWc (NoWildcard {}) = False
+    isWc _ = True
+
+    wc :: EWildcard L
+    wc = maybe (NoWildcard noSrcSpan)
+               (\(n,Left s) -> EWildcard (noInfoSpan s) n)
+               (findWithIndex 0 checkLeft mcns)
+
+    checkLeft :: Either a b -> Bool
+    checkLeft (Left _) = True
+    checkLeft _ = False
+
+    cnames = rights mcns
+
+    findWithIndex :: Int -> (a -> Bool) -> [a] -> Maybe (Int, a)
+    findWithIndex _ _ [] = Nothing
+    findWithIndex n p (x:xs)
+      | p x = Just (n, x)
+      | otherwise = findWithIndex (n + 1) p xs
diff --git a/src/Language/Haskell/Exts/Parser.hs b/src/Language/Haskell/Exts/Parser.hs
--- a/src/Language/Haskell/Exts/Parser.hs
+++ b/src/Language/Haskell/Exts/Parser.hs
@@ -1,232 +1,258 @@
-{-# LANGUAGE DeriveDataTypeable, FlexibleInstances #-}
+{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, DeriveFunctor #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 -----------------------------------------------------------------------------
 -- |
--- Module      :  Language.Haskell.Exts.Parser
--- Copyright   :  (c) The GHC Team, 1997-2000
---                (c) Niklas Broberg, 2004-2012
+-- Module      :  Language.Haskell.Exts.Annotated.Parser
+-- Copyright   :  (c) Niklas Broberg 2004-2009
+--                (c) Michael Sloan 2013
 -- License     :  BSD-style (see the file LICENSE.txt)
 --
--- Maintainer  :  Niklas Broberg, niklas.broberg@chalmers.se
+-- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
 -- Stability   :  stable
 -- Portability :  portable
 --
--- Parser for Haskell with extensions.
+-- Annotated parser for Haskell with extensions.
 --
 -----------------------------------------------------------------------------
-
 module Language.Haskell.Exts.Parser
-            (
-                -- * General parsing
-                Parseable(parse, parseWithMode, parseWithComments),
-                ParseMode(..), defaultParseMode, ParseResult(..), fromParseResult,
-                -- * Parsing of specific AST elements
-                -- ** Modules
-                parseModule, parseModuleWithMode, parseModuleWithComments,
-                -- ** Expressions
-                parseExp, parseExpWithMode, parseExpWithComments,
-                -- ** Statements
-                parseStmt, parseStmtWithMode, parseStmtWithComments,
-                -- ** Patterns
-                parsePat, parsePatWithMode, parsePatWithComments,
-                -- ** Declarations
-                parseDecl, parseDeclWithMode, parseDeclWithComments,
-                -- ** Types
-                parseType, parseTypeWithMode, parseTypeWithComments,
-                -- ** Import declarations
-                parseImportDecl, parseImportDeclWithMode,
-                parseImportDeclWithComments,
-                -- * Non-greedy parsers
-                NonGreedy(..),
-                -- ** Module head parsers
-                getTopPragmas,
-                PragmasAndModuleName(..),
-                PragmasAndModuleHead(..),
-                ModuleHeadAndImports(..)
-            ) where
+    (
+    -- * General parsing
+      Parseable(parse, parseWithMode, parseWithComments)
+    , ParseMode(..), defaultParseMode, ParseResult(..), fromParseResult
+    -- * Parsing of specific AST elements
+    -- ** Modules
+    , parseModule, parseModuleWithMode, parseModuleWithComments
+    -- ** Expressions
+    , parseExp, parseExpWithMode, parseExpWithComments
+    -- ** Statements
+    , parseStmt, parseStmtWithMode, parseStmtWithComments
+    -- ** Patterns
+    , parsePat, parsePatWithMode, parsePatWithComments
+    -- ** Declarations
+    , parseDecl, parseDeclWithMode, parseDeclWithComments
+    -- ** Types
+    , parseType, parseTypeWithMode, parseTypeWithComments
+    -- ** Imports
+    , parseImportDecl, parseImportDeclWithMode, parseImportDeclWithComments
+    -- * Non-greedy parsers
+    , NonGreedy(..)
+    , ListOf(..), unListOf
+    -- ** Module head parsers
+    , getTopPragmas
+    , PragmasAndModuleName(..)
+    , PragmasAndModuleHead(..)
+    , ModuleHeadAndImports(..)
+    ) where
 
-import           Data.Data (Data, Typeable)
-import           Language.Haskell.Exts.Annotated.Fixity
-import           Language.Haskell.Exts.Annotated.Parser (unListOf, ListOf, NonGreedy(..))
-import qualified Language.Haskell.Exts.Annotated.Parser as A
-import           Language.Haskell.Exts.Annotated.Simplify
-import           Language.Haskell.Exts.Annotated.Syntax
-import           Language.Haskell.Exts.Comments
-import           Language.Haskell.Exts.ParseMonad hiding (getModuleName)
-import           Language.Haskell.Exts.SrcLoc
-import qualified Language.Haskell.Exts.Syntax as S
+import Data.Data hiding (Fixity)
+import Language.Haskell.Exts.Fixity
+import Language.Haskell.Exts.Syntax
+import Language.Haskell.Exts.Comments
+import Language.Haskell.Exts.InternalParser
+import Language.Haskell.Exts.ParseMonad
+import Language.Haskell.Exts.SrcLoc
 
-parseWithSimplify :: Parseable a => a -> (a -> a') -> Maybe [Fixity] -> P a'
-parseWithSimplify _witness simpl mfixs = parser mfixs >>= return . simpl
+instance Parseable (Decl   SrcSpanInfo) where parser = normalParser mparseDecl
+instance Parseable (Exp    SrcSpanInfo) where parser = normalParser mparseExp
+instance Parseable (Module SrcSpanInfo) where parser = normalParser mparseModule
+instance Parseable (Pat    SrcSpanInfo) where parser = normalParser mparsePat
+instance Parseable (Stmt   SrcSpanInfo) where parser = normalParser mparseStmt
+instance Parseable (Type   SrcSpanInfo) where parser = normalParserNoFixity mparseType
+instance Parseable (ImportDecl SrcSpanInfo) where parser = normalParserNoFixity mparseImportDecl
 
-instance Parseable S.Decl   where parser = parseWithSimplify (undefined :: Decl   SrcSpanInfo) sDecl
-instance Parseable S.Exp    where parser = parseWithSimplify (undefined :: Exp    SrcSpanInfo) sExp
-instance Parseable S.Module where parser = parseWithSimplify (undefined :: Module SrcSpanInfo) sModule
-instance Parseable S.Pat    where parser = parseWithSimplify (undefined :: Pat    SrcSpanInfo) sPat
-instance Parseable S.Stmt   where parser = parseWithSimplify (undefined :: Stmt   SrcSpanInfo) sStmt
-instance Parseable S.Type   where parser = parseWithSimplify (undefined :: Type   SrcSpanInfo) sType
-instance Parseable S.ImportDecl where parser = parseWithSimplify (undefined :: ImportDecl SrcSpanInfo) sImportDecl
+normalParser :: AppFixity a => P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)
+normalParser p Nothing = p
+normalParser p (Just fixs) = p >>= \ast -> applyFixities fixs ast `atSrcLoc` noLoc
 
-instance Parseable (NonGreedy [S.ModulePragma]) where
-  parser = parseWithSimplify
-    (undefined :: NonGreedy (ListOf (ModulePragma SrcSpanInfo)))
-    (fmap (map sModulePragma . unListOf))
+normalParserNoFixity :: P (a SrcSpanInfo) -> Maybe [Fixity] -> P (a SrcSpanInfo)
+normalParserNoFixity p _ = p
 
 -- Type-specific functions
 
 -- | Parse of a string, which should contain a complete Haskell module, using 'defaultParseMode'.
-parseModule :: String -> ParseResult S.Module
+parseModule :: String -> ParseResult (Module SrcSpanInfo)
 parseModule = parse
 
 -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode'.
-parseModuleWithMode :: ParseMode -> String -> ParseResult S.Module
+parseModuleWithMode :: ParseMode -> String -> ParseResult (Module SrcSpanInfo)
 parseModuleWithMode = parseWithMode
 
 -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parseModuleWithComments :: ParseMode -> String -> ParseResult (S.Module, [Comment])
+parseModuleWithComments :: ParseMode -> String -> ParseResult (Module SrcSpanInfo, [Comment])
 parseModuleWithComments = parseWithComments
 
 -- | Parse of a string containing a Haskell expression, using 'defaultParseMode'.
-parseExp :: String -> ParseResult S.Exp
+parseExp :: String -> ParseResult (Exp SrcSpanInfo)
 parseExp = parse
 
 -- | Parse of a string containing a Haskell expression, using an explicit 'ParseMode'.
-parseExpWithMode :: ParseMode -> String -> ParseResult S.Exp
+parseExpWithMode :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo)
 parseExpWithMode = parseWithMode
 
 -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parseExpWithComments :: ParseMode -> String -> ParseResult (S.Exp, [Comment])
+parseExpWithComments :: ParseMode -> String -> ParseResult (Exp SrcSpanInfo, [Comment])
 parseExpWithComments = parseWithComments
 
 -- | Parse of a string containing a Haskell pattern, using 'defaultParseMode'.
-parsePat :: String -> ParseResult S.Pat
+parsePat :: String -> ParseResult (Pat SrcSpanInfo)
 parsePat = parse
 
 -- | Parse of a string containing a Haskell pattern, using an explicit 'ParseMode'.
-parsePatWithMode :: ParseMode -> String -> ParseResult S.Pat
+parsePatWithMode :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo)
 parsePatWithMode = parseWithMode
 
 -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parsePatWithComments :: ParseMode -> String -> ParseResult (S.Pat, [Comment])
+parsePatWithComments :: ParseMode -> String -> ParseResult (Pat SrcSpanInfo, [Comment])
 parsePatWithComments = parseWithComments
 
--- | Parse of a string containing a Haskell top-level declaration, using 'defaultParseMode'
-parseDecl :: String -> ParseResult S.Decl
+-- | Parse of a string containing a Haskell top-level declaration, using 'defaultParseMode'.
+parseDecl :: String -> ParseResult (Decl SrcSpanInfo)
 parseDecl = parse
 
 -- | Parse of a string containing a Haskell top-level declaration, using an explicit 'ParseMode'.
-parseDeclWithMode :: ParseMode -> String -> ParseResult S.Decl
+parseDeclWithMode :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo)
 parseDeclWithMode = parseWithMode
 
 -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parseDeclWithComments :: ParseMode -> String -> ParseResult (S.Decl, [Comment])
+parseDeclWithComments :: ParseMode -> String -> ParseResult (Decl SrcSpanInfo, [Comment])
 parseDeclWithComments = parseWithComments
 
 -- | Parse of a string containing a Haskell type, using 'defaultParseMode'.
-parseType :: String -> ParseResult S.Type
+parseType :: String -> ParseResult (Type SrcSpanInfo)
 parseType = parse
 
 -- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.
-parseTypeWithMode :: ParseMode -> String -> ParseResult  S.Type
+parseTypeWithMode :: ParseMode -> String -> ParseResult (Type SrcSpanInfo)
 parseTypeWithMode = parseWithMode
 
 -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parseTypeWithComments :: ParseMode -> String -> ParseResult (S.Type, [Comment])
+parseTypeWithComments :: ParseMode -> String -> ParseResult (Type SrcSpanInfo, [Comment])
 parseTypeWithComments = parseWithComments
 
--- | Parse of a string containing a Haskell type, using 'defaultParseMode'.
-parseStmt :: String -> ParseResult S.Stmt
+-- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.
+parseStmt :: String -> ParseResult (Stmt SrcSpanInfo)
 parseStmt = parse
 
 -- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.
-parseStmtWithMode :: ParseMode -> String -> ParseResult S.Stmt
+parseStmtWithMode :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo)
 parseStmtWithMode = parseWithMode
 
 -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parseStmtWithComments :: ParseMode -> String -> ParseResult (S.Stmt, [Comment])
+parseStmtWithComments :: ParseMode -> String -> ParseResult (Stmt SrcSpanInfo, [Comment])
 parseStmtWithComments = parseWithComments
 
--- | Parse of a string containing a Haskell import declaration, using 'defaultParseMode'.
-parseImportDecl :: String -> ParseResult S.ImportDecl
+-- | Parse of a string containing a Haskell statement, using 'defaultParseMode'.
+parseImportDecl :: String -> ParseResult (ImportDecl SrcSpanInfo)
 parseImportDecl = parse
 
 -- | Parse of a string containing a Haskell type, using an explicit 'ParseMode'.
-parseImportDeclWithMode :: ParseMode -> String -> ParseResult S.ImportDecl
+parseImportDeclWithMode :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo)
 parseImportDeclWithMode = parseWithMode
 
 -- | Parse of a string containing a complete Haskell module, using an explicit 'ParseMode', retaining comments.
-parseImportDeclWithComments :: ParseMode -> String -> ParseResult (S.ImportDecl, [Comment])
+parseImportDeclWithComments :: ParseMode -> String -> ParseResult (ImportDecl SrcSpanInfo, [Comment])
 parseImportDeclWithComments = parseWithComments
 
+-- Non-greedy parsers (should use ng- prefixed parses exported by InternalParser)
 
+-- | Non-greedy parse of a string starting with a series of top-level option pragmas.
+getTopPragmas :: String -> ParseResult [ModulePragma SrcSpanInfo]
+getTopPragmas = fmap (unListOf . unNonGreedy) . parse
 
--- Module head parsers
+instance Parseable (NonGreedy (ListOf (ModulePragma SrcSpanInfo))) where
+  parser = nglistParserNoFixity ngparseModulePragmas
 
--- | Partial parse of a string starting with a series of top-level option pragmas.
-getTopPragmas :: String -> ParseResult [S.ModulePragma]
-getTopPragmas = fmap (fmap unNonGreedy) parse
+nglistParserNoFixity :: P ([a SrcSpanInfo], [SrcSpan], SrcSpanInfo) -> Maybe [Fixity] -> P (NonGreedy (ListOf (a SrcSpanInfo)))
+nglistParserNoFixity f = fmap (NonGreedy . toListOf) . normalParserNoFixity f
 
--- | Type intended to be used with 'Parseable', with instances that
---   implement a non-greedy parse of the module name, including
---   top-level pragmas.  This means that a parse error that comes
---   after the module header won't be returned. If no module name is
---   found (and no parse error occurs), then \"Main\" is returned.
---   This is the same behavior that 'parseModule' has.
-data PragmasAndModuleName = PragmasAndModuleName
-    [S.ModulePragma]
-    S.ModuleName
+-- | Type intended to be used with 'Parseable', with instances that implement a
+--   non-greedy parse of the module name, including top-level pragmas.  This
+--   means that a parse error that comes after the module header won't be
+--   returned. If the 'Maybe' value is 'Nothing', then this means that there was
+--   no module header.
+data PragmasAndModuleName l = PragmasAndModuleName l
+    [ModulePragma l]
+    (Maybe (ModuleName l))
   deriving (Eq,Ord,Show,Typeable,Data)
 
-instance Parseable (NonGreedy PragmasAndModuleName) where
-    parser fixs = do
-        NonGreedy (A.PragmasAndModuleName _ ps mmn) <- parser fixs
-        return $ NonGreedy $ PragmasAndModuleName
-            (map sModulePragma (ps :: [ModulePragma SrcSpanInfo]))
-            (maybe S.main_mod sModuleName mmn)
+instance Parseable (NonGreedy (PragmasAndModuleName SrcSpanInfo)) where
+    parser _ = do
+        ((pragmas, pss, pl), mn) <- ngparsePragmasAndModuleName
+        let l = combSpanMaybe (pl <** pss) (fmap ann mn)
+        return $ NonGreedy $ PragmasAndModuleName l pragmas mn
 
--- | Type intended to be used with 'Parseable', with instances that
+--   Type intended to be used with 'Parseable', with instances that
 --   implement a non-greedy parse of the module name, including
 --   top-level pragmas.  This means that a parse error that comes
---   after the module header won't be returned. If no module head is
---   found, then a default simple head like \"module Main where\" is
---   assumed. This is the same behavior that 'parseModule' has.
+--   after the module header won't be returned. If the 'Maybe' value
+--   is 'Nothing', this means that there was no module head.
 --
---   Note that the 'ParseMode' particularly matters for this due to
---   the 'MagicHash' changing the lexing of identifiers to include
---   \"#\".
-data PragmasAndModuleHead = PragmasAndModuleHead
-    [S.ModulePragma]
-    (S.ModuleName, Maybe S.WarningText, Maybe [S.ExportSpec])
+--   Note that the 'ParseMode' matters for this due to the 'MagicHash'
+--   changing the lexing of identifiers to include \"#\".
+data PragmasAndModuleHead l = PragmasAndModuleHead l
+    [ModulePragma l]
+    (Maybe (ModuleHead l))
   deriving (Eq,Ord,Show,Typeable,Data)
 
-instance Parseable (NonGreedy PragmasAndModuleHead) where
-    parser fixs = do
-        NonGreedy (A.PragmasAndModuleHead _ ps mmh) <- parser fixs
-        return $ NonGreedy $ PragmasAndModuleHead
-            (map sModulePragma (ps :: [ModulePragma SrcSpanInfo]))
-            (sModuleHead mmh)
+instance Parseable (NonGreedy (PragmasAndModuleHead SrcSpanInfo)) where
+    parser _ = do
+        ((pragmas, pss, pl), mh) <- ngparsePragmasAndModuleHead
+        let l = combSpanMaybe (pl <** pss) (fmap ann mh)
+        return $ NonGreedy $ PragmasAndModuleHead l pragmas mh
 
--- | Type intended to be used with 'Parseable', with instances that
+--   Type intended to be used with 'Parseable', with instances that
 --   implement a non-greedy parse of the module head, including
 --   top-level pragmas, module name, export list, and import
 --   list. This means that if a parse error that comes after the
---   imports won't be returned.  If no module head is found, then a
---   default simple head like \"module Main where\" is assumed. This
---   is the same behavior that 'parseModule' has.
+--   imports won't be returned.  If the 'Maybe' value is 'Nothing',
+--   this means that there was no module head.
 --
---   Note that the 'ParseMode' particularly matters for this due to
---   the 'MagicHash' changing the lexing of identifiers to include
---   \"#\".
-data ModuleHeadAndImports = ModuleHeadAndImports
-    [S.ModulePragma]
-    (S.ModuleName, Maybe S.WarningText, Maybe [S.ExportSpec])
-    [S.ImportDecl]
+--   Note that the 'ParseMode' matters for this due to the 'MagicHash'
+--   changing the lexing of identifiers to include \"#\".
+data ModuleHeadAndImports l = ModuleHeadAndImports l
+    [ModulePragma l]
+    (Maybe (ModuleHead l))
+    [ImportDecl l]
   deriving (Eq,Ord,Show,Typeable,Data)
 
-instance Parseable (NonGreedy ModuleHeadAndImports) where
-    parser fixs = do
-        NonGreedy (A.ModuleHeadAndImports _ ps mmh imps) <- parser fixs
-        return $ NonGreedy $ ModuleHeadAndImports
-            (map sModulePragma (ps :: [ModulePragma SrcSpanInfo]))
-            (sModuleHead mmh)
-            (map sImportDecl imps)
+instance Parseable (NonGreedy (ModuleHeadAndImports SrcSpanInfo)) where
+    parser _ = do
+        ((pragmas, pss, pl), mh, mimps) <- ngparseModuleHeadAndImports
+        let l = (pl <** pss) `combSpanMaybe`
+                (fmap ann mh) `combSpanMaybe`
+                (fmap (\(_, iss, il) -> il <** iss) mimps)
+            imps = maybe [] (\(x, _, _) -> x) mimps
+        return $ NonGreedy $ ModuleHeadAndImports l pragmas mh imps
+
+-- | Instances of 'Parseable' for @NonGreedy a@ will only consume the input
+--   until @a@ is fully parsed.  This means that parse errors that come later
+--   in the input will be ignored.  It's also more efficient, as it's fully lazy
+--   in the remainder of the input:
+--
+--   >>> parse (unlines ("module A where" : "main =" : repeat "blah")) :: ParseResult PragmasAndModuleHead
+--   ParseOk (NonGreedy {unNonGreedy = PragmasAndModuleHead [] (ModuleName "A",Nothing,Nothing)})
+--
+--   (this example uses the simplified AST)
+newtype NonGreedy a = NonGreedy { unNonGreedy :: a }
+  deriving (Eq,Ord,Show,Typeable,Data)
+
+instance Functor NonGreedy where
+    fmap f (NonGreedy x) = NonGreedy (f x)
+
+-- | @ListOf a@ stores lists of the AST type @a@, along with a 'SrcSpanInfo',
+--   in order to provide 'Parseable' instances for lists.  These instances are
+--   provided when the type is used as a list in the syntax, and the same
+--   delimiters are used in all of its usages. Some exceptions are made:
+data ListOf a = ListOf SrcSpanInfo [a]
+  deriving (Eq,Ord,Show,Typeable,Data,Functor)
+
+unListOf :: ListOf a -> [a]
+unListOf (ListOf _ xs) = xs
+
+-- It's safe to forget about the previous SrcSpanInfo 'srcInfoPoints',
+-- as long as they are created with (presently) are all created with
+-- 'noInfoSpan' ('nIS'), '(<^^>)', or '(<++>)', all of which have
+-- empty 'srcInfoPoints'. Ideally, the parsers would return better
+-- types, but this works.
+toListOf :: ([a], [SrcSpan], SrcSpanInfo) -> ListOf a
+toListOf (xs, ss, l) = ListOf (infoSpan (srcInfoSpan l) ss) xs
diff --git a/src/Language/Haskell/Exts/Pretty.hs b/src/Language/Haskell/Exts/Pretty.hs
--- a/src/Language/Haskell/Exts/Pretty.hs
+++ b/src/Language/Haskell/Exts/Pretty.hs
@@ -1,1949 +1,1651 @@
------------------------------------------------------------------------------
--- |
--- Module      :  Language.Haskell.Exts.Pretty
--- Copyright   :  (c) Niklas Broberg 2004-2009,
---                (c) The GHC Team, Noel Winstanley 1997-2000
--- License     :  BSD-style (see the file LICENSE.txt)
---
--- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
--- Stability   :  stable
--- Portability :  portable
---
--- Pretty printer for Haskell with extensions.
---
------------------------------------------------------------------------------
-
-module Language.Haskell.Exts.Pretty (
-                -- * Pretty printing
-                Pretty,
-                prettyPrintStyleMode, prettyPrintWithMode, prettyPrint,
-                -- * Pretty-printing styles (from "Text.PrettyPrint.HughesPJ")
-                P.Style(..), P.style, P.Mode(..),
-                -- * Haskell formatting modes
-                PPHsMode(..), Indent, PPLayout(..), defaultMode
-                -- * Primitive Printers
-                , prettyPrim, prettyPrimWithMode
-                ) where
-
-import Language.Haskell.Exts.Syntax
-import qualified Language.Haskell.Exts.Annotated.Syntax as A
-import Language.Haskell.Exts.Annotated.Simplify
-import qualified Language.Haskell.Exts.ParseSyntax as P
-
-import Language.Haskell.Exts.SrcLoc hiding (loc)
-
-import Prelude hiding (exp)
-import qualified Text.PrettyPrint as P
-import Data.List (intersperse)
-import Data.Maybe (isJust)
-import Control.Applicative (Applicative(..))
-import qualified Control.Monad as M (ap)
-
-infixl 5 $$$
-
------------------------------------------------------------------------------
-
--- | Varieties of layout we can use.
-data PPLayout = PPOffsideRule   -- ^ classical layout
-              | PPSemiColon     -- ^ classical layout made explicit
-              | PPInLine        -- ^ inline decls, with newlines between them
-              | PPNoLayout      -- ^ everything on a single line
-              deriving Eq
-
-type Indent = Int
-
--- | Pretty-printing parameters.
---
--- /Note:/ the 'onsideIndent' must be positive and less than all other indents.
-data PPHsMode = PPHsMode {
-                                -- | indentation of a class or instance
-                classIndent :: Indent,
-                                -- | indentation of a @do@-expression
-                doIndent :: Indent,
-                                -- | indentation of the body of a
-                                -- @case@ expression
-                multiIfIndent :: Indent,
-                                -- | indentation of the body of a
-                                -- multi-@if@ expression
-                caseIndent :: Indent,
-                                -- | indentation of the declarations in a
-                                -- @let@ expression
-                letIndent :: Indent,
-                                -- | indentation of the declarations in a
-                                -- @where@ clause
-                whereIndent :: Indent,
-                                -- | indentation added for continuation
-                                -- lines that would otherwise be offside
-                onsideIndent :: Indent,
-                                -- | blank lines between statements?
-                spacing :: Bool,
-                                -- | Pretty-printing style to use
-                layout :: PPLayout,
-                                -- | add GHC-style @LINE@ pragmas to output?
-                linePragmas :: Bool
-                }
-
--- | The default mode: pretty-print using the offside rule and sensible
--- defaults.
-defaultMode :: PPHsMode
-defaultMode = PPHsMode{
-                      classIndent = 8,
-                      doIndent = 3,
-                      multiIfIndent = 3,
-                      caseIndent = 4,
-                      letIndent = 4,
-                      whereIndent = 6,
-                      onsideIndent = 2,
-                      spacing = True,
-                      layout = PPOffsideRule,
-                      linePragmas = False
-                      }
-
--- | Pretty printing monad
-newtype DocM s a = DocM (s -> a)
-
-instance Functor (DocM s) where
-         fmap f xs = do x <- xs; return (f x)
-
-instance Applicative (DocM s) where
-        pure = retDocM
-        (<*>) = M.ap
-
-instance Monad (DocM s) where
-        (>>=) = thenDocM
-        (>>) = then_DocM
-        return = retDocM
-
-{-# INLINE thenDocM #-}
-{-# INLINE then_DocM #-}
-{-# INLINE retDocM #-}
-{-# INLINE unDocM #-}
-{-# INLINE getPPEnv #-}
-
-thenDocM :: DocM s a -> (a -> DocM s b) -> DocM s b
-thenDocM m k = DocM $ \s -> case unDocM m s of a -> unDocM (k a) s
-
-then_DocM :: DocM s a -> DocM s b -> DocM s b
-then_DocM m k = DocM $ \s -> case unDocM m s of _ -> unDocM k s
-
-retDocM :: a -> DocM s a
-retDocM a = DocM $ const a
-
-unDocM :: DocM s a -> s -> a
-unDocM (DocM f) = f
-
--- all this extra stuff, just for this one function.
-getPPEnv :: DocM s s
-getPPEnv = DocM id
-
--- So that pp code still looks the same
--- this means we lose some generality though
-
--- | The document type produced by these pretty printers uses a 'PPHsMode'
--- environment.
-type Doc = DocM PPHsMode P.Doc
-
--- | Things that can be pretty-printed, including all the syntactic objects
--- in "Language.Haskell.Exts.Syntax" and "Language.Haskell.Exts.Annotated.Syntax".
-class Pretty a where
-        -- | Pretty-print something in isolation.
-        pretty :: a -> Doc
-        -- | Pretty-print something in a precedence context.
-        prettyPrec :: Int -> a -> Doc
-        pretty = prettyPrec 0
-        prettyPrec _ = pretty
-
--- The pretty printing combinators
-
-empty :: Doc
-empty = return P.empty
-
-nest :: Int -> Doc -> Doc
-nest i m = m >>= return . P.nest i
-
-
--- Literals
-
-text :: String -> Doc
-text = return . P.text
-
-char :: Char -> Doc
-char = return . P.char
-
-int :: Int -> Doc
-int = return . P.int
-
-integer :: Integer -> Doc
-integer = return . P.integer
-
-float :: Float -> Doc
-float = return . P.float
-
-double :: Double -> Doc
-double = return . P.double
-
--- rational :: Rational -> Doc
--- rational = return . P.rational
-
--- Simple Combining Forms
-
-parens, brackets, braces, doubleQuotes :: Doc -> Doc
-parens d = d >>= return . P.parens
-brackets d = d >>= return . P.brackets
-braces d = d >>= return . P.braces
--- quotes :: Doc -> Doc
--- quotes d = d >>= return . P.quotes
-doubleQuotes d = d >>= return . P.doubleQuotes
-
-parensIf :: Bool -> Doc -> Doc
-parensIf True = parens
-parensIf False = id
-
--- Constants
-
-semi,comma,space,equals :: Doc
-semi = return P.semi
-comma = return P.comma
--- colon :: Doc
--- colon = return P.colon
-space = return P.space
-equals = return P.equals
-
-{-
-lparen,rparen,lbrack,rbrack,lbrace,rbrace :: Doc
-lparen = return  P.lparen
-rparen = return  P.rparen
-lbrack = return  P.lbrack
-rbrack = return  P.rbrack
-lbrace = return  P.lbrace
-rbrace = return  P.rbrace
--}
-
--- Combinators
-
-(<>),(<+>),($$) :: Doc -> Doc -> Doc
-aM <> bM = do{a<-aM;b<-bM;return (a P.<> b)}
-aM <+> bM = do{a<-aM;b<-bM;return (a P.<+> b)}
-aM $$ bM = do{a<-aM;b<-bM;return (a P.$$ b)}
-($+$) :: Doc -> Doc -> Doc
-aM $+$ bM = do{a<-aM;b<-bM;return (a P.$+$ b)}
-
-hcat,hsep,vcat,fsep :: [Doc] -> Doc
-hcat dl = sequence dl >>= return . P.hcat
-hsep dl = sequence dl >>= return . P.hsep
-vcat dl = sequence dl >>= return . P.vcat
--- sep, cat, fcat :: [Doc] -> Doc
--- sep dl = sequence dl >>= return . P.sep
--- cat dl = sequence dl >>= return . P.cat
-fsep dl = sequence dl >>= return . P.fsep
--- fcat dl = sequence dl >>= return . P.fcat
-
--- Some More
-
--- hang :: Doc -> Int -> Doc -> Doc
--- hang dM i rM = do{d<-dM;r<-rM;return $ P.hang d i r}
-
--- Yuk, had to cut-n-paste this one from Pretty.hs
-punctuate :: Doc -> [Doc] -> [Doc]
-punctuate _ []     = []
-punctuate p (d1:ds) = go d1 ds
-                   where
-                     go d [] = [d]
-                     go d (e:es) = (d <> p) : go e es
-
--- | render the document with a given style and mode.
-renderStyleMode :: P.Style -> PPHsMode -> Doc -> String
-renderStyleMode ppStyle ppMode d = P.renderStyle ppStyle . unDocM d $ ppMode
-
--- | render the document with a given mode.
--- renderWithMode :: PPHsMode -> Doc -> String
--- renderWithMode = renderStyleMode P.style
-
--- | render the document with 'defaultMode'.
--- render :: Doc -> String
--- render = renderWithMode defaultMode
-
--- | pretty-print with a given style and mode.
-prettyPrintStyleMode :: Pretty a => P.Style -> PPHsMode -> a -> String
-prettyPrintStyleMode ppStyle ppMode = renderStyleMode ppStyle ppMode . pretty
-
--- | pretty-print with the default style and a given mode.
-prettyPrintWithMode :: Pretty a => PPHsMode -> a -> String
-prettyPrintWithMode = prettyPrintStyleMode P.style
-
--- | pretty-print with the default style and 'defaultMode'.
-prettyPrint :: Pretty a => a -> String
-prettyPrint = prettyPrintWithMode defaultMode
-
--- fullRenderWithMode :: PPHsMode -> P.Mode -> Int -> Float ->
---                       (P.TextDetails -> a -> a) -> a -> Doc -> a
--- fullRenderWithMode ppMode m i f fn e mD =
---                   P.fullRender m i f fn e $ (unDocM mD) ppMode
-
-
--- fullRender :: P.Mode -> Int -> Float -> (P.TextDetails -> a -> a)
---               -> a -> Doc -> a
--- fullRender = fullRenderWithMode defaultMode
-
--- | pretty-print with the default style and 'defaultMode'.
-prettyPrim :: Pretty a => a -> P.Doc
-prettyPrim = prettyPrimWithMode defaultMode
-
--- | pretty-print with the default style and a given mode.
-prettyPrimWithMode :: Pretty a => PPHsMode -> a -> P.Doc
-prettyPrimWithMode pphs doc = unDocM (pretty doc) pphs
-
-
--------------------------  Pretty-Print a Module --------------------
-instance Pretty Module where
-        pretty (Module pos m os mbWarn mbExports imp decls) =
-                markLine pos $
-                myVcat $ map pretty os ++
-                    (if m == ModuleName "" then id
-                     else \x -> [topLevel (ppModuleHeader m mbWarn mbExports) x])
-                    (map pretty imp ++
-                      ppDecls (m /= ModuleName "" ||
-                               not (null imp) ||
-                               not (null os))
-                              decls)
-
---------------------------  Module Header ------------------------------
-ppModuleHeader :: ModuleName -> Maybe WarningText -> Maybe [ExportSpec] -> Doc
-ppModuleHeader m mbWarn mbExportList = mySep [
-        text "module",
-        pretty m,
-        maybePP ppWarnTxt mbWarn,
-        maybePP (parenList . map pretty) mbExportList,
-        text "where"]
-
-ppWarnTxt :: WarningText -> Doc
-ppWarnTxt (DeprText s) = mySep [text "{-# DEPRECATED", text (show s), text "#-}"]
-ppWarnTxt (WarnText s) = mySep [text "{-# WARNING",    text (show s), text "#-}"]
-
-instance Pretty ModuleName where
-        pretty (ModuleName modName) = text modName
-
-instance Pretty Namespace where
-        pretty NoNamespace      = empty
-        pretty TypeNamespace    = text "type"
-        pretty PatternNamespace = text "pattern"
-
-instance Pretty ExportSpec where
-        pretty (EVar name)                = pretty name
-        pretty (EAbs ns name)             = pretty ns <+> pretty name
-        pretty (EThingAll name)           = pretty name <> text "(..)"
-        pretty (EThingWith name nameList) =
-                pretty name <> (parenList . map pretty $ nameList)
-        pretty (EModuleContents m)        = text "module" <+> pretty m
-
-instance Pretty ImportDecl where
-        pretty (ImportDecl pos m qual src safe mbPkg mbName mbSpecs) =
-                markLine pos $
-                mySep [text "import",
-                       if src  then text "{-# SOURCE #-}" else empty,
-                       if safe then text "safe" else empty,
-                       if qual then text "qualified" else empty,
-                       maybePP (\s -> text (show s)) mbPkg,
-                       pretty m,
-                       maybePP (\m' -> text "as" <+> pretty m') mbName,
-                       maybePP exports mbSpecs]
-            where
-                exports (b,specList) =
-                        if b then text "hiding" <+> specs else specs
-                    where specs = parenList . map pretty $ specList
-
-instance Pretty ImportSpec where
-        pretty (IVar name  )              = pretty name
-        pretty (IAbs ns name)             = pretty ns <+> pretty name
-        pretty (IThingAll name)           = pretty name <> text "(..)"
-        pretty (IThingWith name nameList) =
-                pretty name <> (parenList . map pretty $ nameList)
-
-instance Pretty TypeEqn where
-        pretty (TypeEqn pat eqn) = mySep [pretty pat, equals, pretty eqn]
-
--------------------------  Declarations ------------------------------
-class Pretty a => PrettyDeclLike a where
-  wantsBlankline :: a -> Bool
-
-instance PrettyDeclLike Decl where
-  wantsBlankline (FunBind _) = False
-  wantsBlankline (PatBind {}) = False
-  wantsBlankline _ = True
-
-condBlankline :: PrettyDeclLike a => a -> Doc
-condBlankline d = (if wantsBlankline d then blankline else id) $ pretty d
-
-ppDecls :: PrettyDeclLike a => Bool -> [a] -> [Doc]
-ppDecls True  ds     = map condBlankline ds
-ppDecls False (d:ds) = pretty d : map condBlankline ds
-ppDecls _ _ = []
---ppDecls = map condBlankline
-
-instance Pretty Decl where
-        pretty (TypeDecl loc name nameList htype) =
-                -- blankline $
-                markLine loc $
-                mySep ( [text "type", pretty name]
-                        ++ map pretty nameList
-                        ++ [equals, pretty htype])
-
-        pretty (DataDecl loc don context name nameList constrList derives) =
-                -- blankline $
-                markLine loc $
-                mySep ( [pretty don, ppContext context, pretty name]
-                        ++ map pretty nameList)
-                  <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))
-                                             (map pretty constrList))
-                        $$$ ppDeriving derives)
-
-        pretty (GDataDecl loc don context name nameList optkind gadtList derives) =
-                -- blankline $
-                markLine loc $
-                mySep ( [pretty don, ppContext context, pretty name]
-                        ++ map pretty nameList ++ ppOptKind optkind ++ [text "where"])
-                        $$$ ppBody classIndent (map pretty gadtList)
-                        $$$ ppIndent letIndent [ppDeriving derives]
-
-        pretty (TypeFamDecl loc name nameList optkind) =
-                -- blankline $
-                markLine loc $
-                mySep ([text "type", text "family", pretty name]
-                        ++ map pretty nameList
-                        ++ ppOptKind optkind)
-
-        pretty (ClosedTypeFamDecl loc name nameList optkind eqns) =
-                -- blankline $
-                markLine loc $
-                mySep ([text "type", text "family", pretty name]
-                        ++ map pretty nameList
-                        ++ ppOptKind optkind ++ [text "where"]) $$$ ppBody classIndent (map pretty eqns)
-
-        pretty (DataFamDecl loc context name nameList optkind) =
-                -- blankline $
-                markLine loc $
-                mySep ( [text "data", text "family", ppContext context, pretty name]
-                        ++ map pretty nameList ++ ppOptKind optkind)
-
-        pretty (TypeInsDecl loc ntype htype) =
-                -- blankline $
-                markLine loc $
-                mySep [text "type", text "instance", pretty ntype, equals, pretty htype]
-
-        pretty (DataInsDecl loc don ntype constrList derives) =
-                -- blankline $
-                markLine loc $
-                mySep [pretty don, text "instance", pretty ntype]
-                        <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))
-                                                   (map pretty constrList))
-                              $$$ ppDeriving derives)
-
-        pretty (GDataInsDecl loc don ntype optkind gadtList derives) =
-                -- blankline $
-                markLine loc $
-                mySep ( [pretty don, text "instance", pretty ntype]
-                        ++ ppOptKind optkind ++ [text "where"])
-                        $$$ ppBody classIndent (map pretty gadtList)
-                        $$$ ppDeriving derives
-
-        --m{spacing=False}
-        -- special case for empty class declaration
-        pretty (ClassDecl pos context name nameList fundeps []) =
-                -- blankline $
-                markLine pos $
-                mySep ( [text "class", ppContext context, pretty name]
-                        ++ map pretty nameList ++ [ppFunDeps fundeps])
-        pretty (ClassDecl pos context name nameList fundeps declList) =
-                -- blankline $
-                markLine pos $
-                mySep ( [text "class", ppContext context, pretty name]
-                        ++ map pretty nameList ++ [ppFunDeps fundeps, text "where"])
-                $$$ ppBody classIndent (ppDecls False declList)
-
-        -- m{spacing=False}
-        -- special case for empty instance declaration
-        pretty (InstDecl pos overlap tvs context name args []) =
-                -- blankline $
-                markLine pos $
-                let olp = case overlap of { Nothing -> empty; Just o -> space <> pretty o }
-                in mySep ( [text "instance" <> olp, ppForall (Just tvs)
-                           , ppContext context, pretty name] ++ map ppAType args)
-        pretty (InstDecl pos overlap tvs context name args declList) =
-                -- blankline $
-                markLine pos $
-                let olp = case overlap of { Nothing -> empty; Just o -> space <> pretty o }
-                in mySep ( [text "instance" <> olp,  ppForall (Just tvs)
-                           , ppContext context, pretty name]
-                          ++ map ppAType args ++ [text "where"])
-                $$$ ppBody classIndent (ppDecls False declList)
-
-        pretty (DerivDecl pos overlap tvs context name args) =
-                -- blankline $
-                markLine pos $
-                let olp = case overlap of { Nothing -> empty; Just o -> space <> pretty o }
-                in mySep ( [text "deriving", text "instance" <> olp, ppForall (Just tvs)
-                           , ppContext context, pretty name] ++ map ppAType args)
-        pretty (DefaultDecl pos htypes) =
-                -- blankline $
-                markLine pos $
-                text "default" <+> parenList (map pretty htypes)
-
-        pretty (SpliceDecl pos splice) =
-                -- blankline $
-                markLine pos $
-                pretty splice
-
-        pretty (TypeSig pos nameList qualType) =
-                -- blankline $
-                markLine pos $
-                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 pos n mtvs prov req t) =
-                let contexts = case (prov, req) of
-                                    ([], []) -> []
-                                    (ps, []) -> [ppContext ps]
-                                    ([], rs) -> [text "()" <+> text "=>", ppContext rs]
-                                    (ps, rs) -> [ppContext ps, ppContext rs]
-                 in
-                  markLine pos $
-                  mySep ( [text "pattern", pretty n, text "::", ppForall mtvs] ++
-                          contexts ++ [pretty t] )
-
-
-        pretty (FunBind matches) = do
-                e <- fmap layout getPPEnv
-                case e of PPOffsideRule -> foldr ($$$) empty (map pretty matches)
-                          _ -> foldr (\x y -> x <> semi <> y) empty (map pretty matches)
-
-        pretty (PatBind pos pat rhs whereBinds) =
-                markLine pos $
-                myFsep [pretty pat, pretty rhs] $$$ ppWhere whereBinds
-
-        pretty (InfixDecl pos assoc prec opList) =
-                -- blankline $
-                markLine pos $
-                mySep ([pretty assoc, int prec]
-                       ++ (punctuate comma . map pretty $ opList))
-
-        pretty (PatSyn pos pat rhs dir) =
-                let sep = case dir of
-                            ImplicitBidirectional   -> "="
-                            ExplicitBidirectional _ -> "<-"
-                            Unidirectional          -> "<-"
-                in
-                markLine pos $
-                 (mySep ([text "pattern", pretty pat, text sep, pretty rhs])) $$$
-                    (case dir of
-                      ExplicitBidirectional ds ->
-                        nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False ds))
-                      _ -> empty)
-
-        pretty (ForImp pos cconv saf str name typ) =
-                -- blankline $
-                markLine pos $
-                mySep [text "foreign import", pretty cconv, pretty saf,
-                       text (show str), pretty name, text "::", pretty typ]
-
-        pretty (ForExp pos cconv str name typ) =
-                -- blankline $
-                markLine pos $
-                mySep [text "foreign export", pretty cconv,
-                       text (show str), pretty name, text "::", pretty typ]
-
-        pretty (RulePragmaDecl pos rules) =
-                -- blankline $
-                markLine pos $
-                myVcat $ text "{-# RULES" : map pretty rules ++ [text " #-}"]
-
-        pretty (DeprPragmaDecl pos deprs) =
-                -- blankline $
-                markLine pos $
-                myVcat $ text "{-# DEPRECATED" : map ppWarnDepr deprs ++ [text " #-}"]
-
-        pretty (WarnPragmaDecl pos deprs) =
-                -- blankline $
-                markLine pos $
-                myVcat $ text "{-# WARNING" : map ppWarnDepr deprs ++ [text " #-}"]
-
-        pretty (InlineSig pos inl activ name) =
-                -- blankline $
-                markLine pos $
-                mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE"), pretty activ, pretty name, text "#-}"]
-
-        pretty (InlineConlikeSig pos activ name) =
-                -- blankline $
-                markLine pos $
-                mySep [text "{-# INLINE CONLIKE", pretty activ, pretty name, text "#-}"]
-
-        pretty (SpecSig pos activ name types) =
-                -- blankline $
-                markLine pos $
-                mySep $ [text "{-# SPECIALISE", pretty activ, pretty name, text "::"]
-                    ++ punctuate comma (map pretty types) ++ [text "#-}"]
-
-        pretty (SpecInlineSig pos inl activ name types) =
-                -- blankline $
-                markLine pos $
-                mySep $ [text "{-# SPECIALISE", text (if inl then "INLINE" else "NOINLINE"),
-                        pretty activ, pretty name, text "::"]
-                        ++ (punctuate comma $ map pretty types) ++ [text "#-}"]
-
-        pretty (InstSig pos tvs context name args) =
-                -- blankline $
-                markLine pos $
-                mySep $ [text "{-# SPECIALISE", text "instance"
-                         , ppForall (Just tvs), ppContext context, pretty name]
-                         ++ map ppAType args ++ [text "#-}"]
-
-        pretty (AnnPragma pos ann) =
-                -- blankline $
-                markLine pos $
-                mySep [text "{-# ANN", pretty ann, text "#-}"]
-
-        pretty (MinimalPragma pos b) =
-                -- blankline $
-                markLine pos $
-                let bs = case b of { Just b' -> pretty b'; _ -> empty }
-                in myFsep [text "{-# MINIMAL", bs, text "#-}"]
-
-        pretty (RoleAnnotDecl pos qn rs) =
-                -- blankline $
-                markLine pos $
-                mySep ( [text "type", text "role", pretty qn]
-                        ++ map pretty rs )
-
-
-instance Pretty Annotation where
-        pretty (Ann n e) = myFsep [pretty n, pretty e]
-        pretty (TypeAnn n e) = myFsep [text "type", pretty n, pretty e]
-        pretty (ModuleAnn e) = myFsep [text "module", pretty e]
-
-instance Pretty BooleanFormula where
-        pretty (VarFormula n)   = pretty n
-        pretty (AndFormula bs)  = myFsep $ punctuate (text " ,") $ map pretty bs
-        pretty (OrFormula bs)   = myFsep $ punctuate (text " |") $ map pretty bs
-        pretty (ParenFormula b) = parens $ pretty b
-
-instance Pretty Role where
-        pretty RoleWildcard     = char '_'
-        pretty Nominal          = text "nominal"
-        pretty Representational = text "representational"
-        pretty Phantom          = text "phantom"
-
-instance Pretty DataOrNew where
-        pretty DataType = text "data"
-        pretty NewType  = text "newtype"
-
-instance Pretty Assoc where
-        pretty AssocNone  = text "infix"
-        pretty AssocLeft  = text "infixl"
-        pretty AssocRight = text "infixr"
-
-instance Pretty Match where
-        pretty (Match pos f ps optsig rhs whereBinds) =
-                markLine pos $
-                myFsep (lhs ++ [maybePP ppSig optsig, pretty rhs])
-                $$$ ppWhere whereBinds
-            where
-                lhs = case ps of
-                        l:r:ps' | isSymbolName f ->
-                                let hd = [prettyPrec 2 l, ppName f, prettyPrec 2 r] in
-                                if null ps' then hd
-                                else parens (myFsep hd) : map (prettyPrec 3) ps'
-                        _ -> pretty f : map (prettyPrec 3) ps
-
-ppWhere :: Maybe Binds -> Doc
-ppWhere Nothing            = empty
-ppWhere (Just (BDecls l))  = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False l))
-ppWhere (Just (IPBinds b)) = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False b))
-
-ppSig :: Type -> Doc
-ppSig t = text "::" <+> pretty t
-
-instance PrettyDeclLike ClassDecl where
-    wantsBlankline (ClsDecl d) = wantsBlankline d
-    wantsBlankline (ClsDefSig {}) = True
-    wantsBlankline _ = False
-
-instance Pretty ClassDecl where
-    pretty (ClsDecl decl) = pretty decl
-
-    pretty (ClsDataFam loc context name nameList optkind) =
-                markLine loc $
-                mySep ( [text "data", ppContext context, pretty name]
-                        ++ map pretty nameList ++ ppOptKind optkind)
-
-    pretty (ClsTyFam loc name nameList optkind) =
-                markLine loc $
-                mySep ( [text "type", pretty name]
-                        ++ map pretty nameList ++ ppOptKind optkind)
-
-    pretty (ClsTyDef loc ntype htype) =
-                markLine loc $
-                mySep [text "type", pretty ntype, equals, pretty htype]
-
-    pretty (ClsDefSig loc name typ) =
-                -- blankline $
-                markLine loc $
-                mySep [
-                    text "default",
-                    pretty name,
-                    text "::",
-                    pretty typ]
-
-
-instance PrettyDeclLike InstDecl where
-    wantsBlankline (InsDecl d) = wantsBlankline d
-    wantsBlankline _ = False
-
-instance Pretty InstDecl where
-        pretty (InsDecl decl) = pretty decl
-
-        pretty (InsType loc ntype htype) =
-                markLine loc $
-                mySep [text "type", pretty ntype, equals, pretty htype]
-
-        pretty (InsData loc don ntype constrList derives) =
-                markLine loc $
-                mySep [pretty don, pretty ntype]
-                        <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))
-                                                   (map pretty constrList))
-                              $$$ ppDeriving derives)
-
-        pretty (InsGData loc don ntype optkind gadtList derives) =
-                markLine loc $
-                mySep ( [pretty don, pretty ntype]
-                        ++ ppOptKind optkind ++ [text "where"])
-                        $$$ ppBody classIndent (map pretty gadtList)
-                        $$$ ppDeriving derives
-
---        pretty (InsInline loc inl activ name) =
---                markLine loc $
---                mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE"), pretty activ, pretty name, text "#-}"]
-
-
-------------------------- FFI stuff -------------------------------------
-instance Pretty Safety where
-        pretty PlayRisky        = text "unsafe"
-        pretty (PlaySafe b)     = text $ if b then "threadsafe" else "safe"
-        pretty PlayInterruptible = text "interruptible"
-
-instance Pretty CallConv where
-        pretty StdCall    = text "stdcall"
-        pretty CCall      = text "ccall"
-        pretty CPlusPlus  = text "cplusplus"
-        pretty DotNet     = text "dotnet"
-        pretty Jvm        = text "jvm"
-        pretty Js         = text "js"
-        pretty JavaScript = text "javascript"
-        pretty CApi       = text "capi"
-
-------------------------- Pragmas ---------------------------------------
-ppWarnDepr :: ([Name], String) -> Doc
-ppWarnDepr (names, txt) = mySep $ punctuate comma (map pretty names) ++ [text $ show txt]
-
-instance Pretty Rule where
-        pretty (Rule tag activ rvs rhs lhs) =
-            mySep [text $ show tag, pretty activ,
-                        maybePP ppRuleVars rvs,
-                        pretty rhs, char '=', pretty lhs]
-
-ppRuleVars :: [RuleVar] -> Doc
-ppRuleVars []  = empty
-ppRuleVars rvs = mySep $ text "forall" : map pretty rvs ++ [char '.']
-
-instance Pretty Activation where
-    pretty AlwaysActive    = empty
-    pretty (ActiveFrom i)  = char '['  <> int i <> char ']'
-    pretty (ActiveUntil i) = text "[~" <> int i <> char ']'
-
-instance Pretty Overlap where
-    pretty Overlap    = text "{-# OVERLAP #-}"
-    pretty NoOverlap  = text "{-# NO_OVERLAP #-}"
-    pretty Incoherent = text "{-# INCOHERENT #-}"
-
-instance Pretty RuleVar where
-    pretty (RuleVar n) = pretty n
-    pretty (TypedRuleVar n t) = parens $ mySep [pretty n, text "::", pretty t]
-
--- Spaces are stripped from the pragma text but other whitespace
--- is not.
-ppOptionsPragma :: Doc -> String -> Doc
-ppOptionsPragma opt s =
-  case s of
-    ('\n':_) -> opt <> text s <> text "#-}"
-    _ ->  myFsep [opt, text s <> text "#-}"]
-
-instance Pretty ModulePragma where
-    pretty (LanguagePragma _ ns) =
-        myFsep $ text "{-# LANGUAGE" : punctuate (char ',') (map pretty ns) ++ [text "#-}"]
-    pretty (OptionsPragma _ (Just tool) s) =
-        ppOptionsPragma (text "{-# OPTIONS_" <> pretty tool) s
-    pretty (OptionsPragma _ _ s) =
-        ppOptionsPragma (text "{-# OPTIONS") s
-    pretty (AnnModulePragma _ ann) =
-        myFsep [text "{-# ANN", pretty ann, text "#-}"]
-
-
-instance Pretty Tool where
-    pretty (UnknownTool s) = text s
-    pretty t               = text $ show t
-
-------------------------- Data & Newtype Bodies -------------------------
-instance Pretty QualConDecl where
-        pretty (QualConDecl _pos tvs ctxt con) =
-                myFsep [ppForall (Just tvs), ppContext ctxt, pretty con]
-
-instance Pretty GadtDecl where
-        pretty (GadtDecl _pos name names ty) =
-            case names of
-                [] ->
-                    myFsep [pretty name, text "::", pretty ty]
-                ts' ->
-                    myFsep [pretty name, text "::" ,
-                         braceList . map ppField $ ts', text "->", pretty ty]
-
-instance Pretty ConDecl where
-        pretty (RecDecl name fieldList) =
-                pretty name <> (braceList . map ppField $ fieldList)
-
-{-        pretty (ConDecl name@(Symbol _) [l, r]) =
-                myFsep [prettyPrec prec_btype l, ppName name,
-                        prettyPrec prec_btype r] -}
-        pretty (ConDecl name typeList) =
-                mySep $ pretty name : map (prettyPrec prec_atype) typeList
-        pretty (InfixConDecl l name r) =
-                myFsep [prettyPrec prec_btype l, ppNameInfix name,
-                         prettyPrec prec_btype r]
-
-ppField :: ([Name], Type) -> Doc
-ppField (names, ty) =
-        myFsepSimple $ (punctuate comma . map pretty $ names) ++
-                       [text "::", pretty ty]
-
-instance Pretty BangType where
-        pretty BangedTy   = char '!'
-        pretty UnpackedTy = text "{-# UNPACK #-}" <+> char '!'
-
-ppDeriving :: [Deriving] -> Doc
-ppDeriving []  = empty
-ppDeriving [(d, [])] = text "deriving" <+> ppQName d
-ppDeriving ds  = text "deriving" <+> parenList (map ppDer ds)
-    where ppDer :: (QName, [Type]) -> Doc
-          ppDer (n, ts) = mySep (pretty n : map pretty ts)
-
-------------------------- Types -------------------------
-ppBType :: Type -> Doc
-ppBType = prettyPrec prec_btype
-
-ppAType :: Type -> Doc
-ppAType = prettyPrec prec_atype
-
--- precedences for types
-prec_btype, prec_atype :: Int
-prec_btype = 1  -- left argument of ->,
-                -- or either argument of an infix data constructor
-prec_atype = 2  -- argument of type or data constructor, or of a class
-
-instance Pretty Type where
-        prettyPrec p (TyForall mtvs ctxt htype) = parensIf (p > 0) $
-                myFsep [ppForall mtvs, ppContext ctxt, pretty htype]
-        prettyPrec p (TyFun a b) = parensIf (p > 0) $
-                myFsep [ppBType a, text "->", pretty b]
-        prettyPrec _ (TyTuple bxd l) =
-                let ds = map pretty l
-                 in case bxd of
-                        Boxed   -> parenList ds
-                        Unboxed -> hashParenList ds
-        prettyPrec _ (TyList t)  = brackets $ pretty t
-        prettyPrec _ (TyParArray t) = bracketColonList [pretty t]
-        prettyPrec p (TyApp a b) =
-                {-
-                | a == list_tycon = brackets $ pretty b         -- special case
-                | otherwise = -} parensIf (p > prec_btype) $
-                                    myFsep [pretty a, ppAType b]
-        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, ppQNameInfix op, pretty b]
-        prettyPrec _ (TyKind t k) = parens (myFsep [pretty t, text "::", pretty k])
-        prettyPrec _ (TyPromoted p) = pretty p
-        prettyPrec p (TyEquals a b) = parensIf (p > 0) (myFsep [pretty a, text "~", pretty b])
-        prettyPrec _ (TySplice s) = pretty s
-        prettyPrec _ (TyBang b t) = pretty b <> prettyPrec prec_atype t
-        prettyPrec _ (TyWildCard mn) = char '_' <> maybePP pretty mn
-
-
-instance Pretty Promoted where
-  pretty p =
-    case p of
-      PromotedInteger n -> integer n
-      PromotedString s -> doubleQuotes $ text s
-      PromotedCon hasQuote qn ->
-        addQuote hasQuote $ maybe (pretty qn) pretty (getSpecialName qn)
-      PromotedList hasQuote list ->
-        addQuote hasQuote $ bracketList . punctuate comma . map pretty $ list
-      PromotedTuple list ->
-        addQuote True $ parenList $ map pretty list
-      PromotedUnit -> addQuote True $ text "()"
-    where
-      addQuote True doc = char '\'' <> doc
-      addQuote False doc = doc
-
-instance Pretty TyVarBind where
-        pretty (KindedVar var kind) = parens $ myFsep [pretty var, text "::", pretty kind]
-        pretty (UnkindedVar var)    = pretty var
-
-ppForall :: Maybe [TyVarBind] -> Doc
-ppForall Nothing   = empty
-ppForall (Just []) = empty
-ppForall (Just vs) =    myFsep (text "forall" : map pretty vs ++ [char '.'])
-
----------------------------- Kinds ----------------------------
-
-instance Pretty Kind 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 -> [Doc]
-ppOptKind Nothing  = []
-ppOptKind (Just k) = [text "::", pretty k]
-
-------------------- Functional Dependencies -------------------
-instance Pretty FunDep where
-        pretty (FunDep from to) =
-                myFsep $ map pretty from ++ [text "->"] ++ map pretty to
-
-
-ppFunDeps :: [FunDep] -> Doc
-ppFunDeps []  = empty
-ppFunDeps fds = myFsep $ (char '|':) . punctuate comma . map pretty $ fds
-
-------------------------- Expressions -------------------------
-instance Pretty Rhs where
-        pretty (UnGuardedRhs e) = equals <+> pretty e
-        pretty (GuardedRhss guardList) = myVcat . map pretty $ guardList
-
-instance Pretty GuardedRhs where
-        pretty (GuardedRhs _pos guards ppBody') =
-                myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [equals, pretty ppBody']
-
-newtype GuardedAlts = GuardedAlts Rhs
-newtype GuardedAlt = GuardedAlt GuardedRhs
-
-instance Pretty GuardedAlts where
-        pretty (GuardedAlts (UnGuardedRhs e)) = text "->" <+> pretty e
-        pretty (GuardedAlts (GuardedRhss guardList)) = myVcat . map (pretty . GuardedAlt) $ guardList
-
-instance Pretty GuardedAlt where
-        pretty (GuardedAlt (GuardedRhs _pos guards ppBody')) =
-                myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [text "->", pretty ppBody']
-
-instance Pretty Literal where
-        pretty (Int i)        = integer i
-        pretty (Char c)       = text (show c)
-        pretty (String s)     = text (show s)
-        pretty (Frac r)       = double (fromRational r)
-        -- GHC unboxed literals:
-        pretty (PrimChar c)   = text (show c)           <> char '#'
-        pretty (PrimString s) = text (show s)           <> char '#'
-        pretty (PrimInt i)    = integer i               <> char '#'
-        pretty (PrimWord w)   = integer w               <> text "##"
-        pretty (PrimFloat r)  = float  (fromRational r) <> char '#'
-        pretty (PrimDouble r) = double (fromRational r) <> text "##"
-
-instance Pretty Exp where
-        prettyPrec _ (Lit l) = pretty l
-        -- lambda stuff
-        -- WARNING: This stuff is fragile. See #152 for one example of how
-        -- things can break.
-        prettyPrec p (InfixApp a op b) = parensIf (p > 2) $ myFsep [prettyPrec 1 a, pretty op, prettyPrec 1 b]
-        prettyPrec p (NegApp e) = parensIf (p > 0) $ char '-' <> prettyPrec 2 e
-        prettyPrec p (App a b) = parensIf (p > 3) $ myFsep [prettyPrec 3 a, prettyPrec 4 b]
-        prettyPrec p (Lambda _loc patList ppBody') = parensIf (p > 1) $ myFsep $
-                char '\\' : map (prettyPrec 3) patList ++ [text "->", pretty ppBody']
-        -- keywords
-        -- two cases for lets
-        prettyPrec p (Let (BDecls declList) letBody) =
-                parensIf (p > 1) $ ppLetExp declList letBody
-        prettyPrec p (Let (IPBinds bindList) letBody) =
-                parensIf (p > 1) $ ppLetExp bindList letBody
-
-        prettyPrec p (If cond thenexp elsexp) = parensIf (p > 1) $
-                myFsep [text "if", pretty cond,
-                        text "then", pretty thenexp,
-                        text "else", pretty elsexp]
-        prettyPrec p (MultiIf alts) = parensIf (p > 1) $
-                text "if"
-                $$$ ppBody multiIfIndent (map (pretty . GuardedAlt) alts)
-        prettyPrec p (Case cond altList) = parensIf (p > 1) $
-                myFsep [text "case", pretty cond, text "of"]
-                $$$ ppBody caseIndent (map pretty altList)
-        prettyPrec p (Do stmtList) = parensIf (p > 1) $
-                text "do" $$$ ppBody doIndent (map pretty stmtList)
-        prettyPrec p (MDo stmtList) = parensIf (p > 1) $
-                text "mdo" $$$ ppBody doIndent (map pretty stmtList)
-        -- Constructors & Vars
-        prettyPrec _ (Var name) = pretty name
-        prettyPrec _ (IPVar ipname) = pretty ipname
-        prettyPrec _ (Con name) = pretty name
-        prettyPrec _ (Tuple bxd expList) =
-                let ds = map pretty expList
-                in case bxd of
-                       Boxed   -> parenList ds
-                       Unboxed -> hashParenList ds
-        prettyPrec _ (TupleSection bxd mExpList) =
-                let ds = map (maybePP pretty) mExpList
-                in case bxd of
-                       Boxed   -> parenList ds
-                       Unboxed -> hashParenList ds
-        -- weird stuff
-        prettyPrec _ (Paren e) = parens . pretty $ e
-        prettyPrec _ (LeftSection e op) = parens (pretty e <+> pretty op)
-        prettyPrec _ (RightSection op e) = parens (pretty op <+> pretty e)
-        prettyPrec _ (RecConstr c fieldList) =
-                pretty c <> (braceList . map pretty $ fieldList)
-        prettyPrec _ (RecUpdate e fieldList) =
-                pretty e <> (braceList . map pretty $ fieldList)
-        -- Lists and parallel arrays
-        prettyPrec _ (List list) =
-                bracketList . punctuate comma . map pretty $ list
-        prettyPrec _ (ParArray arr) =
-                bracketColonList . map pretty $ arr
-        prettyPrec _ (EnumFrom e) =
-                bracketList [pretty e, text ".."]
-        prettyPrec _ (EnumFromTo from to) =
-                bracketList [pretty from, text "..", pretty to]
-        prettyPrec _ (EnumFromThen from thenE) =
-                bracketList [pretty from <> comma, pretty thenE, text ".."]
-        prettyPrec _ (EnumFromThenTo from thenE to) =
-                bracketList [pretty from <> comma, pretty thenE,
-                             text "..", pretty to]
-        prettyPrec _ (ParArrayFromTo from to) =
-                bracketColonList [pretty from, text "..", pretty to]
-        prettyPrec _ (ParArrayFromThenTo from thenE to) =
-                bracketColonList [pretty from <> comma, pretty thenE,
-                             text "..", pretty to]
-        prettyPrec _ (ListComp e qualList) =
-                bracketList ([pretty e, char '|']
-                             ++ (punctuate comma . map pretty $ qualList))
-        prettyPrec _ (ParComp e qualLists) =
-                bracketList (punctuate (char '|') $
-                                pretty e : map (hsep . punctuate comma . map pretty) qualLists)
-        prettyPrec _ (ParArrayComp e qualArrs) =
-                bracketColonList (punctuate (char '|') $
-                                pretty e : map (hsep . punctuate comma . map pretty) qualArrs)
-        prettyPrec p (ExpTypeSig _pos e ty) = parensIf (p > 0) $
-                myFsep [pretty e, text "::", pretty ty]
-        -- Template Haskell
-        prettyPrec _ (BracketExp b) = pretty b
-        prettyPrec _ (SpliceExp s) = pretty s
-        prettyPrec _ (TypQuote t)  = text "\'\'" <> pretty t
-        prettyPrec _ (VarQuote x)  = text "\'" <> pretty x
-        prettyPrec _ (QuasiQuote n qt) = text ("[" ++ n ++ "|" ++ qt ++ "|]")
-        -- Hsx
-        prettyPrec _ (XTag _ n attrs mattr cs) =
-                let ax = maybe [] (return . pretty) mattr
-                 in hcat $
-                     (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):
-                        map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]
-        prettyPrec _ (XETag _ n attrs mattr) =
-                let ax = maybe [] (return . pretty) mattr
-                 in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]
-        prettyPrec _ (XPcdata s) = text s
-        prettyPrec _ (XExpTag e) =
-                myFsep [text "<%", pretty e, text "%>"]
-        prettyPrec _ (XChildTag _ cs) =
-                myFsep $ text "<%>" : map pretty cs ++ [text "</%>"]
-
-        -- Pragmas
-        prettyPrec _ (CorePragma s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]
-        prettyPrec _ (SCCPragma  s e) = myFsep $ map text ["{-# SCC",  show s, "#-}"] ++ [pretty e]
-        prettyPrec _ (GenPragma  s (a,b) (c,d) e) =
-                myFsep [text "{-# GENERATED", text $ show s,
-                            int a, char ':', int b, char '-',
-                            int c, char ':', int d, text "#-}", pretty e]
-        -- Arrows
-        prettyPrec p (Proc _ pat e) = parensIf (p > 1) $ myFsep [text "proc", pretty pat, text "->", pretty e]
-        prettyPrec p (LeftArrApp l r)      = parensIf (p > 0) $ myFsep [pretty l, text "-<",  pretty r]
-        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]
-
-        -- LamdaCase
-        prettyPrec p (LCase altList) = parensIf (p > 1) $
-                text "\\case" $$$ ppBody caseIndent (map pretty altList)
-        prettyPrec _ ExprHole       = char '_'
-
-
-instance Pretty XAttr where
-        pretty (XAttr n v) =
-                myFsep [pretty n, char '=', pretty v]
-
-instance Pretty XName where
-        pretty (XName n) = text n
-        pretty (XDomName d n) = text d <> char ':' <> text n
-
-ppLetExp :: (PrettyDeclLike a, Pretty b) => [a] -> b -> Doc
-ppLetExp l b = myFsep [text "let" <+> ppBody letIndent (ppDecls False l),
-                        text "in", pretty b]
-
--- ppWith :: Pretty a => [a] -> Doc
--- ppWith binds = nest 2 (text "with" $$$ ppBody withIndent (map pretty binds))
--- withIndent :: PPHsMode -> Indent
--- withIndent = whereIndent
-
---------------------- Template Haskell -------------------------
-
-instance Pretty Bracket where
-        pretty (ExpBracket e) = ppBracket "[|" e
-        pretty (PatBracket p) = ppBracket "[p|" p
-        pretty (TypeBracket t) = ppBracket "[t|" t
-        pretty (DeclBracket d) =
-                myFsep $ text "[d|" : ppDecls True d ++ [text "|]"]
-
-ppBracket :: Pretty a => String -> a -> Doc
-ppBracket o x = myFsep [text o, pretty x, text "|]"]
-
-instance Pretty Splice where
-        pretty (IdSplice s) = char '$' <> text s
-        pretty (ParenSplice e) =
-                myFsep [text "$(", pretty e, char ')']
-
-------------------------- Patterns -----------------------------
-
-instance Pretty Pat where
-        prettyPrec _ (PVar name) = pretty name
-        prettyPrec _ (PLit Signless lit) = pretty lit
-        prettyPrec p (PLit Negative lit) = parensIf (p > 1) $ char '-' <> pretty lit
-        prettyPrec p (PInfixApp a op b) = parensIf (p > 0) $
-                myFsep [prettyPrec 1 a, pretty (QConOp op), prettyPrec 1 b]
-        prettyPrec p (PApp n ps) = parensIf (p > 2 && not (null ps)) $
-                myFsep (pretty n : map (prettyPrec 3) ps)
-        prettyPrec _ (PTuple bxd ps) =
-                let ds = map pretty ps
-                in case bxd of
-                       Boxed   -> parenList ds
-                       Unboxed -> hashParenList ds
-        prettyPrec _ (PList ps) =
-                bracketList . punctuate comma . map pretty $ ps
-        prettyPrec _ (PParen pat) = parens . pretty $ pat
-        prettyPrec _ (PRec c fields) =
-                pretty c <> (braceList . map pretty $ fields)
-        -- special case that would otherwise be buggy
-        prettyPrec _ (PAsPat name (PIrrPat pat)) =
-                myFsep [pretty name <> char '@', char '~' <> prettyPrec 3 pat]
-        prettyPrec _ (PAsPat name pat) =
-                hcat [pretty name, char '@', prettyPrec 3 pat]
-        prettyPrec _ PWildCard = char '_'
-        prettyPrec _ (PIrrPat pat) = char '~' <> prettyPrec 3 pat
-        prettyPrec p (PatTypeSig _pos pat ty) = parensIf (p > 0) $
-                myFsep [pretty pat, text "::", pretty ty]
-        prettyPrec p (PViewPat e pat) = parensIf (p > 0) $
-                myFsep [pretty e, text "->", pretty pat]
-        prettyPrec p (PNPlusK n k) = parensIf (p > 0) $
-                myFsep [pretty n, text "+", text $ show k]
-        -- HaRP
-        prettyPrec _ (PRPat rs) =
-                bracketList . punctuate comma . map pretty $ rs
-        -- Hsx
-        prettyPrec _ (PXTag _ n attrs mattr cp) =
-            let ap = maybe [] (return . pretty) mattr
-             in hcat $ -- TODO: should not introduce blanks
-                  (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [char '>']):
-                    map pretty cp ++ [myFsep [text "</" <> pretty n, char '>']]
-        prettyPrec _ (PXETag _ n attrs mattr) =
-                let ap = maybe [] (return . pretty) mattr
-                 in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [text "/>"]
-        prettyPrec _ (PXPcdata s) = text s
-        prettyPrec _ (PXPatTag p) =
-                myFsep [text "<%", pretty p, text "%>"]
-        prettyPrec _ (PXRPats ps) =
-                myFsep $ text "<[" : map pretty ps ++ [text "%>"]
-        -- BangPatterns
-        prettyPrec _ (PBangPat pat) = text "!" <> prettyPrec 3 pat
-        prettyPrec _ (PQuasiQuote n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")
-
-instance Pretty PXAttr where
-        pretty (PXAttr n p) =
-                myFsep [pretty n, char '=', pretty p]
-
-instance Pretty PatField where
-        pretty (PFieldPat name pat) =
-                myFsep [pretty name, equals, pretty pat]
-        pretty (PFieldPun name) = pretty name
-        pretty (PFieldWildcard) = text ".."
-
---------------------- Regular Patterns -------------------------
-
-instance Pretty RPat where
-        pretty (RPOp r op) = pretty r <> pretty op
-        pretty (RPEither r1 r2) = parens . myFsep $
-                [pretty r1, char '|', pretty r2]
-        pretty (RPSeq rs) =
-                myFsep $ text "(|" : (punctuate comma . map pretty $ rs)
-                           ++ [text "|)"]
-        pretty (RPGuard r gs) =
-                myFsep $ text "(|" : pretty r : char '|' :
-                           (punctuate comma . map pretty $ gs) ++ [text "|)"]
-        -- special case that would otherwise be buggy
-        pretty (RPCAs n (RPPat (PIrrPat p))) =
-                myFsep [pretty n <> text "@:", char '~' <> pretty p]
-        pretty (RPCAs n r) = hcat [pretty n, text "@:", pretty r]
-        -- special case that would otherwise be buggy
-        pretty (RPAs n (RPPat (PIrrPat p))) =
-                myFsep [pretty n <> text "@:", char '~' <> pretty p]
-        pretty (RPAs n r) = hcat [pretty n, char '@', pretty r]
-        pretty (RPPat p) = pretty p
-        pretty (RPParen rp) = parens . pretty $ rp
-
-instance Pretty RPatOp where
-        pretty RPStar  = char '*'
-        pretty RPStarG = text "*!"
-        pretty RPPlus  = char '+'
-        pretty RPPlusG = text "+!"
-        pretty RPOpt   = char '?'
-        pretty RPOptG  = text "?!"
-
-------------------------- Case bodies  -------------------------
-instance Pretty Alt where
-        pretty (Alt _pos e gAlts binds) =
-                pretty e <+> pretty (GuardedAlts gAlts) $$$ ppWhere binds
-
-------------------------- Statements in monads, guards & list comprehensions -----
-instance Pretty Stmt where
-        pretty (Generator _loc e from) =
-                pretty e <+> text "<-" <+> pretty from
-        pretty (Qualifier e) = pretty e
-        -- two cases for lets
-        pretty (LetStmt (BDecls declList)) =
-                ppLetStmt declList
-        pretty (LetStmt (IPBinds bindList)) =
-                ppLetStmt bindList
-        pretty (RecStmt stmtList) =
-                text "rec" $$$ ppBody letIndent (map pretty stmtList)
-
-ppLetStmt :: Pretty a => [a] -> Doc
-ppLetStmt l = text "let" $$$ ppBody letIndent (map pretty l)
-
-instance Pretty QualStmt where
-        pretty (QualStmt s) = pretty s
-        pretty (ThenTrans    f)    = myFsep [text "then", pretty f]
-        pretty (ThenBy       f e)  = myFsep [text "then", pretty f, text "by", pretty e]
-        pretty (GroupBy      e)    = myFsep [text "then", text "group", text "by", pretty e]
-        pretty (GroupUsing   f)    = myFsep [text "then", text "group", text "using", pretty f]
-        pretty (GroupByUsing e f)  = myFsep [text "then", text "group", text "by",
-                                                pretty e, text "using", pretty f]
-
-
-
-------------------------- Record updates
-instance Pretty FieldUpdate where
-        pretty (FieldUpdate name e) =
-                myFsep [pretty name, equals, pretty e]
-        pretty (FieldPun name) = pretty name
-        pretty (FieldWildcard) = text ".."
-
-------------------------- Names -------------------------
-instance Pretty QOp where
-        pretty (QVarOp n) = ppQNameInfix n
-        pretty (QConOp n) = ppQNameInfix n
-
-ppQNameInfix :: QName -> Doc
-ppQNameInfix name
-        | isSymbolName (getName name) = ppQName name
-        | otherwise = char '`' <> ppQName name <> char '`'
-
-instance Pretty QName where
-        pretty name = case name of
-                UnQual (Symbol ('#':_)) -> char '(' <+> ppQName name <+> char ')'
-                _ -> parensIf (isSymbolName (getName name)) (ppQName name)
-
-ppQName :: QName -> Doc
-ppQName (UnQual name) = ppName name
-ppQName (Qual m name) = pretty m <> char '.' <> ppName name
-ppQName (Special sym) = text (specialName sym)
-
-instance Pretty Op where
-        pretty (VarOp n) = ppNameInfix n
-        pretty (ConOp n) = ppNameInfix n
-
-ppNameInfix :: Name -> Doc
-ppNameInfix name
-        | isSymbolName name = ppName name
-        | otherwise = char '`' <> ppName name <> char '`'
-
-instance Pretty Name where
-        pretty name = case name of
-                Symbol ('#':_) -> char '(' <+> ppName name <+> char ')'
-                _ -> parensIf (isSymbolName name) (ppName name)
-
-ppName :: Name -> Doc
-ppName (Ident s) = text s
-ppName (Symbol s) = text s
-
-instance Pretty IPName where
-        pretty (IPDup s) = char '?' <> text s
-        pretty (IPLin s) = char '%' <> text s
-
-instance PrettyDeclLike IPBind where
-  wantsBlankline _ = False
-
-instance Pretty IPBind where
-        pretty (IPBind _loc ipname exp) =
-                myFsep [pretty ipname, equals, pretty exp]
-
-instance Pretty CName where
-        pretty (VarName n) = pretty n
-        pretty (ConName n) = pretty n
-
-instance Pretty SpecialCon where
-        pretty sc = text $ specialName sc
-
-isSymbolName :: Name -> Bool
-isSymbolName (Symbol _) = True
-isSymbolName _ = False
-
-getSpecialName :: QName -> Maybe SpecialCon
-getSpecialName (Special n) = Just n
-getSpecialName _           = Nothing
-
-getName :: QName -> Name
-getName (UnQual s) = s
-getName (Qual _ s) = s
-getName (Special Cons) = Symbol ":"
-getName (Special FunCon) = Symbol "->"
-getName (Special s) = Ident (specialName s)
-
-specialName :: SpecialCon -> String
-specialName UnitCon = "()"
-specialName ListCon = "[]"
-specialName FunCon = "->"
-specialName (TupleCon b n) = "(" ++ hash ++ replicate (n-1) ',' ++ hash ++ ")"
-    where hash = if b == Unboxed then "#" else ""
-specialName Cons = ":"
-specialName UnboxedSingleCon = "(# #)"
-
--- Contexts are "sets" of assertions. Several members really means it's a
--- CxTuple, but we can't represent that in our list of assertions.
--- Therefore: print single member contexts without parenthesis, and treat
---            larger contexts as tuples.
-ppContext :: Context -> Doc
-ppContext []      = empty
-ppContext [ctxt]  = pretty ctxt <+> text "=>"
-ppContext context = mySep [parenList (map pretty context), text "=>"]
-
--- hacked for multi-parameter type classes
-instance Pretty Asst 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 (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
-  pretty srcLoc =
-    return $ P.hsep [ colonFollow (P.text $ srcFilename srcLoc)
-                    , colonFollow (P.int  $ srcLine     srcLoc)
-                    , P.int $ srcColumn srcLoc
-                    ]
-
-colonFollow :: P.Doc -> P.Doc
-colonFollow p = P.hcat [ p, P.colon ]
-
-
-instance Pretty SrcSpan where
-    pretty srcSpan =
-        return $ P.hsep [ colonFollow (P.text $ srcSpanFilename srcSpan)
-                        , P.hcat [ P.text "("
-                                 , P.int $ srcSpanStartLine srcSpan
-                                 , P.colon
-                                 , P.int $ srcSpanStartColumn srcSpan
-                                 , P.text ")"
-                                 ]
-                        , P.text "-"
-                        , P.hcat [ P.text "("
-                                 , P.int $ srcSpanEndLine srcSpan
-                                 , P.colon
-                                 , P.int $ srcSpanEndColumn srcSpan
-                                 , P.text ")"
-                                 ]
-                        ]
-
----------------------------------------------------------------------
--- Annotated version
-
--------------------------  Pretty-Print a Module --------------------
-instance SrcInfo pos => Pretty (A.Module pos) where
-        pretty (A.Module pos mbHead os imp decls) =
-                markLine pos $
-                myVcat $ map pretty os ++
-                    (case mbHead of
-                        Nothing -> id
-                        Just h  -> \x -> [topLevel (pretty h) x])
-                    (map pretty imp ++
-                         ppDecls (isJust mbHead ||
-                                  not (null imp) ||
-                                  not (null os))
-                           decls)
-        pretty (A.XmlPage pos _mn os n attrs mattr cs) =
-                markLine pos $
-                myVcat $ map pretty os ++
-                    [let ax = maybe [] (return . pretty) mattr
-                      in hcat $
-                         (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):
-                            map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]]
-        pretty (A.XmlHybrid pos mbHead os imp decls n attrs mattr cs) =
-                markLine pos $
-                myVcat $ map pretty os ++ [text "<%"] ++
-                    (case mbHead of
-                        Nothing -> id
-                        Just h  -> \x -> [topLevel (pretty h) x])
-                    (map pretty imp ++
-                      ppDecls (isJust mbHead || not (null imp) || not (null os)) decls ++
-                        [let ax = maybe [] (return . pretty) mattr
-                          in hcat $
-                             (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):
-                                map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]])
-
-
-
---------------------------  Module Header ------------------------------
-instance Pretty (A.ModuleHead l) where
-    pretty (A.ModuleHead _ m mbWarn mbExportList) = mySep [
-        text "module",
-        pretty m,
-        maybePP pretty mbWarn,
-        maybePP pretty mbExportList,
-        text "where"]
-
-instance Pretty (A.WarningText l) where
-    pretty = ppWarnTxt. sWarningText
-
-instance Pretty (A.ModuleName l) where
-        pretty = pretty . sModuleName
-
-instance Pretty (A.ExportSpecList l) where
-        pretty (A.ExportSpecList _ especs)  = parenList $ map pretty especs
-
-instance Pretty (A.ExportSpec l) where
-        pretty = pretty . sExportSpec
-
-instance SrcInfo pos => Pretty (A.ImportDecl pos) where
-        pretty = pretty . sImportDecl
-
-instance Pretty (A.ImportSpecList l) where
-        pretty (A.ImportSpecList _ b ispecs)  =
-            (if b then text "hiding" else empty)
-                <+> parenList (map pretty ispecs)
-
-instance Pretty (A.ImportSpec l) where
-        pretty = pretty . sImportSpec
-
--------------------------  Declarations ------------------------------
-instance SrcInfo pos => Pretty (A.Decl pos) where
-        pretty = pretty . sDecl
-
-instance SrcInfo pos => PrettyDeclLike (A.Decl pos) where
-        wantsBlankline = wantsBlankline . sDecl
-
-instance Pretty (A.DeclHead l) where
-    pretty (A.DHead _ n)           = pretty n
-    pretty (A.DHInfix _ tva n)     = mySep [pretty tva, pretty n]
-    pretty (A.DHParen _ dh)        = parens (pretty dh)
-    pretty (A.DHApp _ dh t)        = myFsep [pretty dh, pretty t]
-
-instance SrcInfo l => Pretty (A.InstRule l) where
-    pretty (A.IRule _ tvs mctxt qn)    =
-            mySep [ppForall (fmap (map sTyVarBind) tvs)
-                  , ppContext $ maybe [] sContext mctxt, pretty qn]
-    pretty (A.IParen _ ih)        = parens (pretty ih)
-
-instance SrcInfo l => Pretty (A.InstHead l) where
-    pretty (A.IHCon _ qn)          = pretty qn
-    pretty (A.IHInfix _ ta qn)     = mySep [pretty ta, pretty qn]
-    pretty (A.IHParen _ ih)        = parens (pretty ih)
-    pretty (A.IHApp _ ih t)        = myFsep [pretty ih, pretty t]
-
-instance Pretty (A.DataOrNew l) where
-        pretty = pretty . sDataOrNew
-
-instance Pretty (A.Assoc l) where
-        pretty = pretty . sAssoc
-
-instance SrcInfo pos => Pretty (A.Match pos) where
-        pretty = pretty . sMatch
-
-instance SrcInfo loc => Pretty (A.ClassDecl loc) where
-        pretty = pretty . sClassDecl
-
-instance SrcInfo loc => Pretty (A.InstDecl loc) where
-        pretty = pretty . sInstDecl
-
-------------------------- FFI stuff -------------------------------------
-instance Pretty (A.Safety l) where
-        pretty = pretty . sSafety
-
-instance Pretty (A.CallConv l) where
-        pretty = pretty . sCallConv
-
-------------------------- Pragmas ---------------------------------------
-instance SrcInfo loc => Pretty (A.Rule loc) where
-        pretty = pretty . sRule
-
-instance Pretty (A.Activation l) where
-    pretty = pretty . sActivation
-
-instance SrcInfo l => Pretty (A.RuleVar l) where
-    pretty = pretty . sRuleVar
-
-instance SrcInfo loc => Pretty (A.ModulePragma loc) where
-    pretty (A.LanguagePragma _ ns) =
-        myFsep $ text "{-# LANGUAGE" : punctuate (char ',') (map pretty ns) ++ [text "#-}"]
-    pretty (A.OptionsPragma _ (Just tool) s) =
-        myFsep [text "{-# OPTIONS_" <> pretty tool, text s, text "#-}"]
-    pretty (A.OptionsPragma _ _ s) =
-        myFsep [text "{-# OPTIONS", text s, text "#-}"]
-    pretty (A.AnnModulePragma _ ann) =
-        myFsep [text "{-# ANN", pretty ann, text "#-}"]
-
-instance SrcInfo loc => Pretty (A.Annotation loc) where
-    pretty = pretty . sAnnotation
-
-------------------------- Data & Newtype Bodies -------------------------
-instance SrcInfo l => Pretty (A.QualConDecl l) where
-        pretty (A.QualConDecl _pos mtvs ctxt con) =
-                myFsep [ppForall (fmap (map sTyVarBind) mtvs), ppContext $ maybe [] sContext ctxt, pretty con]
-
-instance SrcInfo l => Pretty (A.GadtDecl l) where
-        pretty (A.GadtDecl _pos name names ty) =
-            case names of
-                Nothing ->
-                    myFsep [pretty name, text "::", pretty ty]
-                Just ts ->
-                    mySep $ [pretty name, text "::", char '{'] ++
-                              map pretty ts ++ [char '}', text "->", pretty ty]
-
-instance SrcInfo l => Pretty (A.ConDecl l) where
-        pretty = pretty . sConDecl
-
-instance SrcInfo l => Pretty (A.FieldDecl l) where
-        pretty (A.FieldDecl _ names ty) =
-                myFsepSimple $ (punctuate comma . map pretty $ names) ++
-                       [text "::", pretty ty]
-
-
-instance SrcInfo l => Pretty (A.BangType l) where
-        pretty = pretty . sBangType
-
-instance SrcInfo l => Pretty (A.Deriving l) where
-        pretty (A.Deriving _ []) = text "deriving" <+> parenList []
-        pretty (A.Deriving _ [A.IRule _ _ _ d]) = text "deriving" <+> pretty d
-        pretty (A.Deriving _ ihs) = text "deriving" <+> parenList (map pretty ihs)
-
-------------------------- Types -------------------------
-instance SrcInfo l => Pretty (A.Type l) where
-        pretty = pretty . sType
-
-instance Pretty (A.TyVarBind l) where
-        pretty = pretty . sTyVarBind
-
----------------------------- Kinds ----------------------------
-
-instance Pretty (A.Kind l) where
-        pretty = pretty . sKind
-
-------------------- Functional Dependencies -------------------
-instance Pretty (A.FunDep l) where
-        pretty = pretty . sFunDep
-
-------------------------- Expressions -------------------------
-instance SrcInfo loc => Pretty (A.Rhs loc) where
-        pretty = pretty . sRhs
-
-instance SrcInfo loc => Pretty (A.GuardedRhs loc) where
-        pretty = pretty . sGuardedRhs
-
-instance Pretty (A.Literal l) where
-        pretty = pretty . sLiteral
-
-instance SrcInfo loc => Pretty (A.Exp loc) where
-        pretty = pretty . sExp
-
-instance SrcInfo loc => Pretty (A.XAttr loc) where
-        pretty = pretty . sXAttr
-
-instance Pretty (A.XName l) where
-        pretty = pretty . sXName
-
---------------------- Template Haskell -------------------------
-
-instance SrcInfo loc => Pretty (A.Bracket loc) where
-        pretty = pretty . sBracket
-
-instance SrcInfo loc => Pretty (A.Splice loc) where
-        pretty = pretty . sSplice
-
-------------------------- Patterns -----------------------------
-
-instance SrcInfo loc => Pretty (A.Pat loc) where
-        pretty = pretty . sPat
-
-instance SrcInfo loc => Pretty (A.PXAttr loc) where
-        pretty = pretty . sPXAttr
-
-instance SrcInfo loc => Pretty (A.PatField loc) where
-        pretty = pretty . sPatField
-
---------------------- Regular Patterns -------------------------
-
-instance SrcInfo loc => Pretty (A.RPat loc) where
-        pretty = pretty . sRPat
-
-instance Pretty (A.RPatOp l) where
-        pretty = pretty . sRPatOp
-
-------------------------- Case bodies  -------------------------
-instance SrcInfo loc => Pretty (A.Alt loc) where
-        pretty = pretty . sAlt
-
-------------------------- Statements in monads, guards & list comprehensions -----
-instance SrcInfo loc => Pretty (A.Stmt loc) where
-        pretty = pretty . sStmt
-
-instance SrcInfo loc => Pretty (A.QualStmt loc) where
-        pretty = pretty . sQualStmt
-
-------------------------- Record updates
-instance SrcInfo loc => Pretty (A.FieldUpdate loc) where
-        pretty = pretty . sFieldUpdate
-
-------------------------- Names -------------------------
-instance Pretty (A.QOp l) where
-        pretty = pretty . sQOp
-
-instance Pretty (A.QName l) where
-        pretty = pretty . sQName
-
-instance Pretty (A.Op l) where
-        pretty = pretty . sOp
-
-instance Pretty (A.Name l) where
-        pretty = pretty . sName
-
-instance Pretty (A.IPName l) where
-        pretty = pretty . sIPName
-
-instance SrcInfo loc => Pretty (A.IPBind loc) where
-        pretty = pretty . sIPBind
-
-instance SrcInfo loc => PrettyDeclLike (A.IPBind loc) where
-        wantsBlankline = wantsBlankline . sIPBind
-
-instance Pretty (A.CName l) where
-        pretty = pretty . sCName
-
-instance SrcInfo l => Pretty (A.Context l) where
-        pretty (A.CxEmpty _) = mySep [text "()", text "=>"]
-        pretty (A.CxSingle _ asst) = mySep [pretty asst, text "=>"]
-        pretty (A.CxTuple _ assts) = myFsep [parenList (map pretty assts), text "=>"]
-
--- hacked for multi-parameter type classes
-instance SrcInfo l => Pretty (A.Asst l) where
-        pretty = pretty . sAsst
-
-------------------------- pp utils -------------------------
-maybePP :: (a -> Doc) -> Maybe a -> Doc
-maybePP _  Nothing = empty
-maybePP pp (Just a) = pp a
-
-parenList :: [Doc] -> Doc
-parenList = parens . myFsepSimple . punctuate comma
-
-hashParenList :: [Doc] -> Doc
-hashParenList = hashParens . myFsepSimple . punctuate comma
-  where hashParens = parens . hashes
-        hashes doc = char '#' <+> doc <+> char '#'
-
-braceList :: [Doc] -> Doc
-braceList = braces . myFsepSimple . punctuate comma
-
-bracketList :: [Doc] -> Doc
-bracketList = brackets . myFsepSimple
-
-bracketColonList :: [Doc] -> Doc
-bracketColonList = bracketColons . myFsepSimple
-    where bracketColons = brackets . colons
-          colons doc = char ':' <> doc <> char ':'
-
--- Wrap in braces and semicolons, with an extra space at the start in
--- case the first doc begins with "-", which would be scanned as {-
-flatBlock :: [Doc] -> Doc
-flatBlock = braces . (space <>) . hsep . punctuate semi
-
--- Same, but put each thing on a separate line
-prettyBlock :: [Doc] -> Doc
-prettyBlock = braces . (space <>) . vcat . punctuate semi
-
--- Monadic PP Combinators -- these examine the env
-
-blankline :: Doc -> Doc
-blankline dl = do{e<-getPPEnv;if spacing e && layout e /= PPNoLayout
-                              then text "" $+$ dl else dl}
-topLevel :: Doc -> [Doc] -> Doc
-topLevel header dl = do
-         e <- fmap layout getPPEnv
-         case e of
-             PPOffsideRule -> header $$ vcat dl
-             PPSemiColon -> header $$ prettyBlock dl
-             PPInLine -> header $$ prettyBlock dl
-             PPNoLayout -> header <+> flatBlock dl
-
-ppBody :: (PPHsMode -> Int) -> [Doc] -> Doc
-ppBody f dl = do
-         e <- fmap layout getPPEnv
-         case e of PPOffsideRule -> indent
-                   PPSemiColon   -> indentExplicit
-                   _ -> flatBlock dl
-                   where
-                   indent  = do{i <-fmap f getPPEnv;nest i . vcat $ dl}
-                   indentExplicit = do {i <- fmap f getPPEnv;
-                           nest i . prettyBlock $ dl}
-
--- | Indent without braces. Useful for deriving clauses etc.
-ppIndent :: (PPHsMode -> Int) -> [Doc] -> Doc
-ppIndent f dl = do
-            i <- fmap f getPPEnv
-            nest i . vcat $ dl
-
-($$$) :: Doc -> Doc -> Doc
-a $$$ b = layoutChoice (a $$) (a <+>) b
-
-mySep :: [Doc] -> Doc
-mySep = layoutChoice mySep' hsep
-        where
-        -- ensure paragraph fills with indentation.
-        mySep' [x]    = x
-        mySep' (x:xs) = x <+> fsep xs
-        mySep' []     = error "Internal error: mySep"
-
-myVcat :: [Doc] -> Doc
-myVcat = layoutChoice vcat hsep
-
-myFsepSimple :: [Doc] -> Doc
-myFsepSimple = layoutChoice fsep hsep
-
--- same, except that continuation lines are indented,
--- which is necessary to avoid triggering the offside rule.
-myFsep :: [Doc] -> Doc
-myFsep = layoutChoice fsep' hsep
-        where   fsep' [] = empty
-                fsep' (d:ds) = do
-                        e <- getPPEnv
-                        let n = onsideIndent e
-                        nest n (fsep (nest (-n) d:ds))
-
-layoutChoice :: (a -> Doc) -> (a -> Doc) -> a -> Doc
-layoutChoice a b dl = do e <- getPPEnv
-                         if layout e == PPOffsideRule ||
-                            layout e == PPSemiColon
-                          then a dl else b dl
-
--- Prefix something with a LINE pragma, if requested.
--- GHC's LINE pragma actually sets the current line number to n-1, so
--- that the following line is line n.  But if there's no newline before
--- the line we're talking about, we need to compensate by adding 1.
-
-markLine :: SrcInfo s => s -> Doc -> Doc
-markLine loc doc = do
-        e <- getPPEnv
-        let y = startLine loc
-        let line l =
-              text ("{-# LINE " ++ show l ++ " \"" ++ fileName loc ++ "\" #-}")
-        if linePragmas e then layoutChoice (line y $$) (line (y+1) <+>) doc
-              else doc
-
---------------------------------------------------------------------------------
--- Pretty-printing of internal constructs, for error messages while parsing
-
-instance SrcInfo loc => Pretty (P.PExp loc) where
-        pretty (P.Lit _ l) = pretty l
-        pretty (P.InfixApp _ a op b) = myFsep [pretty a, pretty op, pretty b]
-        pretty (P.NegApp _ e) = myFsep [char '-', pretty e]
-        pretty (P.App _ a b) = myFsep [pretty a, pretty b]
-        pretty (P.Lambda _loc expList ppBody') = myFsep $
-                char '\\' : map pretty expList ++ [text "->", pretty ppBody']
-        pretty (P.Let _ (A.BDecls _ declList) letBody) =
-                ppLetExp declList letBody
-        pretty (P.Let _ (A.IPBinds _ bindList) letBody) =
-                ppLetExp bindList letBody
-        pretty (P.If _ cond thenexp elsexp) =
-                myFsep [text "if", pretty cond,
-                        text "then", pretty thenexp,
-                        text "else", pretty elsexp]
-        pretty (P.MultiIf _ alts) =
-                text "if"
-                $$$ ppBody caseIndent (map pretty alts)
-        pretty (P.Case _ cond altList) =
-                myFsep [text "case", pretty cond, text "of"]
-                $$$ ppBody caseIndent (map pretty altList)
-        pretty (P.Do _ stmtList) =
-                text "do" $$$ ppBody doIndent (map pretty stmtList)
-        pretty (P.MDo _ stmtList) =
-                text "mdo" $$$ ppBody doIndent (map pretty stmtList)
-        pretty (P.Var _ name) = pretty name
-        pretty (P.IPVar _ ipname) = pretty ipname
-        pretty (P.Con _ name) = pretty name
-        pretty (P.TupleSection _ bxd mExpList) =
-                let ds = map (maybePP pretty) mExpList
-                in case bxd of
-                       Boxed   -> parenList ds
-                       Unboxed -> hashParenList ds
-        pretty (P.Paren _ e) = parens . pretty $ e
-        pretty (P.RecConstr _ c fieldList) =
-                pretty c <> (braceList . map pretty $ fieldList)
-        pretty (P.RecUpdate _ e fieldList) =
-                pretty e <> (braceList . map pretty $ fieldList)
-        pretty (P.List _ list) =
-                bracketList . punctuate comma . map pretty $ list
-        pretty (P.ParArray _ arr) =
-                bracketColonList . punctuate comma . map pretty $ arr
-        pretty (P.EnumFrom _ e) =
-                bracketList [pretty e, text ".."]
-        pretty (P.EnumFromTo _ from to) =
-                bracketList [pretty from, text "..", pretty to]
-        pretty (P.EnumFromThen _ from thenE) =
-                bracketList [pretty from <> comma, pretty thenE, text ".."]
-        pretty (P.EnumFromThenTo _ from thenE to) =
-                bracketList [pretty from <> comma, pretty thenE,
-                             text "..", pretty to]
-        pretty (P.ParArrayFromTo _ from to) =
-                bracketColonList [pretty from, text "..", pretty to]
-        pretty (P.ParArrayFromThenTo _ from thenE to) =
-                bracketColonList [pretty from <> comma, pretty thenE,
-                             text "..", pretty to]
-        pretty (P.ParComp _ e qualLists) =
-                bracketList (intersperse (char '|') $
-                                pretty e : (punctuate comma . concatMap (map pretty) $ qualLists))
-        pretty (P.ParArrayComp _ e qualArrs) =
-                bracketColonList (intersperse (char '|') $
-                                pretty e : (punctuate comma . concatMap (map pretty) $ qualArrs))
-        pretty (P.ExpTypeSig _pos e ty) =
-                myFsep [pretty e, text "::", pretty ty]
-        pretty (P.BracketExp _ b) = pretty b
-        pretty (P.SpliceExp _ s) = pretty s
-        pretty (P.TypQuote _ t)  = text "\'\'" <> pretty t
-        pretty (P.VarQuote _ x)  = text "\'" <> pretty x
-        pretty (P.QuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")
-        pretty (P.XTag _ n attrs mattr cs) =
-                let ax = maybe [] (return . pretty) mattr
-                 in hcat $
-                     (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):
-                        map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]
-        pretty (P.XETag _ n attrs mattr) =
-                let ax = maybe [] (return . pretty) mattr
-                 in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]
-        pretty (P.XPcdata _ s) = text s
-        pretty (P.XExpTag _ e) =
-                myFsep [text "<%", pretty e, text "%>"]
-        pretty (P.XChildTag _ es) =
-                myFsep $ text "<%>" : map pretty es ++ [text "</%>"]
-        pretty (P.CorePragma _ s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]
-        pretty (P.SCCPragma  _ s e) = myFsep $ map text ["{-# SCC",  show s, "#-}"] ++ [pretty e]
-        pretty (P.GenPragma  _ s (a,b) (c,d) e) =
-                myFsep [text "{-# GENERATED", text $ show s,
-                            int a, char ':', int b, char '-',
-                            int c, char ':', int d, text "#-}", pretty e]
-        pretty (P.Proc _ p e) = myFsep [text "proc", pretty p, text "->", pretty e]
-        pretty (P.LeftArrApp _ l r)      = myFsep [pretty l, text "-<",  pretty r]
-        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.AsPat _ name (P.IrrPat _ pat)) =
-                myFsep [pretty name <> char '@', char '~' <> pretty pat]
-        pretty (P.AsPat _ name pat) =
-                hcat [pretty name, char '@', pretty pat]
-        pretty (P.WildCard _) = char '_'
-        pretty (P.IrrPat _ pat) = char '~' <> pretty pat
-        pretty (P.PostOp _ e op) = pretty e <+> pretty op
-        pretty (P.PreOp _ op e)  = pretty op <+> pretty e
-        pretty (P.ViewPat _ e p) =
-                myFsep [pretty e, text "->", pretty p]
-        pretty (P.SeqRP _ rs) =
-            myFsep $ text "(|" : (punctuate comma . map pretty $ rs) ++ [text "|)"]
-        pretty (P.GuardRP _ r gs) =
-                myFsep $ text "(|" : pretty r : char '|' :
-                           (punctuate comma . map pretty $ gs) ++ [text "|)"]
-        pretty (P.EitherRP _ r1 r2) = parens . myFsep $ [pretty r1, char '|', pretty r2]
-        pretty (P.CAsRP _ n (P.IrrPat _ e)) =
-                myFsep [pretty n <> text "@:", char '~' <> pretty e]
-        pretty (P.CAsRP _ n r) = hcat [pretty n, text "@:", pretty r]
-        pretty (P.XRPats _ ps) =
-                myFsep $ text "<[" : map pretty ps ++ [text "%>"]
-        pretty (P.BangPat _ e) = text "!" <> pretty e
-        pretty (P.LCase _ altList) = text "\\case" $$$ ppBody caseIndent (map pretty altList)
-
-instance SrcInfo loc => Pretty (P.PFieldUpdate loc) where
-        pretty (P.FieldUpdate _ name e) =
-                myFsep [pretty name, equals, pretty e]
-        pretty (P.FieldPun _ name) = pretty name
-        pretty (P.FieldWildcard _) = text ".."
-
-instance SrcInfo loc => Pretty (P.ParseXAttr loc) where
-        pretty (P.XAttr _ n v) =
-                myFsep [pretty n, char '=', pretty v]
-
-instance SrcInfo loc => Pretty (P.PContext loc) where
-        pretty (P.CxEmpty _) = mySep [text "()", text "=>"]
-        pretty (P.CxSingle _ asst) = mySep [pretty asst, text "=>"]
-        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 (sQName 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 (sQName op), pretty b]
-        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 (fmap (map sTyVarBind) mtvs), maybePP pretty ctxt, pretty htype]
-        prettyPrec p (P.TyFun _ a b) = parensIf (p > 0) $
-                myFsep [prettyPrec prec_btype a, text "->", pretty b]
-        prettyPrec _ (P.TyTuple _ bxd l) =
-                let ds = map pretty l
-                 in case bxd of
-                        Boxed   -> parenList ds
-                        Unboxed -> hashParenList ds
-        prettyPrec _ (P.TyList _ t)  = brackets $ pretty t
-        prettyPrec _ (P.TyParArray _ t) = bracketColonList [pretty t]
-        prettyPrec p (P.TyApp _ a b) =
-                {-
-                | a == list_tycon = brackets $ pretty b         -- special case
-                | otherwise = -} parensIf (p > prec_btype) $
-                                    myFsep [pretty a, prettyPrec prec_atype b]
-        prettyPrec _ (P.TyVar _ name) = pretty name
-        prettyPrec _ (P.TyCon _ name) = pretty name
-        prettyPrec _ (P.TyParen _ t) = parens (pretty t)
-        prettyPrec _ (P.TyPred _ asst) = pretty asst
-        prettyPrec _ (P.TyInfix _ a op b) = myFsep [pretty a, ppQNameInfix (sQName op), pretty b]
-        prettyPrec _ (P.TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])
-        prettyPrec _ (P.TyPromoted _ p) = pretty $ sPromoted p
-        prettyPrec _ (P.TySplice _ s) = pretty s
-        prettyPrec _ (P.TyBang _ b t) = pretty b <> prettyPrec prec_atype t
-        prettyPrec _ (P.TyWildCard _ mn) = char '_' <> maybePP pretty mn
+{-# LANGUAGE CPP #-}
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Language.Haskell.Exts.Pretty
+-- Copyright   :  (c) Niklas Broberg 2004-2009,
+--                (c) The GHC Team, Noel Winstanley 1997-2000
+-- License     :  BSD-style (see the file LICENSE.txt)
+--
+-- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- Pretty printer for Haskell with extensions.
+--
+-----------------------------------------------------------------------------
+
+module Language.Haskell.Exts.Pretty (
+                -- * Pretty printing
+                Pretty,
+                prettyPrintStyleMode, prettyPrintWithMode, prettyPrint,
+                -- * Pretty-printing styles (from "Text.PrettyPrint.HughesPJ")
+                P.Style(..), P.style, P.Mode(..),
+                -- * Haskell formatting modes
+                PPHsMode(..), Indent, PPLayout(..), defaultMode
+                -- * Primitive Printers
+                , prettyPrim, prettyPrimWithMode
+                ) where
+
+import Language.Haskell.Exts.Syntax
+import qualified Language.Haskell.Exts.ParseSyntax as P
+
+import Language.Haskell.Exts.SrcLoc hiding (loc)
+
+import Prelude hiding (exp)
+import qualified Text.PrettyPrint as P
+import Data.List (intersperse)
+import Data.Maybe (isJust , fromMaybe)
+#if __GLASGOW_HASKELL__ < 710
+import Control.Applicative (Applicative(..), (<$>))
+#endif
+import qualified Control.Monad as M (ap)
+
+infixl 5 $$$
+
+-----------------------------------------------------------------------------
+
+-- | Varieties of layout we can use.
+data PPLayout = PPOffsideRule   -- ^ classical layout
+              | PPSemiColon     -- ^ classical layout made explicit
+              | PPInLine        -- ^ inline decls, with newlines between them
+              | PPNoLayout      -- ^ everything on a single line
+              deriving Eq
+
+type Indent = Int
+
+-- | Pretty-printing parameters.
+--
+-- /Note:/ the 'onsideIndent' must be positive and less than all other indents.
+data PPHsMode = PPHsMode {
+                                -- | indentation of a class or instance
+                classIndent :: Indent,
+                                -- | indentation of a @do@-expression
+                doIndent :: Indent,
+                                -- | indentation of the body of a
+                                -- @case@ expression
+                multiIfIndent :: Indent,
+                                -- | indentation of the body of a
+                                -- multi-@if@ expression
+                caseIndent :: Indent,
+                                -- | indentation of the declarations in a
+                                -- @let@ expression
+                letIndent :: Indent,
+                                -- | indentation of the declarations in a
+                                -- @where@ clause
+                whereIndent :: Indent,
+                                -- | indentation added for continuation
+                                -- lines that would otherwise be offside
+                onsideIndent :: Indent,
+                                -- | blank lines between statements?
+                spacing :: Bool,
+                                -- | Pretty-printing style to use
+                layout :: PPLayout,
+                                -- | add GHC-style @LINE@ pragmas to output?
+                linePragmas :: Bool
+                }
+
+-- | The default mode: pretty-print using the offside rule and sensible
+-- defaults.
+defaultMode :: PPHsMode
+defaultMode = PPHsMode{
+                      classIndent = 8,
+                      doIndent = 3,
+                      multiIfIndent = 3,
+                      caseIndent = 4,
+                      letIndent = 4,
+                      whereIndent = 6,
+                      onsideIndent = 2,
+                      spacing = True,
+                      layout = PPOffsideRule,
+                      linePragmas = False
+                      }
+
+-- | Pretty printing monad
+newtype DocM s a = DocM (s -> a)
+
+instance Functor (DocM s) where
+         fmap f xs = do x <- xs; return (f x)
+
+instance Applicative (DocM s) where
+        pure = retDocM
+        (<*>) = M.ap
+
+instance Monad (DocM s) where
+        (>>=) = thenDocM
+        (>>) = then_DocM
+        return = retDocM
+
+{-# INLINE thenDocM #-}
+{-# INLINE then_DocM #-}
+{-# INLINE retDocM #-}
+{-# INLINE unDocM #-}
+{-# INLINE getPPEnv #-}
+
+thenDocM :: DocM s a -> (a -> DocM s b) -> DocM s b
+thenDocM m k = DocM $ \s -> case unDocM m s of a -> unDocM (k a) s
+
+then_DocM :: DocM s a -> DocM s b -> DocM s b
+then_DocM m k = DocM $ \s -> case unDocM m s of _ -> unDocM k s
+
+retDocM :: a -> DocM s a
+retDocM a = DocM $ const a
+
+unDocM :: DocM s a -> s -> a
+unDocM (DocM f) = f
+
+-- all this extra stuff, just for this one function.
+getPPEnv :: DocM s s
+getPPEnv = DocM id
+
+-- So that pp code still looks the same
+-- this means we lose some generality though
+
+-- | The document type produced by these pretty printers uses a 'PPHsMode'
+-- environment.
+type Doc = DocM PPHsMode P.Doc
+
+-- | Things that can be pretty-printed, including all the syntactic objects
+-- in "Language.Haskell.Exts.Syntax" and "Language.Haskell.Exts.Annotated.Syntax".
+class Pretty a where
+        -- | Pretty-print something in isolation.
+        pretty :: a -> Doc
+        -- | Pretty-print something in a precedence context.
+        prettyPrec :: Int -> a -> Doc
+        pretty = prettyPrec 0
+        prettyPrec _ = pretty
+
+-- The pretty printing combinators
+
+empty :: Doc
+empty = return P.empty
+
+nest :: Int -> Doc -> Doc
+nest i m = m >>= return . P.nest i
+
+
+-- Literals
+
+text :: String -> Doc
+text = return . P.text
+
+char :: Char -> Doc
+char = return . P.char
+
+int :: Int -> Doc
+int = return . P.int
+
+integer :: Integer -> Doc
+integer = return . P.integer
+
+float :: Float -> Doc
+float = return . P.float
+
+double :: Double -> Doc
+double = return . P.double
+
+-- rational :: Rational -> Doc
+-- rational = return . P.rational
+
+-- Simple Combining Forms
+
+parens, brackets, braces, doubleQuotes :: Doc -> Doc
+parens d = d >>= return . P.parens
+brackets d = d >>= return . P.brackets
+braces d = d >>= return . P.braces
+-- quotes :: Doc -> Doc
+-- quotes d = d >>= return . P.quotes
+doubleQuotes d = d >>= return . P.doubleQuotes
+
+parensIf :: Bool -> Doc -> Doc
+parensIf True = parens
+parensIf False = id
+
+-- Constants
+
+semi,comma,space,equals :: Doc
+semi = return P.semi
+comma = return P.comma
+-- colon :: Doc
+-- colon = return P.colon
+space = return P.space
+equals = return P.equals
+
+{-
+lparen,rparen,lbrack,rbrack,lbrace,rbrace :: Doc
+lparen = return  P.lparen
+rparen = return  P.rparen
+lbrack = return  P.lbrack
+rbrack = return  P.rbrack
+lbrace = return  P.lbrace
+rbrace = return  P.rbrace
+-}
+
+-- Combinators
+
+(<>),(<+>),($$) :: Doc -> Doc -> Doc
+aM <> bM = do{a<-aM;b<-bM;return (a P.<> b)}
+aM <+> bM = do{a<-aM;b<-bM;return (a P.<+> b)}
+aM $$ bM = do{a<-aM;b<-bM;return (a P.$$ b)}
+($+$) :: Doc -> Doc -> Doc
+aM $+$ bM = do{a<-aM;b<-bM;return (a P.$+$ b)}
+
+hcat,hsep,vcat,fsep :: [Doc] -> Doc
+hcat dl = sequence dl >>= return . P.hcat
+hsep dl = sequence dl >>= return . P.hsep
+vcat dl = sequence dl >>= return . P.vcat
+-- sep, cat, fcat :: [Doc] -> Doc
+-- sep dl = sequence dl >>= return . P.sep
+-- cat dl = sequence dl >>= return . P.cat
+fsep dl = sequence dl >>= return . P.fsep
+-- fcat dl = sequence dl >>= return . P.fcat
+
+-- Some More
+
+-- hang :: Doc -> Int -> Doc -> Doc
+-- hang dM i rM = do{d<-dM;r<-rM;return $ P.hang d i r}
+
+-- Yuk, had to cut-n-paste this one from Pretty.hs
+punctuate :: Doc -> [Doc] -> [Doc]
+punctuate _ []     = []
+punctuate p (d1:ds) = go d1 ds
+                   where
+                     go d [] = [d]
+                     go d (e:es) = (d <> p) : go e es
+
+-- | render the document with a given style and mode.
+renderStyleMode :: P.Style -> PPHsMode -> Doc -> String
+renderStyleMode ppStyle ppMode d = P.renderStyle ppStyle . unDocM d $ ppMode
+
+-- | render the document with a given mode.
+-- renderWithMode :: PPHsMode -> Doc -> String
+-- renderWithMode = renderStyleMode P.style
+
+-- | render the document with 'defaultMode'.
+-- render :: Doc -> String
+-- render = renderWithMode defaultMode
+
+-- | pretty-print with a given style and mode.
+prettyPrintStyleMode :: Pretty a => P.Style -> PPHsMode -> a -> String
+prettyPrintStyleMode ppStyle ppMode = renderStyleMode ppStyle ppMode . pretty
+
+-- | pretty-print with the default style and a given mode.
+prettyPrintWithMode :: Pretty a => PPHsMode -> a -> String
+prettyPrintWithMode = prettyPrintStyleMode P.style
+
+-- | pretty-print with the default style and 'defaultMode'.
+prettyPrint :: Pretty a => a -> String
+prettyPrint = prettyPrintWithMode defaultMode
+
+-- fullRenderWithMode :: PPHsMode -> P.Mode -> Int -> Float ->
+--                       (P.TextDetails -> a -> a) -> a -> Doc -> a
+-- fullRenderWithMode ppMode m i f fn e mD =
+--                   P.fullRender m i f fn e $ (unDocM mD) ppMode
+
+
+-- fullRender :: P.Mode -> Int -> Float -> (P.TextDetails -> a -> a)
+--               -> a -> Doc -> a
+-- fullRender = fullRenderWithMode defaultMode
+
+-- | pretty-print with the default style and 'defaultMode'.
+prettyPrim :: Pretty a => a -> P.Doc
+prettyPrim = prettyPrimWithMode defaultMode
+
+-- | pretty-print with the default style and a given mode.
+prettyPrimWithMode :: Pretty a => PPHsMode -> a -> P.Doc
+prettyPrimWithMode pphs doc = unDocM (pretty doc) pphs
+
+
+-------------------------  Pretty-Print a Module --------------------
+{-
+instance  Pretty (Module l) where
+        pretty (Module pos m os mbWarn mbExports imp decls) =
+                markLine pos $ (myVcat $ map pretty os) $$
+                myVcat (
+                    (if m == ModuleName "" then id
+                     else \x -> [topLevel (ppModuleHeader m mbWarn mbExports) x])
+                    (map pretty imp ++
+                      ppDecls (m /= ModuleName "" ||
+                               not (null imp) ||
+                               not (null os))
+                              decls]-}
+
+--------------------------  Module Header ------------------------------
+instance Pretty (ModuleHead l) where
+  pretty (ModuleHead _ m mbWarn mbExportList) =
+    mySep [
+        text "module",
+        pretty m,
+        maybePP ppWarnTxt mbWarn,
+        maybePP pretty mbExportList,
+        text "where"]
+
+instance Pretty (ExportSpecList l) where
+        pretty (ExportSpecList _ especs)  = parenList $ map pretty especs
+
+ppWarnTxt :: WarningText l -> Doc
+ppWarnTxt (DeprText _ s) = mySep [text "{-# DEPRECATED", text (show s), text "#-}"]
+ppWarnTxt (WarnText _ s) = mySep [text "{-# WARNING",    text (show s), text "#-}"]
+
+instance  Pretty (ModuleName l) where
+        pretty (ModuleName _ modName) = text modName
+
+instance  Pretty (Namespace l) where
+        pretty NoNamespace {}     = empty
+        pretty TypeNamespace {}   = text "type"
+        pretty PatternNamespace {} = text "pattern"
+
+instance  Pretty (ExportSpec l) where
+        pretty (EVar _ name)                = pretty name
+        pretty (EAbs _ ns name)             = pretty ns <+> pretty name
+        pretty (EThingWith _ wc name nameList) =
+          let prettyNames = map pretty nameList
+              names = case wc of
+                        NoWildcard {} -> prettyNames
+                        EWildcard _ n  ->
+                          let (before,after) = splitAt n prettyNames
+                          in before ++ [text ".."] ++ after
+           in pretty name <> (parenList names)
+        pretty (EModuleContents _ m)        = text "module" <+> pretty m
+
+instance  Pretty (ImportDecl l) where
+        pretty (ImportDecl _ m qual src safe mbPkg mbName mbSpecs) =
+                mySep [text "import",
+                       if src  then text "{-# SOURCE #-}" else empty,
+                       if safe then text "safe" else empty,
+                       if qual then text "qualified" else empty,
+                       maybePP (\s -> text (show s)) mbPkg,
+                       pretty m,
+                       maybePP (\m' -> text "as" <+> pretty m') mbName,
+                       maybePP pretty mbSpecs]
+
+instance Pretty (ImportSpecList l) where
+        pretty (ImportSpecList _ b ispecs)  =
+            (if b then text "hiding" else empty)
+                <+> parenList (map pretty ispecs)
+
+instance  Pretty (ImportSpec l) where
+        pretty (IVar _ name  )              = pretty name
+        pretty (IAbs _ ns name)             = pretty ns <+> pretty name
+        pretty (IThingAll _ name)           = pretty name <> text "(..)"
+        pretty (IThingWith _ name nameList) =
+                pretty name <> (parenList . map pretty $ nameList)
+
+instance  Pretty (TypeEqn l) where
+        pretty (TypeEqn _ pat eqn) = mySep [pretty pat, equals, pretty eqn]
+
+-------------------------  Declarations ------------------------------
+class Pretty a => PrettyDeclLike a where
+  wantsBlankline :: a -> Bool
+
+instance  PrettyDeclLike (Decl l) where
+  wantsBlankline (FunBind {}) = False
+  wantsBlankline (PatBind {}) = False
+  wantsBlankline _ = True
+
+condBlankline :: PrettyDeclLike a => a -> Doc
+condBlankline d = (if wantsBlankline d then blankline else id) $ pretty d
+
+ppDecls :: PrettyDeclLike a => Bool -> [a] -> [Doc]
+ppDecls True  ds     = map condBlankline ds
+ppDecls False (d:ds) = pretty d : map condBlankline ds
+ppDecls _ _ = []
+--ppDecls = map condBlankline
+
+instance Pretty (InjectivityInfo l) where
+  pretty (InjectivityInfo _ from to) =
+    char '|' <+> pretty from <+> text "->" <+> hsep (map pretty to)
+
+instance Pretty (ResultSig l) where
+  pretty (KindSig _ kind) = text "::" <+> pretty kind
+  pretty (TyVarSig _ tv)  = char '='  <+> pretty tv
+
+instance  Pretty (Decl l) where
+        pretty (TypeDecl _ dHead htype) =
+                mySep ( [text "type", pretty dHead]
+                        ++ [equals, pretty htype])
+
+        pretty (DataDecl _ don context dHead constrList derives) =
+                mySep ( [pretty don, maybePP pretty context, pretty dHead])
+
+                  <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))
+                                             (map pretty constrList))
+                        $$$ maybePP pretty derives)
+
+        pretty (GDataDecl _ don context dHead optkind gadtList derives) =
+                mySep ( [pretty don, maybePP pretty context, pretty dHead]
+                        ++ ppOptKind optkind ++ [text "where"])
+                        $$$ ppBody classIndent (map pretty gadtList)
+                        $$$ ppIndent letIndent [maybePP pretty derives]
+
+        pretty (TypeFamDecl _ dHead optkind optinj) =
+                mySep ([text "type", text "family", pretty dHead
+                       , maybePP pretty optkind, maybePP pretty optinj])
+
+        pretty (ClosedTypeFamDecl _ dHead optkind optinj eqns) =
+                mySep ([text "type", text "family", pretty dHead
+                       , maybePP pretty optkind ,maybePP pretty optinj
+                       , text "where"]) $$$ ppBody classIndent (map pretty eqns)
+
+        pretty (DataFamDecl _ context dHead optkind) =
+                mySep ( [text "data", text "family", maybePP pretty context, pretty dHead
+                        , maybePP pretty optkind])
+
+        pretty (TypeInsDecl _ ntype htype) =
+                mySep [text "type", text "instance", pretty ntype, equals, pretty htype]
+
+        pretty (DataInsDecl _ don ntype constrList derives) =
+                mySep [pretty don, text "instance ", pretty ntype]
+                        <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))
+                                                   (map pretty constrList))
+                              $$$ maybePP pretty derives)
+
+        pretty (GDataInsDecl _ don ntype optkind gadtList derives) =
+                mySep ( [pretty don, text "instance ", pretty ntype]
+                        ++ ppOptKind optkind ++ [text "where"])
+                        $$$ ppBody classIndent (map pretty gadtList)
+                        $$$ maybePP pretty derives
+
+        --m{spacing=False}
+        -- special case for empty class declaration
+        pretty (ClassDecl _ context dHead fundeps Nothing) =
+                mySep ( [text "class", maybePP pretty context, pretty dHead
+                        , ppFunDeps fundeps])
+        pretty (ClassDecl _ context dHead fundeps declList) =
+                mySep ( [text "class", maybePP pretty context, pretty dHead
+                        , ppFunDeps fundeps, text "where"])
+                $$$ ppBody classIndent (fromMaybe [] ((ppDecls False) <$> declList))
+
+        -- m{spacing=False}
+        -- special case for empty instance  declaration
+        pretty (InstDecl _ moverlap iHead Nothing) =
+                  mySep ( [text "instance", maybePP pretty moverlap, pretty iHead])
+        pretty (InstDecl _ overlap iHead declList) =
+                mySep ( [ text "instance", maybePP pretty overlap
+                           , pretty iHead, text "where"])
+                $$$ ppBody classIndent (fromMaybe [] ((ppDecls False) <$> declList))
+
+        pretty (DerivDecl _ overlap irule) =
+                  mySep ( [text "deriving"
+                          , text "instance"
+                          , maybePP pretty overlap
+                          , pretty irule])
+        pretty (DefaultDecl _ htypes) =
+                text "default" <+> parenList (map pretty htypes)
+
+        pretty (SpliceDecl _ 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 _ n mtvs prov req t) =
+                let contexts = map (maybePP pretty) [prov, req]
+                 in
+                  mySep ( [text "pattern", pretty n, text "::", ppForall mtvs] ++
+                          contexts ++ [pretty t] )
+
+
+        pretty (FunBind _ matches) = do
+                e <- fmap layout getPPEnv
+                case e of PPOffsideRule -> foldr ($$$) empty (map pretty matches)
+                          _ -> foldr (\x y -> x <> semi <> y) empty (map pretty matches)
+
+        pretty (PatBind _ pat rhs whereBinds) =
+                myFsep [pretty pat, pretty rhs] $$$ ppWhere whereBinds
+
+        pretty (InfixDecl _ assoc prec opList) =
+                mySep ([pretty assoc, maybePP int prec]
+                       ++ (punctuate comma . map pretty $ opList))
+
+        pretty (PatSyn _ pat rhs dir) =
+                let sep = case dir of
+                            ImplicitBidirectional {}   -> "="
+                            ExplicitBidirectional {}   -> "<-"
+                            Unidirectional {}          -> "<-"
+                in
+                 (mySep ([text "pattern", pretty pat, text sep, pretty rhs])) $$$
+                    (case dir of
+                      ExplicitBidirectional _ ds ->
+                        nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False ds))
+                      _ -> empty)
+
+        pretty (ForImp _ cconv saf str name typ) =
+                mySep [text "foreign import", pretty cconv, maybePP pretty saf,
+                       maybe empty (text . show) str, pretty name, text "::", pretty typ]
+
+        pretty (ForExp _ cconv str name typ) =
+                mySep [text "foreign export", pretty cconv,
+                       text (show str), pretty name, text "::", pretty typ]
+
+        pretty (RulePragmaDecl _ rules) =
+                myVcat $ text "{-# RULES" : map pretty rules ++ [text " #-}"]
+
+        pretty (DeprPragmaDecl _ deprs) =
+                myVcat $ text "{-# DEPRECATED" : map ppWarnDepr deprs ++ [text " #-}"]
+
+        pretty (WarnPragmaDecl _ deprs) =
+                myVcat $ text "{-# WARNING" : map ppWarnDepr deprs ++ [text " #-}"]
+
+        pretty (InlineSig _ inl activ name) =
+                mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE")
+                      , maybePP pretty activ, pretty name, text "#-}"]
+
+        pretty (InlineConlikeSig _ activ name) =
+                mySep [ text "{-# INLINE CONLIKE", maybePP pretty activ
+                      , pretty name, text "#-}"]
+
+        pretty (SpecSig _ activ name types) =
+                mySep $ [text "{-# SPECIALISE", maybePP pretty activ
+                        , pretty name, text "::"]
+                         ++ punctuate comma (map pretty types) ++ [text "#-}"]
+
+        pretty (SpecInlineSig _ inl activ name types) =
+                mySep $ [text "{-# SPECIALISE", text (if inl then "INLINE" else "NOINLINE"),
+                        maybePP pretty activ, pretty name, text "::"]
+                        ++ (punctuate comma $ map pretty types) ++ [text "#-}"]
+
+        pretty (InstSig _ irule) =
+                mySep $ [ text "{-# SPECIALISE", text "instance", pretty irule
+                        , text "#-}"]
+
+        pretty (AnnPragma _ annp) =
+                mySep [text "{-# ANN", pretty annp, text "#-}"]
+
+        pretty (MinimalPragma _ b) =
+                let bs = case b of { Just b' -> pretty b'; _ -> empty }
+                in myFsep [text "{-# MINIMAL", bs, text "#-}"]
+
+        pretty (RoleAnnotDecl _ qn rs) =
+                mySep ( [text "type", text "role", pretty qn]
+                        ++ map pretty rs )
+
+instance Pretty (InstRule l) where
+    pretty (IRule _ tvs mctxt qn)  =
+            mySep [ppForall tvs
+                  , maybePP pretty mctxt, pretty qn]
+    pretty (IParen _ ih)        = parens (pretty ih)
+
+instance  Pretty (InstHead l) where
+    pretty (IHCon _ qn)          = pretty qn
+    pretty (IHInfix _ ta qn)     = mySep [pretty ta, pretty qn]
+    pretty (IHParen _ ih)        = parens (pretty ih)
+    pretty (IHApp _ ih t)        = myFsep [pretty ih, pretty t]
+
+
+instance  Pretty (Annotation l) where
+        pretty (Ann _ n e) = myFsep [pretty n, pretty e]
+        pretty (TypeAnn _ n e) = myFsep [text "type", pretty n, pretty e]
+        pretty (ModuleAnn _ e) = myFsep [text "module", pretty e]
+
+instance  Pretty (BooleanFormula l) where
+        pretty (VarFormula _ n)   = pretty n
+        pretty (AndFormula _ bs)  = myFsep $ punctuate (text " ,") $ map pretty bs
+        pretty (OrFormula _ bs)   = myFsep $ punctuate (text " |") $ map pretty bs
+        pretty (ParenFormula _ b) = parens $ pretty b
+
+instance  Pretty (Role l) where
+        pretty RoleWildcard{}     = char '_'
+        pretty Nominal{}          = text "nominal"
+        pretty Representational{} = text "representational"
+        pretty Phantom{}          = text "phantom"
+
+instance  Pretty (DataOrNew l) where
+        pretty DataType{} = text "data"
+        pretty NewType{}  = text "newtype"
+
+instance  Pretty (Assoc l) where
+        pretty AssocNone{}  = text "infix"
+        pretty AssocLeft{}  = text "infixl"
+        pretty AssocRight{} = text "infixr"
+
+instance  Pretty (Match l) where
+        pretty (InfixMatch _ l op rs rhs wbinds) =
+          let
+              lhs = case rs of
+                      []  -> [] -- Should never reach
+                      (r:rs') ->
+                        let hd = [prettyPrec 2 l, ppNameInfix op, prettyPrec 2 r]
+                        in if null rs'
+                            then hd
+                            else parens (myFsep hd) : map (prettyPrec 3) rs'
+
+          in myFsep (lhs ++ [pretty rhs]) $$$ ppWhere wbinds
+        pretty (Match _ f ps rhs whereBinds) =
+                myFsep (pretty f : map (prettyPrec 3) ps ++ [pretty rhs])
+                $$$ ppWhere whereBinds
+
+ppWhere :: Maybe (Binds l) -> Doc
+ppWhere Nothing            = empty
+ppWhere (Just (BDecls _ l))  = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False l))
+ppWhere (Just (IPBinds _ b)) = nest 2 (text "where" $$$ ppBody whereIndent (ppDecls False b))
+
+instance  PrettyDeclLike (ClassDecl l) where
+    wantsBlankline (ClsDecl _ d) = wantsBlankline d
+    wantsBlankline (ClsDefSig {}) = True
+    wantsBlankline _ = False
+
+instance  Pretty (ClassDecl l) where
+    pretty (ClsDecl _ decl) = pretty decl
+
+    pretty (ClsDataFam _ context declHead optkind) =
+                mySep ( [text "data", maybePP pretty context, pretty declHead
+                        , maybePP pretty optkind])
+
+    pretty (ClsTyFam _ declHead optkind optinj) =
+                mySep ( [text "type", pretty declHead
+                        , maybePP pretty optkind, maybePP pretty optinj])
+
+    pretty (ClsTyDef _ ntype) =
+                mySep [text "type", pretty ntype]
+
+    pretty (ClsDefSig _ name typ) =
+                mySep [
+                    text "default",
+                    pretty name,
+                    text "::",
+                    pretty typ]
+
+instance Pretty (DeclHead l) where
+  pretty (DHead _ n) = pretty n
+  pretty (DHInfix _ tv n) =  pretty tv <+> ppNameInfix n
+  pretty (DHParen _ d) = parens (pretty d)
+  pretty (DHApp _ dh tv) = pretty dh <+> pretty tv
+
+
+
+instance  PrettyDeclLike (InstDecl l) where
+    wantsBlankline (InsDecl _ d) = wantsBlankline d
+    wantsBlankline _ = False
+
+instance  Pretty (InstDecl l) where
+        pretty (InsDecl _ decl) = pretty decl
+
+        pretty (InsType _ ntype htype) =
+                mySep [text "type", pretty ntype, equals, pretty htype]
+
+        pretty (InsData _ don ntype constrList derives) =
+                mySep [pretty don, pretty ntype]
+                        <+> (myVcat (zipWith (<+>) (equals : repeat (char '|'))
+                                                   (map pretty constrList))
+                              $$$ maybePP pretty derives)
+
+        pretty (InsGData _ don ntype optkind gadtList derives) =
+                mySep ( [pretty don, pretty ntype]
+                        ++ ppOptKind optkind ++ [text "where"])
+                        $$$ ppBody classIndent (map pretty gadtList)
+                        $$$ maybePP pretty derives
+
+--        pretty (InsInline loc inl activ name) =
+--                markLine loc $
+--                mySep [text (if inl then "{-# INLINE" else "{-# NOINLINE"), pretty activ, pretty name, text "#-}"]
+
+
+------------------------- FFI stuff -------------------------------------
+instance  Pretty (Safety l) where
+        pretty PlayRisky {}        = text "unsafe"
+        pretty (PlaySafe _ b)      = text $ if b then "threadsafe" else "safe"
+        pretty PlayInterruptible {} = text "interruptible"
+
+instance  Pretty (CallConv l) where
+        pretty StdCall {}    = text "stdcall"
+        pretty CCall {}     = text "ccall"
+        pretty CPlusPlus {}  = text "cplusplus"
+        pretty DotNet {}     = text "dotnet"
+        pretty Jvm {}        = text "jvm"
+        pretty Js {}         = text "js"
+        pretty JavaScript {} = text "javascript"
+        pretty CApi {}       = text "capi"
+
+------------------------- Pragmas ---------------------------------------
+ppWarnDepr :: ([Name l], String) -> Doc
+ppWarnDepr (names, txt) = mySep $ punctuate comma (map pretty names) ++ [text $ show txt]
+
+instance  Pretty (Rule l) where
+        pretty (Rule _ tag activ rvs rhs lhs) =
+            mySep [text $ show tag, maybePP pretty activ,
+                        maybePP ppRuleVars rvs,
+                        pretty rhs, char '=', pretty lhs]
+
+ppRuleVars :: [RuleVar l] -> Doc
+ppRuleVars []  = empty
+ppRuleVars rvs = mySep $ text "forall" : map pretty rvs ++ [char '.']
+
+instance  Pretty (Activation l) where
+    pretty (ActiveFrom _ i)  = char '['  <> int i <> char ']'
+    pretty (ActiveUntil _ i) = text "[~" <> int i <> char ']'
+
+instance  Pretty (Overlap l) where
+    pretty Overlap {}   = text "{-# OVERLAP #-}"
+    pretty NoOverlap {}  = text "{-# NO_OVERLAP #-}"
+    pretty Incoherent {} = text "{-# INCOHERENT #-}"
+
+instance  Pretty (RuleVar l) where
+    pretty (RuleVar _ n) = pretty n
+    pretty (TypedRuleVar _ n t) = parens $ mySep [pretty n, text "::", pretty t]
+
+-- Spaces are stripped from the pragma text but other whitespace
+-- is not.
+ppOptionsPragma :: Doc -> String -> Doc
+ppOptionsPragma opt s =
+  case s of
+    ('\n':_) -> opt <> text s <> text "#-}"
+    _ ->  myFsep [opt, text s <> text "#-}"]
+
+instance  Pretty (ModulePragma l) where
+    pretty (LanguagePragma _ ns) =
+        myFsep $ text "{-# LANGUAGE" : punctuate (char ',') (map pretty ns) ++ [text "#-}"]
+    pretty (OptionsPragma _ (Just tool) s) =
+        ppOptionsPragma (text "{-# OPTIONS_" <> pretty tool) s
+    pretty (OptionsPragma _ _ s) =
+        ppOptionsPragma (text "{-# OPTIONS") s
+    pretty (AnnModulePragma _ mann) =
+        myFsep [text "{-# ANN", pretty mann, text "#-}"]
+
+
+instance Pretty Tool where
+    pretty (UnknownTool s) = text s
+    pretty t               = text $ show t
+
+------------------------- Data & Newtype Bodies -------------------------
+instance  Pretty (QualConDecl l) where
+        pretty (QualConDecl _pos tvs ctxt con) =
+                myFsep [ppForall tvs, maybePP pretty ctxt, pretty con]
+
+instance  Pretty (GadtDecl l) where
+        pretty (GadtDecl _pos name names ty) =
+            case names of
+                Nothing ->
+                    myFsep [pretty name, text "::", pretty ty]
+                Just ts' ->
+                    myFsep [pretty name, text "::" ,
+                         braceList . map pretty $ ts', text "->", pretty ty]
+
+instance  Pretty (ConDecl l) where
+        pretty (RecDecl _ name fieldList) =
+                pretty name <> braceList (map pretty fieldList)
+
+{-        pretty (ConDecl name@(Symbol _) [l, r]) =
+                myFsep [prettyPrec prec_btype l, ppName name,
+                        prettyPrec prec_btype r] -}
+        pretty (ConDecl _ name typeList) =
+                mySep $ pretty name : map (prettyPrec prec_atype) typeList
+        pretty (InfixConDecl _ l name r) =
+                myFsep [prettyPrec prec_btype l, ppNameInfix name,
+                         prettyPrec prec_btype r]
+
+
+instance Pretty (FieldDecl l) where
+  pretty (FieldDecl _ names ty) =
+        myFsepSimple $ (punctuate comma . map pretty $ names) ++
+                       [text "::", pretty ty]
+
+instance  Pretty (BangType l) where
+        pretty BangedTy {}  = char '!'
+        pretty LazyTy {}    = char '~'
+        pretty NoStrictAnnot {} = empty
+
+instance Pretty (Unpackedness l) where
+        pretty Unpack {}  = text "{-# UNPACK #-} "
+        pretty NoUnpack {} = text "{-# NOUNPACK #-} "
+        pretty NoUnpackPragma {} = empty
+
+instance Pretty (Deriving l) where
+  pretty (Deriving _ [])  = empty
+  pretty (Deriving _ [d]) = text "deriving" <+> pretty d
+  pretty (Deriving _ d)   = text "deriving" <+> parenList (map pretty d)
+
+------------------------- Types -------------------------
+ppBType :: Type l -> Doc
+ppBType = prettyPrec prec_btype
+
+ppAType :: Type l -> Doc
+ppAType = prettyPrec prec_atype
+
+-- precedences for types
+prec_btype, prec_atype :: Int
+prec_btype = 1  -- left argument of ->,
+                -- or either argument of an infix data constructor
+prec_atype = 2  -- argument of type or data constructor, or of a class
+
+instance  Pretty (Type l) where
+        prettyPrec p (TyForall _ mtvs ctxt htype) = parensIf (p > 0) $
+                myFsep [ppForall mtvs, maybePP pretty ctxt, pretty htype]
+        prettyPrec p (TyFun _ a b) = parensIf (p > 0) $
+                myFsep [ppBType a, text "->", pretty b]
+        prettyPrec _ (TyTuple _ bxd l) =
+                let ds = map pretty l
+                 in case bxd of
+                        Boxed   -> parenList ds
+                        Unboxed -> hashParenList ds
+        prettyPrec _ (TyList _ t)  = brackets $ pretty t
+        prettyPrec _ (TyParArray _ t) = bracketColonList [pretty t]
+        prettyPrec p (TyApp _ a b) =
+                {-
+                | a == list_tycon = brackets $ pretty b         -- special case
+                | otherwise = -} parensIf (p > prec_btype) $
+                                    myFsep [pretty a, ppAType b]
+        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, ppQNameInfix op, pretty b]
+        prettyPrec _ (TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])
+        prettyPrec _ (TyPromoted _ p) = pretty p
+        prettyPrec p (TyEquals _ a b) = parensIf (p > 0) (myFsep [pretty a, text "~", pretty b])
+        prettyPrec _ (TySplice _ s) = pretty s
+        prettyPrec _ (TyBang _ b u t) = pretty u <> pretty b <> prettyPrec prec_atype t
+        prettyPrec _ (TyWildCard _ mn) = char '_' <> maybePP pretty mn
+        prettyPrec _ (TyQuasiQuote _ n qt) = text ("[" ++ n ++ "|" ++ qt ++ "|]")
+
+instance  Pretty (Promoted l) where
+  pretty p =
+    case p of
+      PromotedInteger _ n _ -> integer n
+      PromotedString _ s _ -> doubleQuotes $ text s
+      PromotedCon _ hasQuote qn ->
+        addQuote hasQuote $ maybe (pretty qn) pretty (getSpecialName qn)
+      PromotedList _ hasQuote list ->
+        addQuote hasQuote $ bracketList . punctuate comma . map pretty $ list
+      PromotedTuple _ list ->
+        addQuote True $ parenList $ map pretty list
+      PromotedUnit {} -> addQuote True $ text "()"
+    where
+      addQuote True doc = char '\'' <> doc
+      addQuote False doc = doc
+
+instance  Pretty (TyVarBind l) where
+        pretty (KindedVar _ var kind) = parens $ myFsep [pretty var, text "::", pretty kind]
+        pretty (UnkindedVar _ var)    = pretty var
+
+ppForall :: Maybe [TyVarBind l] -> Doc
+ppForall Nothing   = empty
+ppForall (Just []) = empty
+ppForall (Just vs) =    myFsep (text "forall" : map pretty vs ++ [char '.'])
+
+---------------------------- 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]
+
+------------------- Functional Dependencies -------------------
+instance  Pretty (FunDep l) where
+        pretty (FunDep _ from to) =
+                myFsep $ map pretty from ++ [text "->"] ++ map pretty to
+
+
+ppFunDeps :: [FunDep l] -> Doc
+ppFunDeps []  = empty
+ppFunDeps fds = myFsep $ (char '|':) . punctuate comma . map pretty $ fds
+
+------------------------- Expressions -------------------------
+instance  Pretty (Rhs l) where
+        pretty (UnGuardedRhs _ e) = equals <+> pretty e
+        pretty (GuardedRhss _ guardList) = myVcat . map pretty $ guardList
+
+instance  Pretty (GuardedRhs l) where
+        pretty (GuardedRhs _pos guards ppBody') =
+                myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [equals, pretty ppBody']
+
+newtype GuardedAlts l = GuardedAlts (Rhs l)
+newtype GuardedAlt l = GuardedAlt (GuardedRhs l)
+
+instance  Pretty (GuardedAlts l) where
+        pretty (GuardedAlts (UnGuardedRhs _ e)) = text "->" <+> pretty e
+        pretty (GuardedAlts (GuardedRhss _ guardList)) = myVcat . map (pretty . GuardedAlt) $ guardList
+
+instance  Pretty (GuardedAlt l) where
+        pretty (GuardedAlt (GuardedRhs _pos guards ppBody')) =
+                myFsep $ [char '|'] ++ (punctuate comma . map pretty $ guards) ++ [text "->", pretty ppBody']
+
+instance  Pretty (Literal l) where
+        pretty (Int _ i _)        = integer i
+        pretty (Char _ c _)       = text (show c)
+        pretty (String _ s _)     = text (show s)
+        pretty (Frac _ r _)       = double (fromRational r)
+        -- GHC unboxed literals:
+        pretty (PrimChar _ c _)   = text (show c)           <> char '#'
+        pretty (PrimString _ s _) = text (show s)           <> char '#'
+        pretty (PrimInt _ i _)    = integer i               <> char '#'
+        pretty (PrimWord _ w _)   = integer w               <> text "##"
+        pretty (PrimFloat _ r _)  = float  (fromRational r) <> char '#'
+        pretty (PrimDouble _ r _) = double (fromRational r) <> text "##"
+
+instance  Pretty (Exp l) where
+        prettyPrec _ (Lit _ l) = pretty l
+        -- lambda stuff
+        -- WARNING: This stuff is fragile. See #152 for one example of how
+        -- things can break.
+        prettyPrec p (InfixApp _ a op b) = parensIf (p > 2) $ myFsep [prettyPrec 1 a, pretty op, prettyPrec 1 b]
+        prettyPrec p (NegApp _ e) = parensIf (p > 0) $ char '-' <> prettyPrec 2 e
+        prettyPrec p (App _ a b) = parensIf (p > 3) $ myFsep [prettyPrec 3 a, prettyPrec 4 b]
+        prettyPrec p (Lambda _loc patList ppBody') = parensIf (p > 1) $ myFsep $
+                char '\\' : map (prettyPrec 3) patList ++ [text "->", pretty ppBody']
+        -- keywords
+        -- two cases for lets
+        prettyPrec p (Let _ (BDecls _ declList) letBody) =
+                parensIf (p > 1) $ ppLetExp declList letBody
+        prettyPrec p (Let _ (IPBinds _ bindList) letBody) =
+                parensIf (p > 1) $ ppLetExp bindList letBody
+
+        prettyPrec p (If _ cond thenexp elsexp) = parensIf (p > 1) $
+                myFsep [text "if", pretty cond,
+                        text "then", pretty thenexp,
+                        text "else", pretty elsexp]
+        prettyPrec p (MultiIf _ alts) = parensIf (p > 1) $
+                text "if"
+                $$$ ppBody multiIfIndent (map (pretty . GuardedAlt) alts)
+        prettyPrec p (Case _ cond altList) = parensIf (p > 1) $
+                myFsep [text "case", pretty cond, text "of"]
+                $$$ ppBody caseIndent (map pretty altList)
+        prettyPrec p (Do _ stmtList) = parensIf (p > 1) $
+                text "do" $$$ ppBody doIndent (map pretty stmtList)
+        prettyPrec p (MDo _ stmtList) = parensIf (p > 1) $
+                text "mdo" $$$ ppBody doIndent (map pretty stmtList)
+        -- Constructors & Vars
+        prettyPrec _ (Var _ name) = pretty name
+        prettyPrec _ (OverloadedLabel _ name) = text ('#':name)
+        prettyPrec _ (IPVar _ ipname) = pretty ipname
+        prettyPrec _ (Con _ name) = pretty name
+        prettyPrec _ (Tuple _ bxd expList) =
+                let ds = map pretty expList
+                in case bxd of
+                       Boxed   -> parenList ds
+                       Unboxed -> hashParenList ds
+        prettyPrec _ (TupleSection _ bxd mExpList) =
+                let ds = map (maybePP pretty) mExpList
+                in case bxd of
+                       Boxed   -> parenList ds
+                       Unboxed -> hashParenList ds
+        -- weird stuff
+        prettyPrec _ (Paren _ e) = parens . pretty $ e
+        prettyPrec _ (LeftSection _ e op) = parens (pretty e <+> pretty op)
+        prettyPrec _ (RightSection _ op e) = parens (pretty op <+> pretty e)
+        prettyPrec _ (RecConstr _ c fieldList) =
+                pretty c <> (braceList . map pretty $ fieldList)
+        prettyPrec _ (RecUpdate _ e fieldList) =
+                pretty e <> (braceList . map pretty $ fieldList)
+        -- Lists and parallel arrays
+        prettyPrec _ (List _ list) =
+                bracketList . punctuate comma . map pretty $ list
+        prettyPrec _ (ParArray _ arr) =
+                bracketColonList . map pretty $ arr
+        prettyPrec _ (EnumFrom _ e) =
+                bracketList [pretty e, text ".."]
+        prettyPrec _ (EnumFromTo _ from to) =
+                bracketList [pretty from, text "..", pretty to]
+        prettyPrec _ (EnumFromThen _ from thenE) =
+                bracketList [pretty from <> comma, pretty thenE, text ".."]
+        prettyPrec _ (EnumFromThenTo _ from thenE to) =
+                bracketList [pretty from <> comma, pretty thenE,
+                             text "..", pretty to]
+        prettyPrec _ (ParArrayFromTo _ from to) =
+                bracketColonList [pretty from, text "..", pretty to]
+        prettyPrec _ (ParArrayFromThenTo _ from thenE to) =
+                bracketColonList [pretty from <> comma, pretty thenE,
+                             text "..", pretty to]
+        prettyPrec _ (ListComp _ e qualList) =
+                bracketList ([pretty e, char '|']
+                             ++ (punctuate comma . map pretty $ qualList))
+        prettyPrec _ (ParComp _ e qualLists) =
+                bracketList (punctuate (char '|') $
+                                pretty e : map (hsep . punctuate comma . map pretty) qualLists)
+        prettyPrec _ (ParArrayComp _ e qualArrs) =
+                bracketColonList (punctuate (char '|') $
+                                pretty e : map (hsep . punctuate comma . map pretty) qualArrs)
+        prettyPrec p (ExpTypeSig _pos e ty) = parensIf (p > 0) $
+                myFsep [pretty e, text "::", pretty ty]
+        -- Template Haskell
+        prettyPrec _ (BracketExp _ b) = pretty b
+        prettyPrec _ (SpliceExp _ s) = pretty s
+        prettyPrec _ (TypQuote _ t)  = text "\'\'" <> pretty t
+        prettyPrec _ (VarQuote _ x)  = text "\'" <> pretty x
+        prettyPrec _ (QuasiQuote _ n qt) = text ("[" ++ n ++ "|" ++ qt ++ "|]")
+        -- Hsx
+        prettyPrec _ (XTag _ n attrs mattr cs) =
+                let ax = maybe [] (return . pretty) mattr
+                 in hcat $
+                     (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):
+                        map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]
+        prettyPrec _ (XETag _ n attrs mattr) =
+                let ax = maybe [] (return . pretty) mattr
+                 in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]
+        prettyPrec _ (XPcdata _ s) = text s
+        prettyPrec _ (XExpTag _ e) =
+                myFsep [text "<%", pretty e, text "%>"]
+        prettyPrec _ (XChildTag _ cs) =
+                myFsep $ text "<%>" : map pretty cs ++ [text "</%>"]
+
+        -- Pragmas
+        prettyPrec _ (CorePragma _ s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]
+        prettyPrec _ (SCCPragma  _ s e) = myFsep $ map text ["{-# SCC",  show s, "#-}"] ++ [pretty e]
+        prettyPrec _ (GenPragma  _ s (a,b) (c,d) e) =
+                myFsep [text "{-# GENERATED", text $ show s,
+                            int a, char ':', int b, char '-',
+                            int c, char ':', int d, text "#-}", pretty e]
+        -- Arrows
+        prettyPrec p (Proc _ pat e) = parensIf (p > 1) $ myFsep [text "proc", pretty pat, text "->", pretty e]
+        prettyPrec p (LeftArrApp _ l r)      = parensIf (p > 0) $ myFsep [pretty l, text "-<",  pretty r]
+        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]
+
+        -- LamdaCase
+        prettyPrec p (LCase _ altList) = parensIf (p > 1) $
+                text "\\case" $$$ ppBody caseIndent (map pretty altList)
+        prettyPrec _ ExprHole{}       = char '_'
+        prettyPrec _ (TypeApp _ ty)   = char '@' <> pretty ty
+
+
+instance  Pretty (XAttr l) where
+        pretty (XAttr _ n v) =
+                myFsep [pretty n, char '=', pretty v]
+
+instance  Pretty (XName l) where
+        pretty (XName _ n) = text n
+        pretty (XDomName _ d n) = text d <> char ':' <> text n
+
+ppLetExp :: (PrettyDeclLike a, Pretty b) => [a] -> b -> Doc
+ppLetExp l b = myFsep [text "let" <+> ppBody letIndent (ppDecls False l),
+                        text "in", pretty b]
+
+--------------------- Template Haskell -------------------------
+
+instance  Pretty (Bracket l) where
+        pretty (ExpBracket _ e) = ppBracket "[|" e
+        pretty (PatBracket _ p) = ppBracket "[p|" p
+        pretty (TypeBracket _ t) = ppBracket "[t|" t
+        pretty (DeclBracket _ d) =
+                myFsep $ text "[d|" : ppDecls True d ++ [text "|]"]
+
+ppBracket :: Pretty a => String -> a -> Doc
+ppBracket o x = myFsep [text o, pretty x, text "|]"]
+
+instance  Pretty (Splice l) where
+        pretty (IdSplice _ s) = char '$' <> text s
+        pretty (ParenSplice _ e) =
+                myFsep [text "$(", pretty e, char ')']
+
+------------------------- Patterns -----------------------------
+
+instance  Pretty (Pat l) where
+        prettyPrec _ (PVar _ name) = pretty name
+        prettyPrec _ (PLit _ (Signless {}) lit) = pretty lit
+        prettyPrec p (PLit _ (Negative{}) lit) = parensIf (p > 1) $ char '-' <> pretty lit
+        prettyPrec p (PInfixApp l a op b) = parensIf (p > 0) $
+                myFsep [prettyPrec 1 a, pretty (QConOp l op), prettyPrec 1 b]
+        prettyPrec p (PApp _ n ps) = parensIf (p > 2 && not (null ps)) $
+                myFsep (pretty n : map (prettyPrec 3) ps)
+        prettyPrec _ (PTuple _ bxd ps) =
+                let ds = map pretty ps
+                in case bxd of
+                       Boxed   -> parenList ds
+                       Unboxed -> hashParenList ds
+        prettyPrec _ (PList _ ps) =
+                bracketList . punctuate comma . map pretty $ ps
+        prettyPrec _ (PParen _ pat) = parens . pretty $ pat
+        prettyPrec _ (PRec _ c fields) =
+                pretty c <> (braceList . map pretty $ fields)
+        -- special case that would otherwise be buggy
+        prettyPrec _ (PAsPat _ name (PIrrPat _ pat)) =
+                myFsep [pretty name <> char '@', char '~' <> prettyPrec 3 pat]
+        prettyPrec _ (PAsPat _ name pat) =
+                hcat [pretty name, char '@', prettyPrec 3 pat]
+        prettyPrec _ PWildCard {} = char '_'
+        prettyPrec _ (PIrrPat _ pat) = char '~' <> prettyPrec 3 pat
+        prettyPrec p (PatTypeSig _pos pat ty) = parensIf (p > 0) $
+                myFsep [pretty pat, text "::", pretty ty]
+        prettyPrec p (PViewPat _ e pat) = parensIf (p > 0) $
+                myFsep [pretty e, text "->", pretty pat]
+        prettyPrec p (PNPlusK _ n k) = parensIf (p > 0) $
+                myFsep [pretty n, text "+", text $ show k]
+        -- HaRP
+        prettyPrec _ (PRPat _ rs) =
+                bracketList . punctuate comma . map pretty $ rs
+        -- Hsx
+        prettyPrec _ (PXTag _ n attrs mattr cp) =
+            let ap = maybe [] (return . pretty) mattr
+             in hcat $ -- TODO: should not introduce blanks
+                  (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [char '>']):
+                    map pretty cp ++ [myFsep [text "</" <> pretty n, char '>']]
+        prettyPrec _ (PXETag _ n attrs mattr) =
+                let ap = maybe [] (return . pretty) mattr
+                 in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ap ++ [text "/>"]
+        prettyPrec _ (PXPcdata _ s) = text s
+        prettyPrec _ (PXPatTag _ p) =
+                myFsep [text "<%", pretty p, text "%>"]
+        prettyPrec _ (PXRPats _ ps) =
+                myFsep $ text "<[" : map pretty ps ++ [text "%>"]
+        -- BangPatterns
+        prettyPrec _ (PBangPat _ pat) = text "!" <> prettyPrec 3 pat
+        prettyPrec _ (PQuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")
+
+instance  Pretty (PXAttr l) where
+        pretty (PXAttr _ n p) =
+                myFsep [pretty n, char '=', pretty p]
+
+instance  Pretty (PatField l) where
+        pretty (PFieldPat _ name pat) =
+                myFsep [pretty name, equals, pretty pat]
+        pretty (PFieldPun _ name) = pretty name
+        pretty (PFieldWildcard{}) = text ".."
+
+--------------------- Regular Patterns -------------------------
+
+instance  Pretty (RPat l) where
+        pretty (RPOp _ r op) = pretty r <> pretty op
+        pretty (RPEither _ r1 r2) = parens . myFsep $
+                [pretty r1, char '|', pretty r2]
+        pretty (RPSeq _ rs) =
+                myFsep $ text "(|" : (punctuate comma . map pretty $ rs)
+                           ++ [text "|)"]
+        pretty (RPGuard _ r gs) =
+                myFsep $ text "(|" : pretty r : char '|' :
+                           (punctuate comma . map pretty $ gs) ++ [text "|)"]
+        -- special case that would otherwise be buggy
+        pretty (RPCAs _ n (RPPat _ (PIrrPat _ p))) =
+                myFsep [pretty n <> text "@:", char '~' <> pretty p]
+        pretty (RPCAs _ n r) = hcat [pretty n, text "@:", pretty r]
+        -- special case that would otherwise be buggy
+        pretty (RPAs _ n (RPPat _ (PIrrPat _ p))) =
+                myFsep [pretty n <> text "@:", char '~' <> pretty p]
+        pretty (RPAs _ n r) = hcat [pretty n, char '@', pretty r]
+        pretty (RPPat _ p) = pretty p
+        pretty (RPParen _ rp) = parens . pretty $ rp
+
+instance  Pretty (RPatOp l) where
+        pretty RPStar{}  = char '*'
+        pretty RPStarG{} = text "*!"
+        pretty RPPlus{}  = char '+'
+        pretty RPPlusG{} = text "+!"
+        pretty RPOpt{}   = char '?'
+        pretty RPOptG{}  = text "?!"
+
+------------------------- Case bodies  -------------------------
+instance  Pretty (Alt l) where
+        pretty (Alt _pos e gAlts binds) =
+                pretty e <+> pretty (GuardedAlts gAlts) $$$ ppWhere binds
+
+------------------------- Statements in monads, guards & list comprehensions -----
+instance  Pretty (Stmt l) where
+        pretty (Generator _loc e from) =
+                pretty e <+> text "<-" <+> pretty from
+        pretty (Qualifier _ e) = pretty e
+        -- two cases for lets
+        pretty (LetStmt _ (BDecls _ declList)) =
+                ppLetStmt declList
+        pretty (LetStmt _ (IPBinds _ bindList)) =
+                ppLetStmt bindList
+        pretty (RecStmt _ stmtList) =
+                text "rec" $$$ ppBody letIndent (map pretty stmtList)
+
+ppLetStmt :: Pretty a => [a] -> Doc
+ppLetStmt l = text "let" $$$ ppBody letIndent (map pretty l)
+
+instance  Pretty (QualStmt l) where
+        pretty (QualStmt _ s) = pretty s
+        pretty (ThenTrans _ f)    = myFsep [text "then", pretty f]
+        pretty (ThenBy _ f e)  = myFsep [text "then", pretty f, text "by", pretty e]
+        pretty (GroupBy _ e)    = myFsep [text "then", text "group", text "by", pretty e]
+        pretty (GroupUsing _ f)    = myFsep [text "then", text "group", text "using", pretty f]
+        pretty (GroupByUsing _ e f)  = myFsep [text "then", text "group", text "by",
+                                                pretty e, text "using", pretty f]
+
+
+
+------------------------- Record updates
+instance  Pretty (FieldUpdate l) where
+        pretty (FieldUpdate _ name e) =
+                myFsep [pretty name, equals, pretty e]
+        pretty (FieldPun _ name) = pretty name
+        pretty (FieldWildcard {}) = text ".."
+
+------------------------- Names -------------------------
+instance  Pretty (QOp l) where
+        pretty (QVarOp _ n) = ppQNameInfix n
+        pretty (QConOp _ n) = ppQNameInfix n
+
+ppQNameInfix :: QName l -> Doc
+ppQNameInfix name
+        | isSymbolQName name = ppQName name
+        | otherwise = char '`' <> ppQName name <> char '`'
+
+instance  Pretty (QName l) where
+        pretty name = case name of
+                UnQual _ (Symbol _ ('#':_)) -> char '(' <+> ppQName name <+> char ')'
+                _ -> parensIf (isSymbolQName name) (ppQName name)
+
+ppQName :: QName l -> Doc
+ppQName (UnQual _ name) = ppName name
+ppQName (Qual _ m name) = pretty m <> char '.' <> ppName name
+ppQName (Special _ sym) = pretty sym
+
+instance  Pretty (Op l) where
+        pretty (VarOp _ n) = ppNameInfix n
+        pretty (ConOp _ n) = ppNameInfix n
+
+ppNameInfix :: Name l -> Doc
+ppNameInfix name
+        | isSymbolName name = ppName name
+        | otherwise = char '`' <> ppName name <> char '`'
+
+instance  Pretty (Name l) where
+        pretty name = case name of
+                Symbol _ ('#':_) -> char '(' <+> ppName name <+> char ')'
+                _ -> parensIf (isSymbolName name) (ppName name)
+
+ppName :: Name l -> Doc
+ppName (Ident _ s) = text s
+ppName (Symbol _ s) = text s
+
+instance  Pretty (IPName l) where
+        pretty (IPDup _ s) = char '?' <> text s
+        pretty (IPLin _ s) = char '%' <> text s
+
+instance  PrettyDeclLike (IPBind l) where
+  wantsBlankline _ = False
+
+instance  Pretty (IPBind l) where
+        pretty (IPBind _loc ipname exp) =
+                myFsep [pretty ipname, equals, pretty exp]
+
+instance  Pretty (CName l) where
+        pretty (VarName _ n) = pretty n
+        pretty (ConName _ n) = pretty n
+
+instance Pretty (SpecialCon l) where
+        pretty (UnitCon {})         = text "()"
+        pretty (ListCon {})         = text "[]"
+        pretty (FunCon  {})         = text "->"
+        pretty (TupleCon _ b n)   = listFun $ foldr (<>) empty (replicate (n-1) comma)
+          where listFun = if b == Unboxed then hashParens else parens
+        pretty (Cons {})             = text ":"
+        pretty (UnboxedSingleCon {}) = text "(# #)"
+
+isSymbolName :: Name l -> Bool
+isSymbolName (Symbol {}) = True
+isSymbolName _ = False
+
+isSymbolQName :: QName l -> Bool
+isSymbolQName (UnQual _ n)       = isSymbolName n
+isSymbolQName (Qual _ _ n)       = isSymbolName n
+isSymbolQName (Special _ (Cons {}))   = True
+isSymbolQName (Special _ (FunCon {})) = True
+isSymbolQName _                  = False
+
+getSpecialName :: QName l -> Maybe (SpecialCon l)
+getSpecialName (Special _ n) = Just n
+getSpecialName _           = Nothing
+
+-- Contexts are "sets" of assertions. Several members really means it's a
+-- CxTuple, but we can't represent that in our list of assertions.
+-- Therefore: print single member contexts without parenthesis, and treat
+--            larger contexts as tuples.
+instance (Pretty (Context l)) where
+  pretty (CxEmpty _)      = text "()" <+> text "=>"
+  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 (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
+  pretty srcLoc =
+    return $ P.hsep [ colonFollow (P.text $ srcFilename srcLoc)
+                    , colonFollow (P.int  $ srcLine     srcLoc)
+                    , P.int $ srcColumn srcLoc
+                    ]
+
+colonFollow :: P.Doc -> P.Doc
+colonFollow p = P.hcat [ p, P.colon ]
+
+
+instance Pretty SrcSpan where
+    pretty srcSpan =
+        return $ P.hsep [ colonFollow (P.text $ srcSpanFilename srcSpan)
+                        , P.hcat [ P.text "("
+                                 , P.int $ srcSpanStartLine srcSpan
+                                 , P.colon
+                                 , P.int $ srcSpanStartColumn srcSpan
+                                 , P.text ")"
+                                 ]
+                        , P.text "-"
+                        , P.hcat [ P.text "("
+                                 , P.int $ srcSpanEndLine srcSpan
+                                 , P.colon
+                                 , P.int $ srcSpanEndColumn srcSpan
+                                 , P.text ")"
+                                 ]
+                        ]
+
+---------------------------------------------------------------------
+-- Annotated version
+
+
+-------------------------  Pretty-Print a Module --------------------
+instance Pretty (Module pos) where
+        pretty (Module _ mbHead os imp decls) =
+                myVcat $ map pretty os ++
+                    (case mbHead of
+                        Nothing -> id
+                        Just h  -> \x -> [topLevel (pretty h) x])
+                    (map pretty imp ++
+                         ppDecls (isJust mbHead ||
+                                  not (null imp) ||
+                                  not (null os))
+                           decls)
+        pretty (XmlPage _ _mn os n attrs mattr cs) =
+                myVcat $ map pretty os ++
+                    [let ax = maybe [] (return . pretty) mattr
+                      in hcat $
+                         (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):
+                            map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]]
+        pretty (XmlHybrid _ mbHead os imp decls n attrs mattr cs) =
+                myVcat $ map pretty os ++ [text "<%"] ++
+                    (case mbHead of
+                        Nothing -> id
+                        Just h  -> \x -> [topLevel (pretty h) x])
+                    (map pretty imp ++
+                      ppDecls (isJust mbHead || not (null imp) || not (null os)) decls ++
+                        [let ax = maybe [] (return . pretty) mattr
+                          in hcat $
+                             (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):
+                                map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]])
+
+
+
+------------------------- pp utils -------------------------
+maybePP :: (a -> Doc) -> Maybe a -> Doc
+maybePP _  Nothing = empty
+maybePP pp (Just a) = pp a
+
+parenList :: [Doc] -> Doc
+parenList = parens . myFsepSimple . punctuate comma
+
+hashParenList :: [Doc] -> Doc
+hashParenList = hashParens . myFsepSimple . punctuate comma
+
+hashParens :: Doc -> Doc
+hashParens = parens . hashes
+  where
+    hashes doc = char '#' <+> doc <+> char '#'
+
+braceList :: [Doc] -> Doc
+braceList = braces . myFsepSimple . punctuate comma
+
+bracketList :: [Doc] -> Doc
+bracketList = brackets . myFsepSimple
+
+bracketColonList :: [Doc] -> Doc
+bracketColonList = bracketColons . myFsepSimple
+    where bracketColons = brackets . colons
+          colons doc = char ':' <> doc <> char ':'
+
+-- Wrap in braces and semicolons, with an extra space at the start in
+-- case the first doc begins with "-", which would be scanned as {-
+flatBlock :: [Doc] -> Doc
+flatBlock = braces . (space <>) . hsep . punctuate semi
+
+-- Same, but put each thing on a separate line
+prettyBlock :: [Doc] -> Doc
+prettyBlock = braces . (space <>) . vcat . punctuate semi
+
+-- Monadic PP Combinators -- these examine the env
+
+blankline :: Doc -> Doc
+blankline dl = do{e<-getPPEnv;if spacing e && layout e /= PPNoLayout
+                              then text "" $+$ dl else dl}
+topLevel :: Doc -> [Doc] -> Doc
+topLevel header dl = do
+         e <- fmap layout getPPEnv
+         case e of
+             PPOffsideRule -> header $$ vcat dl
+             PPSemiColon -> header $$ prettyBlock dl
+             PPInLine -> header $$ prettyBlock dl
+             PPNoLayout -> header <+> flatBlock dl
+
+ppBody :: (PPHsMode -> Int) -> [Doc] -> Doc
+ppBody f dl = do
+         e <- fmap layout getPPEnv
+         case e of PPOffsideRule -> indent
+                   PPSemiColon   -> indentExplicit
+                   _ -> flatBlock dl
+                   where
+                   indent  = do{i <-fmap f getPPEnv;nest i . vcat $ dl}
+                   indentExplicit = do {i <- fmap f getPPEnv;
+                           nest i . prettyBlock $ dl}
+
+-- | Indent without braces. Useful for deriving clauses etc.
+ppIndent :: (PPHsMode -> Int) -> [Doc] -> Doc
+ppIndent f dl = do
+            i <- fmap f getPPEnv
+            nest i . vcat $ dl
+
+($$$) :: Doc -> Doc -> Doc
+a $$$ b = layoutChoice (a $$) (a <+>) b
+
+mySep :: [Doc] -> Doc
+mySep = layoutChoice mySep' hsep
+        where
+        -- ensure paragraph fills with indentation.
+        mySep' [x]    = x
+        mySep' (x:xs) = x <+> fsep xs
+        mySep' []     = error "Internal error: mySep"
+
+myVcat :: [Doc] -> Doc
+myVcat = layoutChoice vcat hsep
+
+myFsepSimple :: [Doc] -> Doc
+myFsepSimple = layoutChoice fsep hsep
+
+-- same, except that continuation lines are indented,
+-- which is necessary to avoid triggering the offside rule.
+myFsep :: [Doc] -> Doc
+myFsep = layoutChoice fsep' hsep
+        where   fsep' [] = empty
+                fsep' (d:ds) = do
+                        e <- getPPEnv
+                        let n = onsideIndent e
+                        nest n (fsep (nest (-n) d:ds))
+
+layoutChoice :: (a -> Doc) -> (a -> Doc) -> a -> Doc
+layoutChoice a b dl = do e <- getPPEnv
+                         if layout e == PPOffsideRule ||
+                            layout e == PPSemiColon
+                          then a dl else b dl
+
+--------------------------------------------------------------------------------
+-- Pretty-printing of internal constructs, for error messages while parsing
+
+instance SrcInfo loc => Pretty (P.PExp loc) where
+        pretty (P.Lit _ l) = pretty l
+        pretty (P.InfixApp _ a op b) = myFsep [pretty a, pretty op, pretty b]
+        pretty (P.NegApp _ e) = myFsep [char '-', pretty e]
+        pretty (P.App _ a b) = myFsep [pretty a, pretty b]
+        pretty (P.Lambda _loc expList ppBody') = myFsep $
+                char '\\' : map pretty expList ++ [text "->", pretty ppBody']
+        pretty (P.Let _ (BDecls _ declList) letBody) =
+                ppLetExp declList letBody
+        pretty (P.Let _ (IPBinds _ bindList) letBody) =
+                ppLetExp bindList letBody
+        pretty (P.If _ cond thenexp elsexp) =
+                myFsep [text "if", pretty cond,
+                        text "then", pretty thenexp,
+                        text "else", pretty elsexp]
+        pretty (P.MultiIf _ alts) =
+                text "if"
+                $$$ ppBody caseIndent (map pretty alts)
+        pretty (P.Case _ cond altList) =
+                myFsep [text "case", pretty cond, text "of"]
+                $$$ ppBody caseIndent (map pretty altList)
+        pretty (P.Do _ stmtList) =
+                text "do" $$$ ppBody doIndent (map pretty stmtList)
+        pretty (P.MDo _ stmtList) =
+                text "mdo" $$$ ppBody doIndent (map pretty stmtList)
+        pretty (P.Var _ name) = pretty name
+        pretty (P.OverloadedLabel _ name) = text name
+        pretty (P.IPVar _ ipname) = pretty ipname
+        pretty (P.Con _ name) = pretty name
+        pretty (P.TupleSection _ bxd mExpList) =
+                let ds = map (maybePP pretty) mExpList
+                in case bxd of
+                       Boxed   -> parenList ds
+                       Unboxed -> hashParenList ds
+        pretty (P.Paren _ e) = parens . pretty $ e
+        pretty (P.RecConstr _ c fieldList) =
+                pretty c <> (braceList . map pretty $ fieldList)
+        pretty (P.RecUpdate _ e fieldList) =
+                pretty e <> (braceList . map pretty $ fieldList)
+        pretty (P.List _ list) =
+                bracketList . punctuate comma . map pretty $ list
+        pretty (P.ParArray _ arr) =
+                bracketColonList . punctuate comma . map pretty $ arr
+        pretty (P.EnumFrom _ e) =
+                bracketList [pretty e, text ".."]
+        pretty (P.EnumFromTo _ from to) =
+                bracketList [pretty from, text "..", pretty to]
+        pretty (P.EnumFromThen _ from thenE) =
+                bracketList [pretty from <> comma, pretty thenE, text ".."]
+        pretty (P.EnumFromThenTo _ from thenE to) =
+                bracketList [pretty from <> comma, pretty thenE,
+                             text "..", pretty to]
+        pretty (P.ParArrayFromTo _ from to) =
+                bracketColonList [pretty from, text "..", pretty to]
+        pretty (P.ParArrayFromThenTo _ from thenE to) =
+                bracketColonList [pretty from <> comma, pretty thenE,
+                             text "..", pretty to]
+        pretty (P.ParComp _ e qualLists) =
+                bracketList (intersperse (char '|') $
+                                pretty e : (punctuate comma . concatMap (map pretty) $ qualLists))
+        pretty (P.ParArrayComp _ e qualArrs) =
+                bracketColonList (intersperse (char '|') $
+                                pretty e : (punctuate comma . concatMap (map pretty) $ qualArrs))
+        pretty (P.ExpTypeSig _pos e ty) =
+                myFsep [pretty e, text "::", pretty ty]
+        pretty (P.BracketExp _ b) = pretty b
+        pretty (P.SpliceExp _ s) = pretty s
+        pretty (P.TypQuote _ t)  = text "\'\'" <> pretty t
+        pretty (P.VarQuote _ x)  = text "\'" <> pretty x
+        pretty (P.QuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")
+        pretty (P.XTag _ n attrs mattr cs) =
+                let ax = maybe [] (return . pretty) mattr
+                 in hcat $
+                     (myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [char '>']):
+                        map pretty cs ++ [myFsep [text "</" <> pretty n, char '>']]
+        pretty (P.XETag _ n attrs mattr) =
+                let ax = maybe [] (return . pretty) mattr
+                 in myFsep $ (char '<' <> pretty n): map pretty attrs ++ ax ++ [text "/>"]
+        pretty (P.XPcdata _ s) = text s
+        pretty (P.XExpTag _ e) =
+                myFsep [text "<%", pretty e, text "%>"]
+        pretty (P.XChildTag _ es) =
+                myFsep $ text "<%>" : map pretty es ++ [text "</%>"]
+        pretty (P.CorePragma _ s e) = myFsep $ map text ["{-# CORE", show s, "#-}"] ++ [pretty e]
+        pretty (P.SCCPragma  _ s e) = myFsep $ map text ["{-# SCC",  show s, "#-}"] ++ [pretty e]
+        pretty (P.GenPragma  _ s (a,b) (c,d) e) =
+                myFsep [text "{-# GENERATED", text $ show s,
+                            int a, char ':', int b, char '-',
+                            int c, char ':', int d, text "#-}", pretty e]
+        pretty (P.Proc _ p e) = myFsep [text "proc", pretty p, text "->", pretty e]
+        pretty (P.LeftArrApp _ l r)      = myFsep [pretty l, text "-<",  pretty r]
+        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.AsPat _ name (P.IrrPat _ pat)) =
+                myFsep [pretty name <> char '@', char '~' <> pretty pat]
+        pretty (P.AsPat _ name pat) =
+                hcat [pretty name, char '@', pretty pat]
+        pretty (P.WildCard _) = char '_'
+        pretty (P.IrrPat _ pat) = char '~' <> pretty pat
+        pretty (P.PostOp _ e op) = pretty e <+> pretty op
+        pretty (P.PreOp _ op e)  = pretty op <+> pretty e
+        pretty (P.ViewPat _ e p) =
+                myFsep [pretty e, text "->", pretty p]
+        pretty (P.SeqRP _ rs) =
+            myFsep $ text "(|" : (punctuate comma . map pretty $ rs) ++ [text "|)"]
+        pretty (P.GuardRP _ r gs) =
+                myFsep $ text "(|" : pretty r : char '|' :
+                           (punctuate comma . map pretty $ gs) ++ [text "|)"]
+        pretty (P.EitherRP _ r1 r2) = parens . myFsep $ [pretty r1, char '|', pretty r2]
+        pretty (P.CAsRP _ n (P.IrrPat _ e)) =
+                myFsep [pretty n <> text "@:", char '~' <> pretty e]
+        pretty (P.CAsRP _ n r) = hcat [pretty n, text "@:", pretty r]
+        pretty (P.XRPats _ ps) =
+                myFsep $ text "<[" : map pretty ps ++ [text "%>"]
+        pretty (P.BangPat _ e) = text "!" <> pretty e
+        pretty (P.LCase _ altList) = text "\\case" $$$ ppBody caseIndent (map pretty altList)
+        pretty (P.TypeApp _ ty) = char '@' <> pretty ty
+
+instance SrcInfo loc => Pretty (P.PFieldUpdate loc) where
+        pretty (P.FieldUpdate _ name e) =
+                myFsep [pretty name, equals, pretty e]
+        pretty (P.FieldPun _ name) = pretty name
+        pretty (P.FieldWildcard _) = text ".."
+
+instance SrcInfo loc => Pretty (P.ParseXAttr loc) where
+        pretty (P.XAttr _ n v) =
+                myFsep [pretty n, char '=', pretty v]
+
+instance SrcInfo loc => Pretty (P.PContext loc) where
+        pretty (P.CxEmpty _) = mySep [text "()", text "=>"]
+        pretty (P.CxSingle _ asst) = mySep [pretty asst, text "=>"]
+        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.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 (P.TyFun _ a b) = parensIf (p > 0) $
+                myFsep [prettyPrec prec_btype a, text "->", pretty b]
+        prettyPrec _ (P.TyTuple _ bxd l) =
+                let ds = map pretty l
+                 in case bxd of
+                        Boxed   -> parenList ds
+                        Unboxed -> hashParenList ds
+        prettyPrec _ (P.TyList _ t)  = brackets $ pretty t
+        prettyPrec _ (P.TyParArray _ t) = bracketColonList [pretty t]
+        prettyPrec p (P.TyApp _ a b) =
+                {-
+                | a == list_tycon = brackets $ pretty b         -- special case
+                | otherwise = -} parensIf (p > prec_btype) $
+                                    myFsep [pretty a, prettyPrec prec_atype b]
+        prettyPrec _ (P.TyVar _ name) = pretty name
+        prettyPrec _ (P.TyCon _ name) = pretty name
+        prettyPrec _ (P.TyParen _ t) = parens (pretty t)
+        prettyPrec _ (P.TyPred _ asst) = pretty asst
+        prettyPrec _ (P.TyInfix _ a op b) = myFsep [pretty a, ppQNameInfix op, pretty b]
+        prettyPrec _ (P.TyKind _ t k) = parens (myFsep [pretty t, text "::", pretty k])
+        prettyPrec _ (P.TyPromoted _ p) = pretty p
+        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
+        prettyPrec _ (P.TyQuasiQuote _ n qt) = text ("[$" ++ n ++ "|" ++ qt ++ "|]")
diff --git a/src/Language/Haskell/Exts/SrcLoc.hs b/src/Language/Haskell/Exts/SrcLoc.hs
--- a/src/Language/Haskell/Exts/SrcLoc.hs
+++ b/src/Language/Haskell/Exts/SrcLoc.hs
@@ -107,6 +107,11 @@
 noInfoSpan :: SrcSpan -> SrcSpanInfo
 noInfoSpan ss = SrcSpanInfo ss []
 
+-- | A bogus `SrcSpanInfo`, the location is @noLoc@.
+-- `noSrcSpan = noInfoSpan (mkSrcSpan noLoc noLoc)`
+noSrcSpan :: SrcSpanInfo
+noSrcSpan = noInfoSpan (mkSrcSpan noLoc noLoc)
+
 -- | Generate a 'SrcSpanInfo' with the supplied positional information for entities.
 infoSpan :: SrcSpan -> [SrcSpan] -> SrcSpanInfo
 infoSpan = SrcSpanInfo
diff --git a/src/Language/Haskell/Exts/Syntax.hs b/src/Language/Haskell/Exts/Syntax.hs
--- a/src/Language/Haskell/Exts/Syntax.hs
+++ b/src/Language/Haskell/Exts/Syntax.hs
@@ -1,866 +1,1903 @@
-{-# LANGUAGE DeriveDataTypeable, DeriveGeneric #-}
------------------------------------------------------------------------------
--- |
--- Module      :  Language.Haskell.Exts.Syntax
--- Copyright   :  (c) Niklas Broberg 2004-2009,
---                (c) The GHC Team, 1997-2000
--- License     :  BSD-style (see the file LICENSE.txt)
---
--- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
--- Stability   :  stable
--- Portability :  portable
---
--- A suite of datatypes describing the abstract syntax of Haskell 98
--- <http://www.haskell.org/onlinereport/> plus registered extensions, including:
---
---   * multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)
---
---   * parameters of type class assertions are unrestricted (FlexibleContexts)
---
---   * 'forall' types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)
---
---   * pattern guards (PatternGuards)
---
---   * implicit parameters (ImplicitParameters)
---
---   * generalised algebraic data types (GADTs)
---
---   * template haskell (TemplateHaskell)
---
---   * empty data type declarations (EmptyDataDecls)
---
---   * unboxed tuples (UnboxedTuples)
---
---   * regular patterns (RegularPatterns)
---
---   * HSP-style XML expressions and patterns (XmlSyntax)
---
------------------------------------------------------------------------------
-
-module Language.Haskell.Exts.Syntax (
-    -- * Modules
-    Module(..), WarningText(..), ExportSpec(..),
-    ImportDecl(..), ImportSpec(..), Assoc(..), Namespace(..),
-    -- * Declarations
-    Decl(..), Binds(..), IPBind(..), PatternSynDirection(..),
-    -- ** Type classes and instances
-    ClassDecl(..), InstDecl(..), Deriving,
-    -- ** Data type declarations
-    DataOrNew(..), ConDecl(..), QualConDecl(..), GadtDecl(..), BangType(..),
-    -- ** Function bindings
-    Match(..), Rhs(..), GuardedRhs(..),
-    -- * Class Assertions and Contexts
-    Context, FunDep(..), Asst(..),
-    -- * Types
-    Type(..), Boxed(..), Kind(..), TyVarBind(..), Promoted(..),
-    TypeEqn (..),
-    -- * Expressions
-    Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),
-    Alt(..), XAttr(..),
-    -- * Patterns
-    Pat(..), PatField(..), PXAttr(..), RPat(..), RPatOp(..),
-    -- * Literals
-    Literal(..), Sign(..),
-    -- * Variables, Constructors and Operators
-    ModuleName(..), QName(..), Name(..), QOp(..), Op(..),
-    SpecialCon(..), CName(..), IPName(..), XName(..), Role(..),
-
-    -- * Template Haskell
-    Bracket(..), Splice(..),
-
-    -- * FFI
-    Safety(..), CallConv(..),
-
-    -- * Pragmas
-    ModulePragma(..), Tool(..), Overlap(..),
-    Rule(..), RuleVar(..), Activation(..),
-    Annotation(..), BooleanFormula(..),
-
-    -- * Builtin names
-
-    -- ** Modules
-    prelude_mod, main_mod,
-    -- ** Main function of a program
-    main_name,
-    -- ** Constructors
-    unit_con_name, tuple_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,
-    -- ** 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,
-
-    -- * Source coordinates
-    SrcLoc(..),
-  ) where
-
-
-import Data.Data
-import GHC.Generics (Generic)
-import Language.Haskell.Exts.SrcLoc (SrcLoc(..))
-import Language.Haskell.Exts.Annotated.Syntax (Boxed(..), Tool(..))
-
-
--- | The name of a Haskell module.
-newtype ModuleName = ModuleName String
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Constructors with special syntax.
--- These names are never qualified, and always refer to builtin type or
--- data constructors.
-data SpecialCon
-    = UnitCon               -- ^ unit type and data constructor @()@
-    | ListCon               -- ^ list type constructor @[]@
-    | FunCon                -- ^ function type constructor @->@
-    | TupleCon Boxed Int    -- ^ /n/-ary tuple type and data
-                            --   constructors @(,)@ etc, possibly boxed @(\#,\#)@
-    | Cons                  -- ^ list data constructor @(:)@
-    | UnboxedSingleCon      -- ^ unboxed singleton tuple constructor @(\# \#)@
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | This type is used to represent qualified variables, and also
---   qualified constructors.
-data QName
-    = Qual ModuleName Name    -- ^ name qualified with a module name
-    | UnQual Name             -- ^ unqualified local name
-    | Special SpecialCon      -- ^ built-in constructor with special syntax
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | This type is used to represent variables, and also constructors.
-data Name
-    = Ident String    -- ^ /varid/ or /conid/.
-    | Symbol String   -- ^ /varsym/ or /consym/
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An implicit parameter name.
-data IPName
-    = IPDup String -- ^ ?/ident/, non-linear implicit parameter
-    | IPLin String -- ^ %/ident/, linear implicit parameter
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Possibly qualified infix operators (/qop/), appearing in expressions.
-data QOp
-    = QVarOp QName  -- ^ variable operator (/qvarop/)
-    | QConOp QName  -- ^ constructor operator (/qconop/)
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Operators appearing in @infix@ declarations are never qualified.
-data Op
-    = VarOp Name    -- ^ variable operator (/varop/)
-    | ConOp Name    -- ^ constructor operator (/conop/)
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A name (/cname/) of a component of a class or data type in an @import@
---   or export specification.
-data CName
-    = VarName Name  -- ^ name of a method or field
-    | ConName Name  -- ^ name of a data constructor
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A complete Haskell source module.
-data Module = Module SrcLoc ModuleName [ModulePragma] (Maybe WarningText)
-                        (Maybe [ExportSpec]) [ImportDecl] [Decl]
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An item in a module's export specification.
-data ExportSpec
-     = EVar QName                   -- ^ variable.
-     | EAbs Namespace QName         -- ^ @T@:
-                                    --   a class or datatype exported abstractly,
-                                    --   or a type synonym.
-     | EThingAll QName              -- ^ @T(..)@:
-                                    --   a class exported with all of its methods, or
-                                    --   a datatype exported with all of its constructors.
-     | EThingWith QName [CName]     -- ^ @T(C_1,...,C_n)@:
-                                    --   a class exported with some of its methods, or
-                                    --   a datatype exported with some of its constructors.
-     | EModuleContents ModuleName   -- ^ @module M@:
-                                    --   re-export a module.
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Namespaces for imports/exports.
-data Namespace = NoNamespace | TypeNamespace | PatternNamespace
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An import declaration.
-data ImportDecl = ImportDecl
-    { importLoc :: SrcLoc           -- ^ position of the @import@ keyword.
-    , importModule :: ModuleName    -- ^ name of the module imported.
-    , importQualified :: Bool       -- ^ imported @qualified@?
-    , importSrc :: Bool             -- ^ imported with @{-\# SOURCE \#-}@?
-    , importSafe :: Bool            -- ^ Import @safe@?
-    , importPkg :: Maybe String     -- ^ imported with explicit package name
-    , importAs :: Maybe ModuleName  -- ^ optional alias name in an @as@ clause.
-    , importSpecs :: Maybe (Bool,[ImportSpec])
-            -- ^ optional list of import specifications.
-            -- The 'Bool' is 'True' if the names are excluded
-            -- by @hiding@.
-    }
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An import specification, representing a single explicit item imported
---   (or hidden) from a module.
-data ImportSpec
-     = IVar Name                -- ^ variable.
-     | IAbs Namespace Name      -- ^ @T@:
-                                --   the name of a class, datatype or type synonym.
-     | IThingAll Name           -- ^ @T(..)@:
-                                --   a class imported with all of its methods, or
-                                --   a datatype imported with all of its constructors.
-     | IThingWith Name [CName]  -- ^ @T(C_1,...,C_n)@:
-                                --   a class imported with some of its methods, or
-                                --   a datatype imported with some of its constructors.
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Associativity of an operator.
-data Assoc
-     = AssocNone  -- ^ non-associative operator (declared with @infix@)
-     | AssocLeft  -- ^ left-associative operator (declared with @infixl@).
-     | AssocRight -- ^ right-associative operator (declared with @infixr@)
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A single derived instance, which may have arguments since it may be a MPTC.
-type Deriving = (QName, [Type])
-
--- | A top-level declaration.
-data Decl
-     = TypeDecl     SrcLoc Name [TyVarBind] Type
-     -- ^ A type declaration
-     | TypeFamDecl  SrcLoc Name [TyVarBind] (Maybe Kind)
-     -- ^ A type family declaration
-     | ClosedTypeFamDecl  SrcLoc Name [TyVarBind] (Maybe Kind) [TypeEqn]
-     -- ^ A closed type family declaration
-     | DataDecl     SrcLoc DataOrNew Context Name [TyVarBind]              [QualConDecl] [Deriving]
-     -- ^ A data OR newtype declaration
-     | GDataDecl    SrcLoc DataOrNew Context Name [TyVarBind] (Maybe Kind) [GadtDecl]    [Deriving]
-     -- ^ A data OR newtype declaration, GADT style
-     | DataFamDecl  SrcLoc {-data-}  Context Name [TyVarBind] (Maybe Kind)
-     -- ^ A data family declaration
-     | TypeInsDecl  SrcLoc Type Type
-     -- ^ A type family instance declaration
-     | DataInsDecl  SrcLoc DataOrNew Type              [QualConDecl] [Deriving]
-     -- ^ A data family instance declaration
-     | GDataInsDecl SrcLoc DataOrNew Type (Maybe Kind) [GadtDecl]    [Deriving]
-     -- ^ A data family instance declaration, GADT style
-     | ClassDecl    SrcLoc Context Name [TyVarBind] [FunDep] [ClassDecl]
-     -- ^ A declaration of a type class
-     | InstDecl     SrcLoc (Maybe Overlap) [TyVarBind] Context QName [Type] [InstDecl]
-     -- ^ An declaration of a type class instance
-     | DerivDecl    SrcLoc (Maybe Overlap) [TyVarBind] Context QName [Type]
-     -- ^ A standalone deriving declaration
-     | InfixDecl    SrcLoc Assoc Int [Op]
-     -- ^ A declaration of operator fixity
-     | DefaultDecl  SrcLoc [Type]
-     -- ^ A declaration of default types
-     | SpliceDecl   SrcLoc Exp
-     -- ^ A Template Haskell splicing declaration
-     | TypeSig      SrcLoc [Name] Type
-     -- ^ A type signature declaration
-     | PatSynSig    SrcLoc Name (Maybe [TyVarBind]) Context Context Type
-     -- ^ Pattern Synonym Signature
-     | FunBind      [Match]
-     -- ^ A set of function binding clauses
-     | PatBind      SrcLoc Pat Rhs {-where-} (Maybe Binds)
-     -- ^ A pattern binding
-     | ForImp   SrcLoc CallConv Safety String Name Type
-     -- ^ A foreign import declaration
-     | ForExp   SrcLoc CallConv          String Name Type
-     -- ^ A foreign export declaration
-     | PatSyn   SrcLoc Pat Pat PatternSynDirection
-
-     | RulePragmaDecl   SrcLoc [Rule]
-     -- ^ A RULES pragma
-     | DeprPragmaDecl   SrcLoc [([Name], String)]
-     -- ^ A DEPRECATED pragma
-     | WarnPragmaDecl   SrcLoc [([Name], String)]
-     -- ^ A WARNING pragma
-     | InlineSig        SrcLoc Bool Activation QName
-     -- ^ An INLINE pragma
-     | InlineConlikeSig SrcLoc      Activation QName
-     -- ^ An INLINE CONLIKE pragma
-     | SpecSig          SrcLoc      Activation QName [Type]
-     -- ^ A SPECIALISE pragma
-     | SpecInlineSig    SrcLoc Bool Activation QName [Type]
-     -- ^ A SPECIALISE INLINE pragma
-     | InstSig          SrcLoc [TyVarBind] Context QName [Type]
-     -- ^ A SPECIALISE instance pragma
-     | AnnPragma        SrcLoc Annotation
-     -- ^ An ANN pragma
-     | MinimalPragma    SrcLoc (Maybe BooleanFormula)
-     -- ^ A MINIMAL pragma
-     | RoleAnnotDecl    SrcLoc QName [Role]
-     -- ^ A role annotation
-
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
-data  PatternSynDirection =
-      Unidirectional -- ^ A unidirectional pattern synonym with "<-"
-    | ImplicitBidirectional  -- ^ A bidirectional pattern synonym with "="
-    | ExplicitBidirectional [Decl]  -- ^ A birectional pattern synonym with the construction specified.
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A type equation of the form @rhs = lhs@ used in closed type families.
-data TypeEqn = TypeEqn Type Type deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An annotation through an ANN pragma.
-data Annotation
-    = Ann       Name Exp
-    -- ^ An annotation for a declared name.
-    | TypeAnn   Name Exp
-    -- ^ An annotation for a declared type.
-    | ModuleAnn      Exp
-    -- ^ An annotation for the defining module.
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A boolean formula for MINIMAL pragmas.
-data BooleanFormula
-    = VarFormula Name                -- ^ A variable.
-    | AndFormula [BooleanFormula]    -- ^ And boolean formulas.
-    | OrFormula [BooleanFormula]     -- ^ Or boolean formulas.
-    | ParenFormula BooleanFormula    -- ^ Parenthesized boolean formulas.
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
-data Role
-  = Nominal
-  | Representational
-  | Phantom
-  | RoleWildcard
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A flag stating whether a declaration is a data or newtype declaration.
-data DataOrNew = DataType | NewType
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A binding group inside a @let@ or @where@ clause.
-data Binds
-    = BDecls [Decl]     -- ^ An ordinary binding group
-    | IPBinds [IPBind]  -- ^ A binding group for implicit parameters
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A binding of an implicit parameter.
-data IPBind = IPBind SrcLoc IPName Exp
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Clauses of a function binding.
-data Match
-     = Match SrcLoc Name [Pat] (Maybe Type) Rhs {-where-} (Maybe Binds)
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A single constructor declaration within a data type declaration,
---   which may have an existential quantification binding.
-data QualConDecl
-    = QualConDecl SrcLoc
-        {-forall-} [TyVarBind] {- . -} Context
-        {- => -} ConDecl
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Declaration of an ordinary data constructor.
-data ConDecl
-     = ConDecl Name [Type]
-                -- ^ ordinary data constructor
-     | InfixConDecl Type Name Type
-                -- ^ infix data constructor
-     | RecDecl Name [([Name],Type)]
-                -- ^ record constructor
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A single constructor declaration in a GADT data type declaration.
-data GadtDecl
-    = GadtDecl SrcLoc Name [([Name], Type)] Type
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Declarations inside a class declaration.
-data ClassDecl
-    = ClsDecl    Decl
-            -- ^ ordinary declaration
-    | ClsDataFam SrcLoc Context Name [TyVarBind] (Maybe Kind)
-            -- ^ declaration of an associated data type
-    | ClsTyFam   SrcLoc         Name [TyVarBind] (Maybe Kind)
-            -- ^ declaration of an associated type synonym
-    | ClsTyDef   SrcLoc Type    Type
-            -- ^ default choice for an associated type synonym
-    | ClsDefSig  SrcLoc Name Type
-            -- ^ default signature
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Declarations inside an instance declaration.
-data InstDecl
-    = InsDecl   Decl
-            -- ^ ordinary declaration
-    | InsType   SrcLoc Type Type
-            -- ^ an associated type definition
-    | InsData   SrcLoc DataOrNew Type [QualConDecl] [Deriving]
-            -- ^ an associated data type implementation
-    | InsGData  SrcLoc DataOrNew Type (Maybe Kind) [GadtDecl] [Deriving]
-            -- ^ an associated data type implemented using GADT style
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | The type of a constructor argument or field, optionally including
---   a strictness annotation.
-data BangType
-     = BangedTy    -- ^ strict component, marked with \"@!@\"
-     | UnpackedTy  -- ^ unboxed component, marked with an UNPACK pragma
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | The right hand side of a function binding, pattern binding, or a case
---   alternative.
-data Rhs
-     = UnGuardedRhs Exp -- ^ unguarded right hand side (/exp/)
-     | GuardedRhss  [GuardedRhs]
-                        -- ^ guarded right hand side (/gdrhs/)
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A guarded right hand side @|@ /stmts/ @=@ /exp/, or @|@ /stmts/ @->@ /exp/
---   for case alternatives.
---   The guard is a series of statements when using pattern guards,
---   otherwise it will be a single qualifier expression.
-data GuardedRhs
-     = GuardedRhs SrcLoc [Stmt] Exp
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A type qualified with a context.
---   An unqualified type has an empty context.
-data Type
-     = TyForall
-        (Maybe [TyVarBind])
-        Context
-        Type                    -- ^ qualified type
-     | TyFun   Type Type        -- ^ function type
-     | TyTuple Boxed [Type]     -- ^ tuple type, possibly boxed
-     | TyList  Type             -- ^ list syntax, e.g. [a], as opposed to [] a
-     | TyParArray Type          -- ^ parallel array syntax, e.g. [:a:]
-     | TyApp   Type Type        -- ^ application of a type constructor
-     | TyVar   Name             -- ^ type variable
-     | TyCon   QName            -- ^ named type or type constructor
-     | TyParen Type             -- ^ type surrounded by parentheses
-     | TyInfix Type QName Type  -- ^ infix type constructor
-     | TyKind  Type Kind        -- ^ type with explicit kind signature
-     | TyPromoted Promoted      -- ^ promoted data type (-XDataKinds)
-     | TyEquals Type Type       -- ^ type equality predicate enabled by ConstraintKinds
-     | TySplice Splice          -- ^ template haskell splice type
-     | TyBang BangType Type     -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.
-     | TyWildCard (Maybe Name)  -- ^ Type wildcard
-  deriving (Eq,Ord,Show,Typeable,Data)
-
-data Promoted
-        = PromotedInteger Integer
-        | PromotedString String
-        | PromotedCon Bool QName
-        | PromotedList Bool [Type]
-        | PromotedTuple [Type]
-        | PromotedUnit
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A type variable declaration, optionally with an explicit kind annotation.
-data TyVarBind
-    = KindedVar Name Kind   -- ^ variable binding with kind annotation
-    | UnkindedVar Name      -- ^ ordinary variable binding
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An explicit kind annotation.
-data Kind
-    = KindStar          -- ^ @*@, the kind of types
-    | KindFn Kind Kind  -- ^ @->@, the kind of a type constructor
-    | KindParen Kind    -- ^ a kind surrounded by parentheses
-    | KindVar QName     -- ^ a kind variable (as of yet unsupported by compilers)
-    | KindApp Kind Kind -- ^ @k1 k2@
-    | KindTuple [Kind]  -- ^ @(k1,k2,k3)@, kind of a promoted tuple
-    | KindList Kind     -- ^ @[k1]@, kind of a promoted list
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
-
--- | A functional dependency, given on the form
---   l1 l2 ... ln -> r2 r3 .. rn
-data FunDep
-    = FunDep [Name] [Name]
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A context is a set of assertions
-type Context = [Asst]
-
--- | 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 = ClassA QName [Type]     -- ^ ordinary class assertion
-          | AppA Name [Type]        -- ^ constraint kind assertion, @Dict :: cxt a => Dict cxt@
-          | InfixA Type QName Type  -- ^ class assertion where the class name is given infix
-          | IParam IPName Type      -- ^ implicit parameter assertion
-          | EqualP Type   Type      -- ^ type equality constraint
-          | ParenA Asst             -- ^ parenthesised class assertion
-          | WildCardA (Maybe Name) -- ^ A wildcard
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | /literal/
--- Values of this type hold the abstract value of the literal, not the
--- precise string representation used.  For example, @10@, @0o12@ and @0xa@
--- have the same representation.
-data Literal
-    = Char    Char          -- ^ character literal
-    | String  String        -- ^ string literal
-    | Int     Integer       -- ^ integer literal
-    | Frac    Rational      -- ^ floating point literal
-    | PrimInt    Integer    -- ^ unboxed integer literal
-    | PrimWord   Integer    -- ^ unboxed word literal
-    | PrimFloat  Rational   -- ^ unboxed float literal
-    | PrimDouble Rational   -- ^ unboxed double literal
-    | PrimChar   Char       -- ^ unboxed character literal
-    | PrimString String     -- ^ unboxed string literal
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An indication whether a literal pattern has been negated or not.
-data Sign
-    = Signless
-    | Negative
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Haskell expressions.
-data Exp
-    = Var QName                 -- ^ variable
-    | IPVar IPName              -- ^ implicit parameter variable
-    | Con QName                 -- ^ data constructor
-    | Lit Literal               -- ^ literal constant
-    | InfixApp Exp QOp Exp      -- ^ infix application
-    | App Exp Exp               -- ^ ordinary application
-    | NegApp Exp                -- ^ negation expression @-/exp/@ (unary minus)
-    | Lambda SrcLoc [Pat] Exp   -- ^ lambda expression
-    | Let Binds Exp             -- ^ local declarations with @let@ ... @in@ ...
-    | If Exp Exp Exp            -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/
-    | MultiIf [GuardedRhs]      -- ^ @if@ @|@ /exp/ @->@ /exp/ ...
-    | Case Exp [Alt]            -- ^ @case@ /exp/ @of@ /alts/
-    | Do [Stmt]                 -- ^ @do@-expression:
-                                --   the last statement in the list
-                                --   should be an expression.
-    | MDo [Stmt]                -- ^ @mdo@-expression
-    | Tuple Boxed [Exp]         -- ^ tuple expression
-    | TupleSection Boxed [Maybe Exp]  -- ^ tuple section expression, e.g. @(,,3)@
-    | List [Exp]                -- ^ list expression
-    | ParArray [Exp]            -- ^ parallel array expression
-    | Paren Exp                 -- ^ parenthesised expression
-    | LeftSection Exp QOp       -- ^ left section @(@/exp/ /qop/@)@
-    | RightSection QOp Exp      -- ^ right section @(@/qop/ /exp/@)@
-    | RecConstr QName [FieldUpdate]
-                                -- ^ record construction expression
-    | RecUpdate Exp [FieldUpdate]
-                                -- ^ record update expression
-    | EnumFrom Exp              -- ^ unbounded arithmetic sequence,
-                                --   incrementing by 1: @[from ..]@
-    | EnumFromTo Exp Exp        -- ^ bounded arithmetic sequence,
-                                --   incrementing by 1 @[from .. to]@
-    | EnumFromThen Exp Exp      -- ^ unbounded arithmetic sequence,
-                                --   with first two elements given @[from, then ..]@
-    | EnumFromThenTo Exp Exp Exp
-                                -- ^ bounded arithmetic sequence,
-                                --   with first two elements given @[from, then .. to]@
-    | ParArrayFromTo Exp Exp    -- ^ bounded arithmetic sequence,
-                                --   incrementing by 1 @[from .. to]@
-    | ParArrayFromThenTo Exp Exp Exp
-                                -- ^ bounded arithmetic sequence,
-                                --   with first two elements given @[from, then .. to]@
-    | ListComp Exp  [QualStmt]    -- ^ ordinary list comprehension
-    | ParComp  Exp [[QualStmt]]   -- ^ parallel list comprehension
-    | ParArrayComp  Exp [[QualStmt]]
-                                  -- ^ parallel array comprehension
-    | ExpTypeSig SrcLoc Exp Type  -- ^ expression with explicit type signature
-
-    | VarQuote QName            -- ^ @'x@ for template haskell reifying of expressions
-    | TypQuote QName            -- ^ @''T@ for template haskell reifying of types
-    | BracketExp Bracket        -- ^ template haskell bracket expression
-    | SpliceExp Splice          -- ^ template haskell splice expression
-    | QuasiQuote String String  -- ^ quasi-quotaion: @[$/name/| /string/ |]@
-
--- Hsx
-    | XTag SrcLoc XName [XAttr] (Maybe Exp) [Exp]
-                                -- ^ xml element, with attributes and children
-    | XETag SrcLoc XName [XAttr] (Maybe Exp)
-                                -- ^ empty xml element, with attributes
-    | XPcdata String            -- ^ PCDATA child element
-    | XExpTag Exp               -- ^ escaped haskell expression inside xml
-    | XChildTag SrcLoc [Exp]    -- ^ children of an xml element
-
--- Pragmas
-    | CorePragma        String Exp      -- ^ CORE pragma
-    | SCCPragma         String Exp      -- ^ SCC pragma
-    | GenPragma         String (Int, Int) (Int, Int) Exp
-                                        -- ^ GENERATED pragma
-
--- Arrows
-    | Proc SrcLoc     Pat Exp   -- ^ arrows proc: @proc@ /pat/ @->@ /exp/
-    | LeftArrApp      Exp Exp   -- ^ arrow application (from left): /exp/ @-<@ /exp/
-    | RightArrApp     Exp Exp   -- ^ arrow application (from right): /exp/ @>-@ /exp/
-    | LeftArrHighApp  Exp Exp   -- ^ higher-order arrow application (from left): /exp/ @-<<@ /exp/
-    | RightArrHighApp Exp Exp   -- ^ higher-order arrow application (from right): /exp/ @>>-@ /exp/
-
--- LambdaCase
-    | LCase [Alt] -- ^ @\case@ /alts/
-
--- Holes
-    | ExprHole                  -- ^ Expression hole
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | The name of an xml element or attribute,
---   possibly qualified with a namespace.
-data XName
-    = XName String              -- <name ...
-    | XDomName String String    -- <dom:name ...
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An xml attribute, which is a name-expression pair.
-data XAttr = XAttr XName Exp
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A template haskell bracket expression.
-data Bracket
-    = ExpBracket Exp        -- ^ expression bracket: @[| ... |]@
-    | PatBracket Pat        -- ^ pattern bracket: @[p| ... |]@
-    | TypeBracket Type      -- ^ type bracket: @[t| ... |]@
-    | DeclBracket [Decl]    -- ^ declaration bracket: @[d| ... |]@
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A template haskell splice expression
-data Splice
-    = IdSplice String       -- ^ variable splice: @$var@
-    | ParenSplice Exp       -- ^ parenthesised expression splice: @$(/exp/)@
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | The safety of a foreign function call.
-data Safety
-    = PlayRisky         -- ^ unsafe
-    | PlaySafe Bool     -- ^ safe ('False') or threadsafe ('True')
-    | PlayInterruptible -- ^ interruptible
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | The calling convention of a foreign function call.
-data CallConv
-    = StdCall
-    | CCall
-    | CPlusPlus
-    | DotNet
-    | Jvm
-    | Js
-    | JavaScript
-    | CApi
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A top level options pragma, preceding the module header.
-data ModulePragma
-    = LanguagePragma   SrcLoc [Name]    -- ^ LANGUAGE pragma
-    | OptionsPragma    SrcLoc (Maybe Tool) String
-                        -- ^ OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC
-    | AnnModulePragma  SrcLoc Annotation
-                        -- ^ ANN pragma with module scope
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Recognised overlaps for overlap pragmas.
-data Overlap
-    = NoOverlap   -- ^ NO_OVERLAP pragma
-    | Overlap     -- ^ OVERLAP pragma
-    | Incoherent  -- ^ INCOHERENT pragma
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Activation clause of a RULES pragma.
-data Activation
-    = AlwaysActive
-    | ActiveFrom  Int
-    | ActiveUntil Int
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | The body of a RULES pragma.
-data Rule
-    = Rule String Activation (Maybe [RuleVar]) Exp Exp
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Variables used in a RULES pragma, optionally annotated with types
-data RuleVar
-    = RuleVar Name
-    | TypedRuleVar Name Type
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | Warning text to optionally use in the module header of e.g.
---   a deprecated module.
-data WarningText
-    = DeprText String
-    | WarnText String
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
-
--- | A pattern, to be matched against a value.
-data Pat
-    = PVar Name                     -- ^ variable
-    | PLit Sign Literal             -- ^ literal constant
-    | PNPlusK Name Integer          -- ^ n+k pattern
-    | PInfixApp Pat QName Pat       -- ^ pattern with an infix data constructor
-    | PApp QName [Pat]              -- ^ data constructor and argument patterns
-    | PTuple Boxed [Pat]            -- ^ tuple pattern
-    | PList [Pat]                   -- ^ list pattern
-    | PParen Pat                    -- ^ parenthesized pattern
-    | PRec QName [PatField]         -- ^ labelled pattern, record style
-    | PAsPat Name Pat               -- ^ @\@@-pattern
-    | PWildCard                     -- ^ wildcard pattern: @_@
-    | PIrrPat Pat                   -- ^ irrefutable pattern: @~/pat/@
-    | PatTypeSig SrcLoc Pat Type    -- ^ pattern with type signature
-    | PViewPat Exp Pat              -- ^ view patterns of the form @(/exp/ -> /pat/)@
-    | PRPat [RPat]                  -- ^ regular list pattern
-    | PXTag SrcLoc XName [PXAttr] (Maybe Pat) [Pat]
-                                    -- ^ XML element pattern
-    | PXETag SrcLoc XName [PXAttr] (Maybe Pat)
-                                    -- ^ XML singleton element pattern
-    | PXPcdata String               -- ^ XML PCDATA pattern
-    | PXPatTag Pat                  -- ^ XML embedded pattern
-    | PXRPats [RPat]                -- ^ XML regular list pattern
-    | PQuasiQuote String String     -- ^ quasi quote patter: @[$/name/| /string/ |]@
-    | PBangPat Pat                  -- ^ strict (bang) pattern: @f !x = ...@
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An XML attribute in a pattern.
-data PXAttr = PXAttr XName Pat
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A regular pattern operator.
-data RPatOp
-    = RPStar    -- ^ @*@ = 0 or more
-    | RPStarG   -- ^ @*!@ = 0 or more, greedy
-    | RPPlus    -- ^ @+@ = 1 or more
-    | RPPlusG   -- ^ @+!@ = 1 or more, greedy
-    | RPOpt     -- ^ @?@ = 0 or 1
-    | RPOptG    -- ^ @?!@ = 0 or 1, greedy
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An entity in a regular pattern.
-data RPat
-    = RPOp RPat RPatOp      -- ^ operator pattern, e.g. pat*
-    | RPEither RPat RPat    -- ^ choice pattern, e.g. (1 | 2)
-    | RPSeq [RPat]          -- ^ sequence pattern, e.g. (| 1, 2, 3 |)
-    | RPGuard Pat [Stmt]    -- ^ guarded pattern, e.g. (| p | p < 3 |)
-    | RPCAs Name RPat       -- ^ non-linear variable binding, e.g. (foo\@:(1 | 2))*
-    | RPAs Name RPat        -- ^ linear variable binding, e.g. foo\@(1 | 2)
-    | RPParen RPat          -- ^ parenthesised pattern, e.g. (2*)
-    | RPPat Pat             -- ^ an ordinary pattern
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An /fpat/ in a labeled record pattern.
-data PatField
-    = PFieldPat QName Pat       -- ^ ordinary label-pattern pair
-    | PFieldPun QName           -- ^ record field pun
-    | PFieldWildcard            -- ^ record field wildcard
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A statement, representing both a /stmt/ in a @do@-expression,
---   an ordinary /qual/ in a list comprehension, as well as a /stmt/
---   in a pattern guard.
-data Stmt
-    = Generator SrcLoc Pat Exp
-                        -- ^ a generator: /pat/ @<-@ /exp/
-    | Qualifier Exp     -- ^ an /exp/ by itself: in a @do@-expression,
-                        --   an action whose result is discarded;
-                        --   in a list comprehension and pattern guard,
-                        --   a guard expression
-    | LetStmt Binds     -- ^ local bindings
-    | RecStmt [Stmt]    -- ^ a recursive binding group for arrows
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | A general /transqual/ in a list comprehension,
---   which could potentially be a transform of the kind
---   enabled by TransformListComp.
-data QualStmt
-    = QualStmt     Stmt         -- ^ an ordinary statement
-    | ThenTrans    Exp          -- ^ @then@ /exp/
-    | ThenBy       Exp Exp      -- ^ @then@ /exp/ @by@ /exp/
-    | GroupBy      Exp          -- ^ @then@ @group@ @by@ /exp/
-    | GroupUsing   Exp          -- ^ @then@ @group@ @using@ /exp/
-    | GroupByUsing Exp Exp      -- ^ @then@ @group@ @by@ /exp/ @using@ /exp/
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An /fbind/ in a labeled construction or update expression.
-data FieldUpdate
-    = FieldUpdate QName Exp     -- ^ ordinary label-expresion pair
-    | FieldPun QName            -- ^ record field pun
-    | FieldWildcard             -- ^ record field wildcard
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
--- | An /alt/ alternative in a @case@ expression.
-data Alt
-    = Alt SrcLoc Pat Rhs (Maybe Binds)
-  deriving (Eq,Ord,Show,Typeable,Data,Generic)
-
------------------------------------------------------------------------------
--- Builtin names.
-
-prelude_mod, main_mod :: ModuleName
-prelude_mod = ModuleName "Prelude"
-main_mod    = ModuleName "Main"
-
-main_name :: Name
-main_name = Ident "main"
-
-unit_con_name :: QName
-unit_con_name = Special UnitCon
-
-tuple_con_name :: Boxed -> Int -> QName
-tuple_con_name b i = Special (TupleCon b (i+1))
-
-list_cons_name :: QName
-list_cons_name = Special Cons
-
-unboxed_singleton_con_name :: QName
-unboxed_singleton_con_name = Special UnboxedSingleCon
-
-unit_con :: Exp
-unit_con = Con unit_con_name
-
-tuple_con :: Boxed -> Int -> Exp
-tuple_con b i = Con (tuple_con_name b i)
-
-unboxed_singleton_con :: Exp
-unboxed_singleton_con = Con unboxed_singleton_con_name
-
-as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name :: Name
-as_name        = Ident "as"
-qualified_name = Ident "qualified"
-hiding_name    = Ident "hiding"
-minus_name     = Symbol "-"
-bang_name      = Symbol "!"
-dot_name       = Symbol "."
-star_name      = Symbol "*"
-
-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 :: Name
-export_name     = Ident "export"
-safe_name       = Ident "safe"
-unsafe_name     = Ident "unsafe"
-interruptible_name = Ident "interruptible"
-threadsafe_name = Ident "threadsafe"
-stdcall_name    = Ident "stdcall"
-ccall_name      = Ident "ccall"
-cplusplus_name  = Ident "cplusplus"
-dotnet_name     = Ident "dotnet"
-jvm_name        = Ident "jvm"
-js_name         = Ident "js"
-javascript_name = Ident "js"
-capi_name       = Ident "capi"
-forall_name     = Ident "forall"
-family_name     = Ident "family"
-
-unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: QName
-unit_tycon_name = unit_con_name
-fun_tycon_name  = Special FunCon
-list_tycon_name = Special ListCon
-unboxed_singleton_tycon_name = Special UnboxedSingleCon
-
-tuple_tycon_name :: Boxed -> Int -> QName
-tuple_tycon_name b i = tuple_con_name b i
-
-unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: Type
-unit_tycon = TyCon unit_tycon_name
-fun_tycon  = TyCon fun_tycon_name
-list_tycon = TyCon list_tycon_name
-unboxed_singleton_tycon = TyCon unboxed_singleton_tycon_name
-
-tuple_tycon :: Boxed -> Int -> Type
-tuple_tycon b i = TyCon (tuple_tycon_name b i)
+{-# LANGUAGE DeriveDataTypeable #-}
+{-# LANGUAGE DeriveFoldable #-}
+{-# LANGUAGE DeriveTraversable #-}
+{-# LANGUAGE DeriveFunctor #-}
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE CPP #-}
+
+-----------------------------------------------------------------------------
+-- |
+-- Module      :  Language.Haskell.Exts.Syntax
+-- Copyright   :  (c) Niklas Broberg 2004-2009,
+--                (c) The GHC Team, 1997-2000
+-- License     :  BSD-style (see the file LICENSE.txt)
+--
+-- Maintainer  :  Niklas Broberg, d00nibro@chalmers.se
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A suite of datatypes describing the (semi-concrete) abstract syntax of Haskell 98
+-- <http://www.haskell.org/onlinereport/> plus registered extensions, including:
+--
+--   * multi-parameter type classes with functional dependencies (MultiParamTypeClasses, FunctionalDependencies)
+--
+--   * parameters of type class assertions are unrestricted (FlexibleContexts)
+--
+--   * 'forall' types as universal and existential quantification (RankNTypes, ExistentialQuantification, etc)
+--
+--   * pattern guards (PatternGuards)
+--
+--   * implicit parameters (ImplicitParameters)
+--
+--   * generalised algebraic data types (GADTs)
+--
+--   * template haskell (TemplateHaskell)
+--
+--   * empty data type declarations (EmptyDataDecls)
+--
+--   * unboxed tuples (UnboxedTuples)
+--
+--   * regular patterns (RegularPatterns)
+--
+--   * HSP-style XML expressions and patterns (XmlSyntax)
+--
+-- All nodes in the syntax tree are annotated with something of a user-definable data type.
+-- When parsing, this annotation will contain information about the source location that the
+-- particular node comes from.
+--
+-----------------------------------------------------------------------------
+
+module Language.Haskell.Exts.Syntax (
+    -- * Modules
+    Module(..), ModuleHead(..), WarningText(..), ExportSpecList(..), ExportSpec(..),
+    EWildcard(..),
+    ImportDecl(..), ImportSpecList(..), ImportSpec(..), Assoc(..), Namespace(..),
+    -- * Declarations
+    Decl(..), DeclHead(..), InstRule(..), InstHead(..), Binds(..), IPBind(..), PatternSynDirection(..),
+    InjectivityInfo(..), ResultSig(..),
+    -- ** Type classes and instances
+    ClassDecl(..), InstDecl(..), Deriving(..),
+    -- ** Data type declarations
+    DataOrNew(..), ConDecl(..), FieldDecl(..), QualConDecl(..), GadtDecl(..), BangType(..),
+    Unpackedness(..),
+    -- ** Function bindings
+    Match(..), Rhs(..), GuardedRhs(..),
+    -- * Class Assertions and Contexts
+    Context(..), FunDep(..), Asst(..),
+    -- * Types
+    Type(..), Boxed(..), Kind(..), TyVarBind(..), Promoted(..),
+    TypeEqn (..),
+    -- * Expressions
+    Exp(..), Stmt(..), QualStmt(..), FieldUpdate(..),
+    Alt(..), XAttr(..),
+    -- * Patterns
+    Pat(..), PatField(..), PXAttr(..), RPat(..), RPatOp(..),
+    -- * Literals
+    Literal(..), Sign(..),
+    -- * Variables, Constructors and Operators
+    ModuleName(..), QName(..), Name(..), QOp(..), Op(..),
+    SpecialCon(..), CName(..), IPName(..), XName(..), Role(..),
+
+    -- * Template Haskell
+    Bracket(..), Splice(..),
+
+    -- * FFI
+    Safety(..), CallConv(..),
+
+    -- * Pragmas
+    ModulePragma(..), Tool(..), Overlap(..),
+    Rule(..), RuleVar(..), Activation(..),
+    Annotation(..), BooleanFormula(..),
+
+    -- * Builtin names
+
+    -- ** Modules
+    prelude_mod, main_mod,
+    -- ** Main function of a program
+    main_name,
+    -- ** Constructors
+    unit_con_name, tuple_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,
+    -- ** 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,
+
+    -- * Source coordinates
+    -- SrcLoc(..),
+
+    -- * Annotated trees
+    Annotated(..), (=~=),
+  ) where
+
+import Prelude hiding (id)
+
+import Data.Data
+import GHC.Generics (Generic)
+#if __GLASGOW_HASKELL__ < 710
+import Data.Foldable (Foldable)
+import Data.Traversable (Traversable)
+#endif
+
+-- | The name of a Haskell module.
+data ModuleName l = ModuleName l String
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Constructors with special syntax.
+-- These names are never qualified, and always refer to builtin type or
+-- data constructors.
+data SpecialCon l
+    = UnitCon l             -- ^ unit type and data constructor @()@
+    | ListCon l             -- ^ list type constructor @[]@
+    | FunCon  l             -- ^ function type constructor @->@
+    | TupleCon l Boxed Int  -- ^ /n/-ary tuple type and data
+                            --   constructors @(,)@ etc, possibly boxed @(\#,\#)@
+    | Cons l                -- ^ list data constructor @(:)@
+    | UnboxedSingleCon l    -- ^ unboxed singleton tuple constructor @(\# \#)@
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | This type is used to represent qualified variables, and also
+-- qualified constructors.
+data QName l
+    = Qual    l (ModuleName l) (Name l) -- ^ name qualified with a module name
+    | UnQual  l                (Name l) -- ^ unqualified local name
+    | Special l (SpecialCon l)          -- ^ built-in constructor with special syntax
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | This type is used to represent variables, and also constructors.
+data Name l
+    = Ident  l String   -- ^ /varid/ or /conid/.
+    | Symbol l String   -- ^ /varsym/ or /consym/
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An implicit parameter name.
+data IPName l
+    = IPDup l String -- ^ ?/ident/, non-linear implicit parameter
+    | IPLin l String -- ^ %/ident/, linear implicit parameter
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Possibly qualified infix operators (/qop/), appearing in expressions.
+data QOp l
+    = QVarOp l (QName l) -- ^ variable operator (/qvarop/)
+    | QConOp l (QName l) -- ^ constructor operator (/qconop/)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Operators appearing in @infix@ declarations are never qualified.
+data Op l
+    = VarOp l (Name l)    -- ^ variable operator (/varop/)
+    | ConOp l (Name l)    -- ^ constructor operator (/conop/)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A name (/cname/) of a component of a class or data type in an @import@
+-- or export specification.
+data CName l
+    = VarName l (Name l) -- ^ name of a method or field
+    | ConName l (Name l) -- ^ name of a data constructor
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A complete Haskell source module.
+data Module l
+    = Module l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]
+    -- ^ an ordinary Haskell module
+    | XmlPage l (ModuleName l) [ModulePragma l] (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]
+    -- ^ a module consisting of a single XML document. The ModuleName never appears in the source
+    --   but is needed for semantic purposes, it will be the same as the file name.
+    | XmlHybrid l (Maybe (ModuleHead l)) [ModulePragma l] [ImportDecl l] [Decl l]
+                (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]
+    -- ^ a hybrid module combining an XML document with an ordinary module
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | The head of a module, including the name and export specification.
+data ModuleHead l = ModuleHead l (ModuleName l) (Maybe (WarningText l)) (Maybe (ExportSpecList l))
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An explicit export specification.
+data ExportSpecList l
+    = ExportSpecList l [ExportSpec l]
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An item in a module's export specification.
+data ExportSpec l
+     = EVar l (QName l)                 -- ^ variable.
+     | EAbs l (Namespace l) (QName l)   -- ^ @T@:
+                                        --   a class or datatype exported abstractly,
+                                        --   or a type synonym.
+     | EThingWith l (EWildcard l) (QName l) [CName l] -- ^ @T(C_1,...,C_n)@:
+                                        --   a class exported with some of its methods, or
+                                        --   a datatype exported with some of its constructors.
+     | EModuleContents l (ModuleName l) -- ^ @module M@:
+                                        --   re-export a module.
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Indicates the position of the wildcard in an export list
+data EWildcard l = NoWildcard l | EWildcard l Int
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Namespaces for imports/exports.
+data Namespace l = NoNamespace l | TypeNamespace l | PatternNamespace l
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An import declaration.
+data ImportDecl l = ImportDecl
+    { importAnn :: l                   -- ^ annotation, used by parser for position of the @import@ keyword.
+    , importModule :: ModuleName l     -- ^ name of the module imported.
+    , importQualified :: Bool          -- ^ imported @qualified@?
+    , importSrc :: Bool                -- ^ imported with @{-\# SOURCE \#-}@?
+    , importSafe :: Bool               -- ^ Import @safe@?
+    , importPkg :: Maybe String        -- ^ imported with explicit package name
+    , importAs :: Maybe (ModuleName l) -- ^ optional alias name in an @as@ clause.
+    , importSpecs :: Maybe (ImportSpecList l)
+            -- ^ optional list of import specifications.
+    }
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An explicit import specification list.
+data ImportSpecList l
+    = ImportSpecList l Bool [ImportSpec l]
+            -- 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)
+
+-- | An import specification, representing a single explicit item imported
+--   (or hidden) from a module.
+data ImportSpec l
+     = IVar l (Name l)                  -- ^ variable
+     | IAbs l (Namespace l) (Name l)    -- ^ @T@:
+                                        --   the name of a class, datatype or type synonym.
+     | IThingAll l (Name l)             -- ^ @T(..)@:
+                                        --   a class imported with all of its methods, or
+                                        --   a datatype imported with all of its constructors.
+     | IThingWith l (Name l) [CName l]  -- ^ @T(C_1,...,C_n)@:
+                                        --   a class imported with some of its methods, or
+                                        --   a datatype imported with some of its constructors.
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Associativity of an operator.
+data Assoc l
+     = AssocNone  l -- ^ non-associative operator (declared with @infix@)
+     | AssocLeft  l -- ^ left-associative operator (declared with @infixl@).
+     | AssocRight l -- ^ right-associative operator (declared with @infixr@)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A top-level declaration.
+data Decl l
+     = TypeDecl     l (DeclHead l) (Type l)
+     -- ^ A type declaration
+     | TypeFamDecl  l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l))
+     -- ^ A type family declaration
+     | ClosedTypeFamDecl  l (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l)) [TypeEqn l]
+     -- ^ A closed type family declaration
+     | DataDecl     l (DataOrNew l) (Maybe (Context l)) (DeclHead l)                  [QualConDecl l] (Maybe (Deriving l))
+     -- ^ A data OR newtype declaration
+     | GDataDecl    l (DataOrNew l) (Maybe (Context l)) (DeclHead l) (Maybe (Kind l)) [GadtDecl l]    (Maybe (Deriving l))
+     -- ^ A data OR newtype declaration, GADT style
+     | DataFamDecl  l {-data-}      (Maybe (Context l)) (DeclHead l) (Maybe (ResultSig l))
+     -- ^ A data family declaration
+     | TypeInsDecl  l (Type l) (Type l)
+     -- ^ A type family instance declaration
+     | DataInsDecl  l (DataOrNew l) (Type l)                  [QualConDecl l] (Maybe (Deriving l))
+     -- ^ A data family instance declaration
+     | GDataInsDecl l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l]    (Maybe (Deriving l))
+     -- ^ A data family instance declaration, GADT style
+     | ClassDecl    l (Maybe (Context l)) (DeclHead l) [FunDep l] (Maybe [ClassDecl l])
+     -- ^ A declaration of a type class
+     | InstDecl     l (Maybe (Overlap l)) (InstRule l) (Maybe [InstDecl l])
+     -- ^ An declaration of a type class instance
+     | DerivDecl    l (Maybe (Overlap l)) (InstRule l)
+     -- ^ A standalone deriving declaration
+     | InfixDecl    l (Assoc l) (Maybe Int) [Op l]
+     -- ^ A declaration of operator fixity
+     | DefaultDecl  l [Type l]
+     -- ^ A declaration of default types
+     | SpliceDecl   l (Exp l)
+     -- ^ A 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)
+     -- ^ A pattern synonym signature declation
+     | FunBind      l [Match l]
+     -- ^ A set of function binding clauses
+     | PatBind      l (Pat l) (Rhs l) {-where-} (Maybe (Binds l))
+     -- ^ A pattern binding
+     | PatSyn l (Pat l) (Pat l) (PatternSynDirection l)
+     -- ^ A pattern synonym binding
+     | ForImp       l (CallConv l) (Maybe (Safety l)) (Maybe String) (Name l) (Type l)
+     -- ^ A foreign import declaration
+     | ForExp       l (CallConv l)                    (Maybe String) (Name l) (Type l)
+     -- ^ A foreign export declaration
+     | RulePragmaDecl   l [Rule l]
+     -- ^ A RULES pragma
+     | DeprPragmaDecl   l [([Name l], String)]
+     -- ^ A DEPRECATED pragma
+     | WarnPragmaDecl   l [([Name l], String)]
+     -- ^ A WARNING pragma
+     | InlineSig        l Bool (Maybe (Activation l)) (QName l)
+     -- ^ An INLINE pragma
+     | InlineConlikeSig l      (Maybe (Activation l)) (QName l)
+     -- ^ An INLINE CONLIKE pragma
+     | SpecSig          l      (Maybe (Activation l)) (QName l) [Type l]
+     -- ^ A SPECIALISE pragma
+     | SpecInlineSig    l Bool (Maybe (Activation l)) (QName l) [Type l]
+     -- ^ A SPECIALISE INLINE pragma
+     | InstSig          l      (InstRule l)
+     -- ^ A SPECIALISE instance pragma
+     | AnnPragma        l (Annotation l)
+     -- ^ An ANN pragma
+     | MinimalPragma    l (Maybe (BooleanFormula l))
+     -- ^ A MINIMAL pragma
+     | RoleAnnotDecl    l (QName l) [Role l]
+     -- ^ A role annotation
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+data  PatternSynDirection l =
+      Unidirectional -- ^ A unidirectional pattern synonym with "<-"
+    | ImplicitBidirectional  -- ^ A bidirectional pattern synonym with "="
+    | ExplicitBidirectional l [Decl l]  -- ^ A birectional pattern synonym with the construction specified.
+    deriving (Eq, Ord, Show, Data, Typeable, Foldable, Traversable, Functor, Generic)
+
+-- | A type equation as found in closed type families.
+data TypeEqn l = TypeEqn l (Type l) (Type l) deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An annotation through an ANN pragma.
+data Annotation l
+    = Ann       l (Name l)  (Exp l)
+    -- ^ An annotation for a declared name.
+    | TypeAnn   l (Name l)  (Exp l)
+    -- ^ An annotation for a declared type.
+    | ModuleAnn l           (Exp l)
+    -- ^ An annotation for the defining module.
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A boolean formula for MINIMAL pragmas.
+data BooleanFormula l
+    = VarFormula l (Name l)              -- ^ A variable.
+    | AndFormula l [BooleanFormula l]    -- ^ And boolean formulas.
+    | OrFormula l [BooleanFormula l]     -- ^ Or boolean formulas.
+    | ParenFormula l (BooleanFormula l)  -- ^ Parenthesized boolean formulas.
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+data Role l
+  = Nominal l
+  | Representational l
+  | Phantom l
+  | RoleWildcard l
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A flag stating whether a declaration is a data or newtype declaration.
+data DataOrNew l = DataType l | NewType l
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+
+-- | Injectivity info for injective type families
+data InjectivityInfo l = InjectivityInfo l (Name l) [Name l]
+  deriving (Eq, Ord, Show, Typeable, Data, Foldable, Traversable, Functor, Generic)
+
+data ResultSig l = KindSig l (Kind l) | TyVarSig l (TyVarBind l)
+  deriving (Eq, Ord, Show, Typeable, Data, Foldable, Traversable, Functor, Generic)
+
+-- | The head of a type or class declaration, which consists of the type
+-- or class name applied to some type variables
+--
+-- @class C a b@ is represented as
+--
+-- >DHApp
+-- >   ()
+-- >   (DHApp
+-- >      () (DHead () (Ident () "C")) (UnkindedVar () (Ident () "a")))
+-- >   (UnkindedVar () (Ident () "b"))
+--
+-- (where the annotation type @l@ is instantiated with @()@)
+--
+-- @class (a :< b) c@ is represented as
+--
+-- >DHApp
+-- >   ()
+-- >   (DHParen
+-- >      ()
+-- >      (DHApp
+-- >         ()
+-- >         (DHInfix () (UnkindedVar () (Ident () "a")) (Symbol () ":<"))
+-- >         (UnkindedVar () (Ident () "b"))))
+-- >   (UnkindedVar () (Ident () "c"))
+data DeclHead l
+    = DHead l (Name l) -- ^ type or class name
+    | DHInfix l (TyVarBind l) (Name l) -- ^ infix application of the type/class name to the left operand
+    | DHParen l (DeclHead l) -- ^ parenthesized declaration head
+    | DHApp   l (DeclHead l) (TyVarBind l) -- ^ application to one more type variable
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | The instance declaration rule, which is, roughly, the part of the instance declaration before the @where@ keyword.
+--
+-- Example: @instance Ord a => Ord (Maybe a)@ is represented as
+--
+-- >IRule
+-- >   ()
+-- >   Nothing
+-- >   (Just
+-- >      (CxSingle
+-- >         ()
+-- >         (ClassA
+-- >            () (UnQual () (Ident () "Ord")) [ TyVar () (Ident () "a") ])))
+-- >   (IHApp
+-- >      ()
+-- >      (IHCon () (UnQual () (Ident () "Ord")))
+-- >      (TyParen
+-- >         ()
+-- >         (TyApp
+-- >            ()
+-- >            (TyCon () (UnQual () (Ident () "Maybe")))
+-- >            (TyVar () (Ident () "a")))))
+--
+-- An optional explicit forall after @instance@ is supported:
+-- @instance forall a . Ord a => Ord (Maybe a) where@ becomes
+--
+-- >IRule
+-- >   ()
+-- >   (Just [ UnkindedVar () (Ident () "a") ])
+-- >   ...
+data InstRule l
+    = IRule l (Maybe [TyVarBind l]) (Maybe (Context l)) (InstHead l)
+    | IParen l (InstRule l)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- See bugs #7 and #31 for more details and use cases for the rationale
+-- of the split. DeclOrInstHead should be used by DeclHead as the name implies.
+
+-- | The instance head. The split between rule/head allow us to represent
+-- @instance (Bounded a => Bounded [a]) where@ faithfully.
+--
+-- The structure of 'InstHead' follows one of 'DeclHead'.
+--
+-- For example, @instance C (Maybe a) Int where@ is represented as
+--
+-- >IHApp
+-- >   ()
+-- >   (IHApp
+-- >      ()
+-- >      (IHCon () (UnQual () (Ident () "C")))
+-- >      (TyParen
+-- >         ()
+-- >         (TyApp
+-- >            ()
+-- >            (TyCon () (UnQual () (Ident () "Maybe")))
+-- >            (TyVar () (Ident () "a")))))
+-- >   (TyCon () (UnQual () (Ident () "Int")))))
+data InstHead l
+    = IHCon l (QName l) -- ^ type or class name
+    | IHInfix l (Type l) (QName l) -- ^ infix application of the type/class name to the left operand
+    | IHParen l (InstHead l) -- ^ parenthesized instance head
+    | IHApp   l (InstHead l) (Type l) -- ^ application to one more type
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A deriving clause following a data type declaration.
+data Deriving l = Deriving l [InstRule l]
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A binding group inside a @let@ or @where@ clause.
+data Binds l
+    = BDecls  l [Decl l]     -- ^ An ordinary binding group
+    | IPBinds l [IPBind l]   -- ^ A binding group for implicit parameters
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A binding of an implicit parameter.
+data IPBind l = IPBind l (IPName l) (Exp l)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Clauses of a function binding.
+data Match l
+     = Match l      (Name l) [Pat l]         (Rhs l) {-where-} (Maybe (Binds l))
+        -- ^ A clause defined with prefix notation, i.e. the function name
+        --  followed by its argument patterns, the right-hand side and an
+        --  optional where clause.
+     | InfixMatch l (Pat l) (Name l) [Pat l] (Rhs l) {-where-} (Maybe (Binds l))
+        -- ^ A clause defined with infix notation, i.e. first its first argument
+        --  pattern, then the function name, then its following argument(s),
+        --  the right-hand side and an optional where clause.
+        --  Note that there can be more than two arguments to a function declared
+        --  infix, hence the list of pattern arguments.
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A single constructor declaration within a data type declaration,
+--   which may have an existential quantification binding.
+data QualConDecl l
+    = QualConDecl l
+        {-forall-} (Maybe [TyVarBind l]) {- . -} (Maybe (Context l))
+        {- => -} (ConDecl l)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Declaration of an ordinary data constructor.
+data ConDecl l
+     = ConDecl l (Name l) [Type l]
+                -- ^ ordinary data constructor
+     | InfixConDecl l (Type l) (Name l) (Type l)
+                -- ^ infix data constructor
+     | RecDecl l (Name l) [FieldDecl l]
+                -- ^ record constructor
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Declaration of a (list of) named field(s).
+data FieldDecl l = FieldDecl l [Name l] (Type l)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+
+-- | A single constructor declaration in a GADT data type declaration.
+--
+-- If the GADT is declared using the record syntax, e.g.
+--
+-- >data Ty where
+-- >  TCon :: { field1 :: Int, field2 :: Bool } -> Ty
+--
+-- then the fields are stored as a list of 'FieldDecl's, and the final type
+-- (@Ty@ in the above example) is stored in the last 'Type' field.
+--
+-- If the GADT is declared using the ordinary syntax, e.g.
+--
+-- >data Ty where
+-- >  TCon :: Int -> Bool -> Ty
+--
+-- 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)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Declarations inside a class declaration.
+data ClassDecl l
+    = ClsDecl    l (Decl l)
+            -- ^ ordinary declaration
+    | ClsDataFam l (Maybe (Context l)) (DeclHead l) (Maybe (ResultSig l))
+            -- ^ declaration of an associated data type
+    | ClsTyFam   l                     (DeclHead l) (Maybe (ResultSig l)) (Maybe (InjectivityInfo l))
+            -- ^ declaration of an associated type synonym
+    | ClsTyDef   l (TypeEqn l)
+            -- ^ default choice for an associated type synonym
+    | ClsDefSig  l (Name l) (Type l)
+            -- ^ default signature
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Declarations inside an instance declaration.
+data InstDecl l
+    = InsDecl   l (Decl l)
+            -- ^ ordinary declaration
+    | InsType   l (Type l) (Type l)
+            -- ^ an associated type definition
+    | InsData   l (DataOrNew l) (Type l) [QualConDecl l] (Maybe (Deriving l))
+            -- ^ an associated data type implementation
+    | InsGData  l (DataOrNew l) (Type l) (Maybe (Kind l)) [GadtDecl l] (Maybe (Deriving l))
+            -- ^ an associated data type implemented using GADT style
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | The type of a constructor argument or field, optionally including
+--   a strictness annotation.
+data BangType l
+     = BangedTy   l -- ^ strict component, marked with \"@!@\"
+     | LazyTy     l -- ^ lazy component, marked with \"@~@\"
+     | NoStrictAnnot l -- ^ No strictness information
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+data Unpackedness l
+    = Unpack l -- {-# UNPACK #-}
+    | NoUnpack l -- {-# NOUNPACK #-}
+    | NoUnpackPragma l -- No pragma
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | The right hand side of a function binding, pattern binding, or a case
+--   alternative.
+data Rhs l
+     = UnGuardedRhs l (Exp l) -- ^ unguarded right hand side (/exp/)
+     | GuardedRhss  l [GuardedRhs l]
+                -- ^ guarded right hand side (/gdrhs/)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A guarded right hand side @|@ /stmts/ @=@ /exp/, or @|@ /stmts/ @->@ /exp/
+--   for case alternatives.
+--   The guard is a series of statements when using pattern guards,
+--   otherwise it will be a single qualifier expression.
+data GuardedRhs l
+     = GuardedRhs l [Stmt l] (Exp l)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A type qualified with a context.
+--   An unqualified type has an empty context.
+data Type l
+     = TyForall l
+        (Maybe [TyVarBind l])
+        (Maybe (Context l))
+        (Type l)                                -- ^ qualified type
+     | TyFun   l (Type l) (Type l)              -- ^ function type
+     | TyTuple l Boxed [Type l]                 -- ^ tuple type, possibly boxed
+     | TyList  l (Type l)                       -- ^ list syntax, e.g. [a], as opposed to [] a
+     | TyParArray  l (Type l)                   -- ^ parallel array syntax, e.g. [:a:]
+     | TyApp   l (Type l) (Type l)              -- ^ application of a type constructor
+     | TyVar   l (Name l)                       -- ^ type variable
+     | TyCon   l (QName l)                      -- ^ named type or type constructor
+     | TyParen l (Type l)                       -- ^ type surrounded by parentheses
+     | TyInfix l (Type l) (QName l) (Type l)    -- ^ infix type constructor
+     | TyKind  l (Type l) (Kind l)              -- ^ type with explicit kind signature
+     | TyPromoted l (Promoted l)                -- ^ @'K@, a promoted data type (-XDataKinds).
+     | TyEquals l (Type l) (Type l)             -- ^ type equality predicate enabled by ConstraintKinds
+     | TySplice l (Splice l)                    -- ^ template haskell splice type
+     | TyBang l (BangType l) (Unpackedness l) (Type l)           -- ^ Strict type marked with \"@!@\" or type marked with UNPACK pragma.
+     | TyWildCard l (Maybe (Name l))            -- ^ Either an anonymous of named type wildcard
+     | TyQuasiQuote l String String             -- ^ @[$/name/| /string/ |]@
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Bools here are True if there was a leading quote which may be
+-- left out. For example @'[k1,k2]@ means the same thing as @[k1,k2]@.
+data Promoted l
+        = PromotedInteger l Integer String -- ^ parsed value and raw string
+        | PromotedString l String String -- ^ parsed value and raw string
+        | PromotedCon l Bool (QName l)
+        | PromotedList l Bool [Type l]
+        | PromotedTuple l [Type l]
+        | PromotedUnit l
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Flag denoting whether a tuple is boxed or unboxed.
+data Boxed = Boxed | Unboxed
+  deriving (Eq,Ord,Show,Typeable,Data,Generic)
+
+-- | A type variable declaration, optionally with an explicit kind annotation.
+data TyVarBind l
+    = KindedVar   l (Name l) (Kind l)  -- ^ variable binding with kind annotation
+    | UnkindedVar l (Name l)           -- ^ ordinary variable binding
+  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)
+
+
+-- | A functional dependency, given on the form
+--   l1 l2 ... ln -> r2 r3 .. rn
+data FunDep l
+    = FunDep l [Name l] [Name l]
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A context is a set of assertions
+data Context l
+    = CxSingle l (Asst l)
+    | CxTuple  l [Asst l]
+    | CxEmpty  l
+  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
+        | 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/
+-- Values of this type hold the abstract value of the literal, along with the
+-- precise string representation used.  For example, @10@, @0o12@ and @0xa@
+-- have the same value representation, but each carry a different string representation.
+data Literal l
+    = Char       l Char     String     -- ^ character literal
+    | String     l String   String     -- ^ string literal
+    | Int        l Integer  String     -- ^ integer literal
+    | Frac       l Rational String     -- ^ floating point literal
+    | PrimInt    l Integer  String     -- ^ unboxed integer literal
+    | PrimWord   l Integer  String     -- ^ unboxed word literal
+    | PrimFloat  l Rational String     -- ^ unboxed float literal
+    | PrimDouble l Rational String     -- ^ unboxed double literal
+    | PrimChar   l Char     String     -- ^ unboxed character literal
+    | PrimString l String   String     -- ^ unboxed string literal
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An indication whether a literal pattern has been negated or not.
+data Sign l
+    = Signless l
+    | Negative l
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Haskell expressions.
+data Exp l
+    = Var l (QName l)                       -- ^ variable
+    | OverloadedLabel l String              -- ^ Overloaded label #foo
+    | IPVar l (IPName l)                    -- ^ implicit parameter variable
+    | Con l (QName l)                       -- ^ data constructor
+    | Lit l (Literal l)                     -- ^ literal constant
+    | InfixApp l (Exp l) (QOp l) (Exp l)    -- ^ infix application
+    | App l (Exp l) (Exp l)                 -- ^ ordinary application
+    | NegApp l (Exp l)                      -- ^ negation expression @-/exp/@ (unary minus)
+    | Lambda l [Pat l] (Exp l)              -- ^ lambda expression
+    | Let l (Binds l) (Exp l)               -- ^ local declarations with @let@ ... @in@ ...
+    | If l (Exp l) (Exp l) (Exp l)          -- ^ @if@ /exp/ @then@ /exp/ @else@ /exp/
+    | MultiIf l [GuardedRhs l]              -- ^ @if@ @|@ /stmts/ @->@ /exp/ ...
+    | Case l (Exp l) [Alt l]                -- ^ @case@ /exp/ @of@ /alts/
+    | Do l [Stmt l]                         -- ^ @do@-expression:
+                                            --   the last statement in the list
+                                            --   should be an expression.
+    | MDo l [Stmt l]                        -- ^ @mdo@-expression
+    | Tuple l Boxed [Exp l]                 -- ^ tuple expression
+    | TupleSection l Boxed [Maybe (Exp l)]  -- ^ tuple section expression, e.g. @(,,3)@
+    | List l [Exp l]                        -- ^ list expression
+    | ParArray l [Exp l]                    -- ^ parallel array expression
+    | Paren l (Exp l)                       -- ^ parenthesised expression
+    | LeftSection l (Exp l) (QOp l)         -- ^ left section @(@/exp/ /qop/@)@
+    | RightSection l (QOp l) (Exp l)        -- ^ right section @(@/qop/ /exp/@)@
+    | RecConstr l (QName l) [FieldUpdate l] -- ^ record construction expression
+    | RecUpdate l (Exp l)   [FieldUpdate l] -- ^ record update expression
+    | EnumFrom l (Exp l)                    -- ^ unbounded arithmetic sequence,
+                                            --   incrementing by 1: @[from ..]@
+    | EnumFromTo l (Exp l) (Exp l)          -- ^ bounded arithmetic sequence,
+                                            --   incrementing by 1 @[from .. to]@
+    | EnumFromThen l (Exp l) (Exp l)        -- ^ unbounded arithmetic sequence,
+                                            --   with first two elements given @[from, then ..]@
+    | EnumFromThenTo l (Exp l) (Exp l) (Exp l)
+                                            -- ^ bounded arithmetic sequence,
+                                            --   with first two elements given @[from, then .. to]@
+    | ParArrayFromTo l (Exp l) (Exp l)      -- ^ Parallel array bounded arithmetic sequence,
+                                            --   incrementing by 1 @[:from .. to:]@
+    | ParArrayFromThenTo l (Exp l) (Exp l) (Exp l)
+                                            -- ^ bounded arithmetic sequence,
+                                            --   with first two elements given @[:from, then .. to:]@
+    | ListComp l (Exp l) [QualStmt l]       -- ^ ordinary list comprehension
+    | ParComp  l (Exp l) [[QualStmt l]]     -- ^ parallel list comprehension
+    | ParArrayComp  l (Exp l) [[QualStmt l]] -- ^ parallel array comprehension
+    | ExpTypeSig l (Exp l) (Type l)         -- ^ expression with explicit type signature
+
+    | VarQuote l (QName l)                  -- ^ @'x@ for template haskell reifying of expressions
+    | TypQuote l (QName l)                  -- ^ @''T@ for template haskell reifying of types
+    | BracketExp l (Bracket l)              -- ^ template haskell bracket expression
+    | SpliceExp l (Splice l)                -- ^ template haskell splice expression
+    | QuasiQuote l String String            -- ^ quasi-quotaion: @[$/name/| /string/ |]@
+    | TypeApp l (Type l)                    -- ^ Visible type application
+
+-- Hsx
+    | XTag l (XName l) [XAttr l] (Maybe (Exp l)) [Exp l]
+                                            -- ^ xml element, with attributes and children
+    | XETag l (XName l) [XAttr l] (Maybe (Exp l))
+                                            -- ^ empty xml element, with attributes
+    | XPcdata l String                      -- ^ PCDATA child element
+    | XExpTag l (Exp l)                     -- ^ escaped haskell expression inside xml
+    | XChildTag l [Exp l]                   -- ^ children of an xml element
+
+
+-- Pragmas
+    | CorePragma l      String (Exp l)      -- ^ CORE pragma
+    | SCCPragma  l      String (Exp l)      -- ^ SCC pragma
+    | GenPragma  l      String (Int, Int) (Int, Int) (Exp l)
+                                            -- ^ GENERATED pragma
+
+-- Arrows
+    | Proc            l (Pat l) (Exp l)     -- ^ arrows proc: @proc@ /pat/ @->@ /exp/
+    | LeftArrApp      l (Exp l) (Exp l)     -- ^ arrow application (from left): /exp/ @-<@ /exp/
+    | 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/
+
+-- LambdaCase
+    | LCase l [Alt l]                       -- ^ @\case@ /alts/
+
+-- Holes
+    | ExprHole l                            -- ^ Expression hole
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | The name of an xml element or attribute,
+--   possibly qualified with a namespace.
+data XName l
+    = XName l String              -- <name ...
+    | XDomName l String String    -- <dom:name ...
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An xml attribute, which is a name-expression pair.
+data XAttr l = XAttr l (XName l) (Exp l)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A template haskell bracket expression.
+data Bracket l
+    = ExpBracket l (Exp l)        -- ^ expression bracket: @[| ... |]@
+    | PatBracket l (Pat l)        -- ^ pattern bracket: @[p| ... |]@
+    | TypeBracket l (Type l)      -- ^ type bracket: @[t| ... |]@
+    | DeclBracket l [Decl l]      -- ^ declaration bracket: @[d| ... |]@
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A template haskell splice expression
+data Splice l
+    = IdSplice l String           -- ^ variable splice: @$var@
+    | ParenSplice l (Exp l)       -- ^ parenthesised expression splice: @$(/exp/)@
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | The safety of a foreign function call.
+data Safety l
+    = PlayRisky l         -- ^ unsafe
+    | PlaySafe l Bool     -- ^ safe ('False') or threadsafe ('True')
+    | PlayInterruptible l -- ^ interruptible
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | The calling convention of a foreign function call.
+data CallConv l
+    = StdCall l
+    | CCall l
+    | CPlusPlus l
+    | DotNet l
+    | Jvm l
+    | Js l
+    | JavaScript l
+    | CApi l
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A top level options pragma, preceding the module header.
+data ModulePragma l
+    = LanguagePragma   l [Name l]  -- ^ LANGUAGE pragma
+    | OptionsPragma    l (Maybe Tool) String
+                        -- ^ OPTIONS pragma, possibly qualified with a tool, e.g. OPTIONS_GHC
+    | AnnModulePragma  l (Annotation l)
+                        -- ^ ANN pragma with module scope
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Recognised tools for OPTIONS pragmas.
+data Tool = GHC | HUGS | NHC98 | YHC | HADDOCK | UnknownTool String
+  deriving (Eq,Ord,Show,Typeable,Data,Generic)
+
+-- | Recognised overlaps for overlap pragmas.
+data Overlap l
+    = NoOverlap l   -- ^ NO_OVERLAP pragma
+    | Overlap l     -- ^ OVERLAP pragma
+    | Incoherent l  -- ^ INCOHERENT pragma
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Activation clause of a RULES pragma.
+data Activation l
+    = ActiveFrom   l Int
+    | ActiveUntil  l Int
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | The body of a RULES pragma.
+data Rule l
+    = Rule l String (Maybe (Activation l)) (Maybe [RuleVar l]) (Exp l) (Exp l)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Variables used in a RULES pragma, optionally annotated with types
+data RuleVar l
+    = RuleVar l (Name l)
+    | TypedRuleVar l (Name l) (Type l)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | Warning text to optionally use in the module header of e.g.
+--   a deprecated module.
+data WarningText l
+    = DeprText l String
+    | WarnText l String
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+
+-- | A pattern, to be matched against a value.
+data Pat l
+    = PVar l (Name l)                       -- ^ variable
+    | PLit l (Sign l) (Literal l)           -- ^ literal constant
+    | PNPlusK l (Name l) Integer            -- ^ n+k pattern
+    | PInfixApp l (Pat l) (QName l) (Pat l) -- ^ pattern with an infix data constructor
+    | PApp l (QName l) [Pat l]              -- ^ data constructor and argument patterns
+    | PTuple l Boxed [Pat l]                -- ^ tuple pattern
+    | PList l [Pat l]                       -- ^ list pattern
+    | PParen l (Pat l)                      -- ^ parenthesized pattern
+    | PRec l (QName l) [PatField l]         -- ^ labelled pattern, record style
+    | PAsPat l (Name l) (Pat l)             -- ^ @\@@-pattern
+    | PWildCard l                           -- ^ wildcard pattern: @_@
+    | PIrrPat l (Pat l)                     -- ^ irrefutable pattern: @~/pat/@
+    | PatTypeSig l (Pat l) (Type l)         -- ^ pattern with type signature
+    | PViewPat l (Exp l) (Pat l)            -- ^ view patterns of the form @(/exp/ -> /pat/)@
+    | PRPat l [RPat l]                      -- ^ regular list pattern
+    | PXTag l (XName l) [PXAttr l] (Maybe (Pat l)) [Pat l]
+                                            -- ^ XML element pattern
+    | PXETag l (XName l) [PXAttr l] (Maybe (Pat l))
+                                            -- ^ XML singleton element pattern
+    | PXPcdata l String                     -- ^ XML PCDATA pattern
+    | PXPatTag l (Pat l)                    -- ^ XML embedded pattern
+    | PXRPats  l [RPat l]                   -- ^ XML regular list pattern
+    | PQuasiQuote l String String           -- ^ quasi quote pattern: @[$/name/| /string/ |]@
+    | PBangPat l (Pat l)                    -- ^ strict (bang) pattern: @f !x = ...@
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An XML attribute in a pattern.
+data PXAttr l = PXAttr l (XName l) (Pat l)
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A regular pattern operator.
+data RPatOp l
+    = RPStar  l  -- ^ @*@ = 0 or more
+    | RPStarG l  -- ^ @*!@ = 0 or more, greedy
+    | RPPlus  l  -- ^ @+@ = 1 or more
+    | RPPlusG l  -- ^ @+!@ = 1 or more, greedy
+    | RPOpt   l  -- ^ @?@ = 0 or 1
+    | RPOptG  l  -- ^ @?!@ = 0 or 1, greedy
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An entity in a regular pattern.
+data RPat l
+    = RPOp l (RPat l) (RPatOp l)   -- ^ operator pattern, e.g. pat*
+    | RPEither l (RPat l) (RPat l) -- ^ choice pattern, e.g. (1 | 2)
+    | RPSeq l [RPat l]             -- ^ sequence pattern, e.g. (| 1, 2, 3 |)
+    | RPGuard l (Pat l) [Stmt l]   -- ^ guarded pattern, e.g. (| p | p < 3 |)
+    | RPCAs l (Name l) (RPat l)    -- ^ non-linear variable binding, e.g. (foo\@:(1 | 2))*
+    | RPAs l (Name l) (RPat l)     -- ^ linear variable binding, e.g. foo\@(1 | 2)
+    | RPParen l (RPat l)           -- ^ parenthesised pattern, e.g. (2*)
+    | RPPat l (Pat l)              -- ^ an ordinary pattern
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An /fpat/ in a labeled record pattern.
+data PatField l
+    = PFieldPat l (QName l) (Pat l)     -- ^ ordinary label-pattern pair
+    | PFieldPun l (QName l)             -- ^ record field pun
+    | PFieldWildcard l                  -- ^ record field wildcard
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A statement, representing both a /stmt/ in a @do@-expression,
+--   an ordinary /qual/ in a list comprehension, as well as a /stmt/
+--   in a pattern guard.
+data Stmt l
+    = Generator l (Pat l) (Exp l)
+                            -- ^ a generator: /pat/ @<-@ /exp/
+    | Qualifier l (Exp l)   -- ^ an /exp/ by itself: in a @do@-expression,
+                            --   an action whose result is discarded;
+                            --   in a list comprehension and pattern guard,
+                            --   a guard expression
+    | LetStmt l (Binds l)   -- ^ local bindings
+    | RecStmt l [Stmt l]    -- ^ a recursive binding group for arrows
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | A general /transqual/ in a list comprehension,
+--   which could potentially be a transform of the kind
+--   enabled by TransformListComp.
+data QualStmt l
+    = QualStmt     l (Stmt l)         -- ^ an ordinary statement
+    | ThenTrans    l (Exp l)          -- ^ @then@ /exp/
+    | ThenBy       l (Exp l) (Exp l)  -- ^ @then@ /exp/ @by@ /exp/
+    | GroupBy      l (Exp l)          -- ^ @then@ @group@ @by@ /exp/
+    | GroupUsing   l (Exp l)          -- ^ @then@ @group@ @using@ /exp/
+    | GroupByUsing l (Exp l) (Exp l)  -- ^ @then@ @group@ @by@ /exp/ @using@ /exp/
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An /fbind/ in a labeled construction or update expression.
+data FieldUpdate l
+    = FieldUpdate l (QName l) (Exp l)    -- ^ ordinary label-expresion pair
+    | FieldPun l (QName l)               -- ^ record field pun
+    | FieldWildcard l                    -- ^ record field wildcard
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-- | An /alt/ alternative in a @case@ expression.
+data Alt l
+    = Alt l (Pat l) (Rhs l) (Maybe (Binds l))
+  deriving (Eq,Ord,Show,Typeable,Data,Foldable,Traversable,Functor,Generic)
+
+-----------------------------------------------------------------------------
+-- Builtin names.
+
+prelude_mod, main_mod :: l -> ModuleName l
+prelude_mod l = ModuleName l "Prelude"
+main_mod    l = ModuleName l "Main"
+
+main_name :: l -> Name l
+main_name l = Ident l "main"
+
+unit_con_name :: l -> QName l
+unit_con_name l = Special l (UnitCon l)
+
+tuple_con_name :: l -> Boxed -> Int -> QName l
+tuple_con_name l b i = Special l (TupleCon l b (i+1))
+
+list_cons_name :: l -> QName l
+list_cons_name l = Special l (Cons l)
+
+unboxed_singleton_con_name :: l -> QName l
+unboxed_singleton_con_name l = Special l (UnboxedSingleCon l)
+
+unit_con :: l -> Exp l
+unit_con l = Con l $ unit_con_name l
+
+tuple_con :: l -> Boxed -> Int -> Exp l
+tuple_con l b i = Con l (tuple_con_name l b i)
+
+unboxed_singleton_con :: l -> Exp l
+unboxed_singleton_con l = Con l (unboxed_singleton_con_name l)
+
+as_name, qualified_name, hiding_name, minus_name, bang_name, dot_name, star_name :: l -> Name l
+as_name        l = Ident  l "as"
+qualified_name l = Ident  l "qualified"
+hiding_name    l = Ident  l "hiding"
+minus_name     l = Symbol l "-"
+bang_name      l = Symbol l "!"
+dot_name       l = Symbol l "."
+star_name      l = Symbol l "*"
+
+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 :: l -> Name l
+export_name     l = Ident l "export"
+safe_name       l = Ident l "safe"
+unsafe_name     l = Ident l "unsafe"
+interruptible_name l = Ident l "interruptible"
+threadsafe_name l = Ident l "threadsafe"
+stdcall_name    l = Ident l "stdcall"
+ccall_name      l = Ident l "ccall"
+cplusplus_name  l = Ident l "cplusplus"
+dotnet_name     l = Ident l "dotnet"
+jvm_name        l = Ident l "jvm"
+js_name         l = Ident l "js"
+javascript_name l = Ident l "javascript"
+capi_name       l = Ident l "capi"
+forall_name     l = Ident l "forall"
+family_name     l = Ident l "family"
+role_name       l = Ident l "role"
+
+unit_tycon_name, fun_tycon_name, list_tycon_name, unboxed_singleton_tycon_name :: l -> QName l
+unit_tycon_name l = unit_con_name l
+fun_tycon_name  l = Special l (FunCon l)
+list_tycon_name l = Special l (ListCon l)
+unboxed_singleton_tycon_name l = Special l (UnboxedSingleCon l)
+
+tuple_tycon_name :: l -> Boxed -> Int -> QName l
+tuple_tycon_name l b i = tuple_con_name l b i
+
+unit_tycon, fun_tycon, list_tycon, unboxed_singleton_tycon :: l -> Type l
+unit_tycon l = TyCon l $ unit_tycon_name l
+fun_tycon  l = TyCon l $ fun_tycon_name  l
+list_tycon l = TyCon l $ list_tycon_name l
+unboxed_singleton_tycon l = TyCon l $ unboxed_singleton_tycon_name l
+
+tuple_tycon :: l -> Boxed -> Int -> Type l
+tuple_tycon l b i = TyCon l (tuple_tycon_name l b i)
+
+-----------------------------------------------------------------------------
+-- AST traversal, boiler-plate style
+
+-- | Test if two AST elements are equal modulo annotations.
+(=~=) :: (Annotated a, Eq (a ())) => a l1 -> a l2 -> Bool
+a =~= b = fmap (const ()) a == fmap (const ()) b
+
+-----------------------------------------------------------------------------
+-- Reading annotations
+
+-- | AST nodes are annotated, and this class allows manipulation of the annotations.
+class Functor ast => Annotated ast where
+    -- | Retrieve the annotation of an AST node.
+    ann :: ast l -> l
+    -- | Change the annotation of an AST node. Note that only the annotation of
+    --   the node itself is affected, and not the annotations of any child nodes.
+    --   if all nodes in the AST tree are to be affected, use 'fmap'.
+    amap :: (l -> l) -> ast l -> ast l
+
+instance Annotated ModuleName where
+    ann (ModuleName l _) = l
+    amap f (ModuleName l n) = ModuleName (f l) n
+
+instance Annotated SpecialCon where
+    ann sc = case sc of
+        UnitCon l   -> l
+        ListCon l   -> l
+        FunCon  l   -> l
+        TupleCon l _ _  -> l
+        Cons l      -> l
+        UnboxedSingleCon l  -> l
+    amap = fmap
+
+instance Annotated QName where
+    ann qn = case qn of
+        Qual    l _ _  -> l
+        UnQual  l   _  -> l
+        Special l _    -> l
+    amap f qn = case qn of
+        Qual    l mn n  -> Qual    (f l) mn n
+        UnQual  l    n  -> UnQual  (f l)    n
+        Special l sc    -> Special (f l) sc
+
+instance Annotated Name where
+    ann (Ident  l _) = l
+    ann (Symbol l _) = l
+    amap = fmap
+
+instance Annotated IPName where
+    ann (IPDup l _) = l
+    ann (IPLin l _) = l
+    amap = fmap
+
+instance Annotated QOp where
+    ann (QVarOp l _) = l
+    ann (QConOp l _) = l
+    amap f (QVarOp l qn) = QVarOp (f l) qn
+    amap f (QConOp l qn) = QConOp (f l) qn
+
+instance Annotated Op where
+    ann (VarOp l _) = l
+    ann (ConOp l _) = l
+    amap f (VarOp l n) = VarOp (f l) n
+    amap f (ConOp l n) = ConOp (f l) n
+
+instance Annotated CName where
+    ann (VarName l _) = l
+    ann (ConName l _) = l
+    amap f (VarName l n) = VarName (f l) n
+    amap f (ConName l n) = ConName (f l) n
+
+instance Annotated Module where
+    ann (Module l _ _ _ _)            = l
+    ann (XmlPage l _ _ _ _ _ _)       = l
+    ann (XmlHybrid l _ _ _ _ _ _ _ _) = l
+
+    amap f (Module l mmh ops iss dcls) =
+        Module (f l) mmh ops iss dcls
+    amap f (XmlPage l mn os xn xas me es) =
+        XmlPage (f l) mn os xn xas me es
+    amap f (XmlHybrid l mmh ops iss dcls xn xas me es) =
+        XmlHybrid (f l) mmh ops iss dcls xn xas me es
+
+instance Annotated ModuleHead where
+    ann (ModuleHead l _ _ _)         = l
+    amap f (ModuleHead l n mwt mesl) = ModuleHead (f l) n mwt mesl
+
+instance Annotated ExportSpecList where
+    ann (ExportSpecList l _)      = l
+    amap f (ExportSpecList l ess) = ExportSpecList (f l) ess
+
+instance Annotated ExportSpec where
+    ann es = case es of
+        EVar l _            -> l
+        EAbs l _ _          -> l
+        EThingWith l _ _ _    -> l
+        EModuleContents l _ -> l
+    amap f es = case es of
+        EVar l qn     -> EVar (f l) qn
+        EAbs l n qn       -> EAbs (f l) n qn
+        EThingWith l wc qn cns -> EThingWith (f l) wc qn cns
+        EModuleContents l mn    -> EModuleContents (f l) mn
+
+instance Annotated EWildcard where
+  ann ewc = case ewc of
+      NoWildcard l  -> l
+      EWildcard l _ -> l
+  amap f ewc = case ewc of
+      NoWildcard l  -> NoWildcard (f l)
+      EWildcard l n -> EWildcard (f l) n
+
+
+
+instance Annotated Namespace where
+    ann es = case es of
+        NoNamespace l   -> l
+        TypeNamespace l -> l
+        PatternNamespace l -> l
+    amap f es = case es of
+        NoNamespace l   -> NoNamespace (f l)
+        TypeNamespace l -> TypeNamespace (f l)
+        PatternNamespace l -> PatternNamespace (f l)
+
+instance Annotated ImportDecl where
+    ann (ImportDecl l _ _ _ _ _ _ _) = l
+    amap f (ImportDecl l mn qual src safe pkg mmn mis) =
+        ImportDecl (f l) mn qual src safe pkg mmn mis
+
+instance Annotated ImportSpecList where
+    ann (ImportSpecList l _ _)      = l
+    amap f (ImportSpecList l b iss) = ImportSpecList (f l) b iss
+
+instance Annotated ImportSpec where
+    ann is = case is of
+        IVar l _         -> l
+        IAbs l _ _       -> l
+        IThingAll l _    -> l
+        IThingWith l _ _ -> l
+    amap f is = case is of
+        IVar l n        -> IVar (f l) n
+        IAbs l ns n     -> IAbs (f l) ns n
+        IThingAll l n   -> IThingAll (f l) n
+        IThingWith l n cns  -> IThingWith (f l) n cns
+
+instance Annotated Assoc where
+    ann (AssocNone  l) = l
+    ann (AssocLeft  l) = l
+    ann (AssocRight l) = l
+    amap = fmap
+
+instance Annotated Deriving where
+    ann (Deriving l _)      = l
+    amap f (Deriving l ihs) = Deriving (f l) ihs
+
+instance Annotated TypeEqn where
+    ann (TypeEqn l _ _) = l
+    amap f (TypeEqn l a b) = TypeEqn (f l) a b
+
+instance Annotated InjectivityInfo where
+  ann (InjectivityInfo l _ _) = l
+  amap f (InjectivityInfo l to from) = InjectivityInfo (f l) to from
+
+instance Annotated ResultSig where
+  ann (KindSig l _) = l
+  ann (TyVarSig l _) = l
+
+  amap f (KindSig l k) = KindSig (f l) k
+  amap f (TyVarSig l tv) = TyVarSig (f l) tv
+
+instance Annotated Decl where
+    ann decl = case decl of
+        TypeDecl     l _ _              -> l
+        TypeFamDecl  l _ _ _            -> l
+        ClosedTypeFamDecl  l _ _ _ _    -> l
+        DataDecl     l _ _ _ _ _        -> l
+        GDataDecl    l _ _ _ _ _ _      -> l
+        DataFamDecl  l    _ _ _         -> l
+        TypeInsDecl  l _  _             -> l
+        DataInsDecl  l _ _ _ _          -> l
+        GDataInsDecl l _ _ _ _ _        -> l
+        ClassDecl    l _ _ _ _          -> l
+        InstDecl     l _ _ _            -> l
+        DerivDecl    l _ _              -> l
+        InfixDecl    l _ _ _            -> l
+        DefaultDecl  l _                -> l
+        SpliceDecl   l _                -> l
+        TypeSig      l _ _              -> l
+        PatSynSig    l _ _ _ _ _        -> l
+        FunBind      l _                -> l
+        PatBind      l _ _ _            -> l
+        ForImp       l _ _ _ _ _        -> l
+        ForExp       l _ _ _ _          -> l
+        RulePragmaDecl   l _            -> l
+        DeprPragmaDecl   l _            -> l
+        WarnPragmaDecl   l _            -> l
+        InlineSig        l _ _ _        -> l
+        InlineConlikeSig l   _ _        -> l
+        SpecSig          l   _ _ _      -> l
+        SpecInlineSig    l _ _ _ _      -> l
+        InstSig          l _            -> l
+        AnnPragma        l _            -> l
+        MinimalPragma    l _            -> l
+        RoleAnnotDecl    l _ _          -> l
+        PatSyn           l _ _ _        -> l
+    amap f decl = case decl of
+        TypeDecl     l dh t      -> TypeDecl    (f l) dh t
+        TypeFamDecl  l dh mk mi  -> TypeFamDecl (f l) dh mk mi
+        ClosedTypeFamDecl  l dh mk mi eqns  -> ClosedTypeFamDecl (f l) dh mk mi eqns
+        DataDecl     l dn mcx dh cds ders ->
+            DataDecl (f l) dn mcx dh cds ders
+        GDataDecl    l dn mcx dh mk gds ders ->
+            GDataDecl (f l) dn mcx dh mk gds ders
+        DataFamDecl  l mcx dh mk         -> DataFamDecl (f l) mcx dh mk
+        TypeInsDecl  l t1 t2             -> TypeInsDecl (f l) t1 t2
+        DataInsDecl  l dn t cds ders     -> DataInsDecl (f l) dn t cds ders
+        GDataInsDecl l dn t mk gds ders  -> GDataInsDecl (f l) dn t mk gds ders
+        ClassDecl    l mcx dh fds cds    -> ClassDecl (f l) mcx dh fds cds
+        InstDecl     l mo ih ids         -> InstDecl (f l) mo ih ids
+        DerivDecl    l mo ih             -> DerivDecl (f l) mo ih
+        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
+        TypeSig      l ns t              -> TypeSig (f l) ns t
+        PatSynSig    l n dh c1 c2 t      -> PatSynSig (f l) n dh c1 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
+        ForExp       l cc     s n t      -> ForExp (f l) cc     s n t
+        RulePragmaDecl   l rs            -> RulePragmaDecl (f l) rs
+        DeprPragmaDecl   l nss           -> DeprPragmaDecl (f l) nss
+        WarnPragmaDecl   l nss           -> WarnPragmaDecl (f l) nss
+        InlineSig        l b act qn      -> InlineSig (f l) b act qn
+        InlineConlikeSig l   act qn      -> InlineConlikeSig (f l) act qn
+        SpecSig          l   act qn ts   -> SpecSig       (f l)   act qn ts
+        SpecInlineSig    l b act qn ts   -> SpecInlineSig (f l) b act qn ts
+        InstSig          l ih            -> InstSig (f l) ih
+        AnnPragma        l ann'          -> AnnPragma (f l) ann'
+        MinimalPragma    l b             -> MinimalPragma (f l) b
+        RoleAnnotDecl    l t rs          -> RoleAnnotDecl (f l) t rs
+        PatSyn           l p r d         -> PatSyn (f l) p r d
+
+instance Annotated Role where
+    ann r = case r of
+      RoleWildcard l -> l
+      Representational l -> l
+      Phantom l -> l
+      Nominal l -> l
+    amap f r = case r of
+      RoleWildcard l -> RoleWildcard (f l)
+      Representational l -> Representational (f l)
+      Phantom l -> Phantom (f l)
+      Nominal l -> Nominal (f l)
+
+instance Annotated Annotation where
+    ann (Ann     l _ _) = l
+    ann (TypeAnn l _ _) = l
+    ann (ModuleAnn l _) = l
+    amap f (Ann     l n e) = Ann     (f l) n e
+    amap f (TypeAnn l n e) = TypeAnn (f l) n e
+    amap f (ModuleAnn l e) = ModuleAnn (f l) e
+
+instance Annotated BooleanFormula where
+    ann (VarFormula l _)   = l
+    ann (AndFormula l _)   = l
+    ann (OrFormula l _)    = l
+    ann (ParenFormula l _) = l
+    amap f (VarFormula l n)   = VarFormula (f l) n
+    amap f (AndFormula l bs)  = AndFormula (f l) bs
+    amap f (OrFormula l bs)   = OrFormula (f l) bs
+    amap f (ParenFormula l b) = ParenFormula (f l) b
+
+instance Annotated DataOrNew where
+    ann (DataType l) = l
+    ann (NewType  l) = l
+    amap = fmap
+
+instance Annotated DeclHead where
+    ann (DHead l _)              = l
+    ann (DHInfix l _ _)          = l
+    ann (DHParen l _)            = l
+    ann (DHApp l _ _)            = l
+    amap f (DHead l n)           = DHead (f l) n
+    amap f (DHInfix l tva n)     = DHInfix (f l) tva n
+    amap f (DHParen l dh)        = DHParen (f l) dh
+    amap f (DHApp l dh t)        = DHApp (f l) dh t
+
+instance Annotated InstRule where
+    ann (IRule l _ _ _)         = l
+    ann (IParen l _)            = l
+    amap f (IRule l mtv cxt qn) = IRule (f l) mtv cxt qn
+    amap f (IParen l ih)        = IParen (f l) ih
+
+instance Annotated InstHead where
+    ann (IHCon l _)              = l
+    ann (IHInfix l _ _)          = l
+    ann (IHParen l _)            = l
+    ann (IHApp l _ _)            = l
+    amap f (IHCon l n)           = IHCon (f l) n
+    amap f (IHInfix l tva n)     = IHInfix (f l) tva n
+    amap f (IHParen l dh)        = IHParen (f l) dh
+    amap f (IHApp l dh t)        = IHApp (f l) dh t
+
+instance Annotated Binds where
+    ann (BDecls  l _) = l
+    ann (IPBinds l _) = l
+    amap f (BDecls  l decls) = BDecls (f l) decls
+    amap f (IPBinds l ibs)   = IPBinds (f l) ibs
+
+instance Annotated IPBind where
+    ann (IPBind l _ _) = l
+    amap f (IPBind l ipn e) = IPBind (f l) ipn e
+
+instance Annotated Match where
+    ann (Match l _ _ _ _)        = l
+    ann (InfixMatch l _ _ _ _ _) = l
+    amap f (Match l n ps rhs bs) = Match (f l) n ps rhs bs
+    amap f (InfixMatch l a n b rhs bs) = InfixMatch (f l) a n b rhs bs
+
+instance Annotated QualConDecl where
+    ann (QualConDecl l _ _ _) = l
+    amap f (QualConDecl l tvs cx cd) = QualConDecl (f l) tvs cx cd
+
+instance Annotated ConDecl where
+    ann (ConDecl l _ _)        = l
+    ann (InfixConDecl l _ _ _) = l
+    ann (RecDecl l _ _)        = l
+    amap f (ConDecl l n bts) = ConDecl (f l) n bts
+    amap f (InfixConDecl l ta n tb) = InfixConDecl (f l) ta n tb
+    amap f (RecDecl l n fds) = RecDecl (f l) n fds
+
+instance Annotated FieldDecl where
+    ann (FieldDecl l _ _) = l
+    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
+
+instance Annotated ClassDecl where
+    ann (ClsDecl    l _)      = l
+    ann (ClsDataFam l _ _ _)  = l
+    ann (ClsTyFam   l _ _ _) = l
+    ann (ClsTyDef   l _)    = l
+    ann (ClsDefSig  l _ _)    = l
+    amap f (ClsDecl    l d) = ClsDecl (f l) d
+    amap f (ClsDataFam l mcx dh mk) = ClsDataFam (f l) mcx dh mk
+    amap f (ClsTyFam   l dh mk mi) = ClsTyFam (f l) dh mk mi
+    amap f (ClsTyDef   l t ) = ClsTyDef (f l) t
+    amap f (ClsDefSig  l n t) = ClsDefSig (f l) n t
+
+instance Annotated InstDecl where
+    ann id = case id of
+        InsDecl   l _            -> l
+        InsType   l _ _          -> l
+        InsData   l _ _  _ _     -> l
+        InsGData  l _ _ _ _ _    -> l
+--        InsInline l _ _ _    -> l
+    amap f id = case id of
+        InsDecl   l d           -> InsDecl (f l) d
+        InsType   l t1 t2       -> InsType (f l) t1 t2
+        InsData   l dn t    cds ders -> InsData  (f l) dn t    cds ders
+        InsGData  l dn t mk gds ders -> InsGData (f l) dn t mk gds ders
+--        InsInline l b act qn    -> InsInline (f l) b act qn
+
+instance Annotated BangType where
+     ann (BangedTy   l)       = l
+     ann (LazyTy   l)         = l
+     ann (NoStrictAnnot l)    = l
+
+     amap f (BangedTy   l) = BangedTy (f l)
+     amap f (LazyTy   l)   = LazyTy (f l)
+     amap f (NoStrictAnnot l) = NoStrictAnnot (f l)
+
+instance Annotated Unpackedness where
+    ann (Unpack l) = l
+    ann (NoUnpack l) = l
+    ann (NoUnpackPragma l) = l
+
+    amap f (Unpack l) = Unpack (f l)
+    amap f (NoUnpack l) = Unpack (f l)
+    amap f (NoUnpackPragma l) = Unpack (f l)
+
+instance Annotated Rhs where
+     ann (UnGuardedRhs l _) = l
+     ann (GuardedRhss  l _) = l
+     amap f (UnGuardedRhs l e)     = UnGuardedRhs (f l) e
+     amap f (GuardedRhss  l grhss) = GuardedRhss  (f l) grhss
+
+instance Annotated GuardedRhs where
+     ann (GuardedRhs l _ _) = l
+     amap f (GuardedRhs l ss e) = GuardedRhs (f l) ss e
+
+instance Annotated Type where
+    ann t = case t of
+      TyForall l _ _ _              -> l
+      TyFun   l _ _                 -> l
+      TyTuple l _ _                 -> l
+      TyList  l _                   -> l
+      TyParArray  l _               -> l
+      TyApp   l _ _                 -> l
+      TyVar   l _                   -> l
+      TyCon   l _                   -> l
+      TyParen l _                   -> l
+      TyInfix l _ _ _               -> l
+      TyKind  l _ _                 -> l
+      TyPromoted l   _              -> l
+      TyEquals l _ _                -> l
+      TySplice l _                  -> l
+      TyBang l _ _ _                  -> l
+      TyWildCard l _                -> l
+      TyQuasiQuote l _ _            -> l
+    amap f t1 = case t1 of
+      TyForall l mtvs mcx t         -> TyForall (f l) mtvs mcx t
+      TyFun   l t1' t2              -> TyFun (f l) t1' t2
+      TyTuple l b ts                -> TyTuple (f l) b ts
+      TyList  l t                   -> TyList (f l) t
+      TyParArray  l t               -> TyParArray (f l) t
+      TyApp   l t1' t2              -> TyApp (f l) t1' t2
+      TyVar   l n                   -> TyVar (f l) n
+      TyCon   l qn                  -> TyCon (f l) qn
+      TyParen l t                   -> TyParen (f l) t
+      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 a b                -> TyEquals (f l) a b
+      TySplice l s                  -> TySplice (f l) s
+      TyBang l b u t                  -> TyBang (f l) b u t
+      TyWildCard l n                -> TyWildCard (f l) n
+      TyQuasiQuote l n s            -> TyQuasiQuote (f l) n s
+
+instance Annotated TyVarBind where
+    ann (KindedVar   l _ _) = l
+    ann (UnkindedVar l _)   = l
+    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
+
+instance Annotated Context where
+    ann (CxSingle l _) = l
+    ann (CxTuple  l _) = l
+    ann (CxEmpty  l)   = l
+    amap f (CxSingle l asst ) = CxSingle (f l) asst
+    amap f (CxTuple  l assts) = CxTuple  (f l) assts
+    amap f (CxEmpty l) = CxEmpty (f l)
+
+instance Annotated Asst where
+    ann asst = case asst of
+        ClassA l _ _     -> l
+        AppA l _ _       -> l
+        InfixA 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
+        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
+        Char    l _    _  -> l
+        String  l _    _  -> l
+        Int     l _    _  -> l
+        Frac    l _    _  -> l
+        PrimInt    l _ _  -> l
+        PrimWord   l _ _  -> l
+        PrimFloat  l _ _  -> l
+        PrimDouble l _ _  -> l
+        PrimChar   l _ _  -> l
+        PrimString l _ _  -> l
+    amap = fmap
+
+instance Annotated Sign where
+    ann sg = case sg of
+        Signless l -> l
+        Negative l -> l
+    amap = fmap
+
+instance Annotated Exp where
+    ann e = case e of
+        Var l _                -> l
+        OverloadedLabel l _    -> l
+        IPVar l _              -> l
+        Con l _                -> l
+        Lit l _                -> l
+        InfixApp l _ _ _       -> l
+        App l _ _              -> l
+        NegApp l _             -> l
+        Lambda l _ _           -> l
+        Let l _ _              -> l
+        If l _ _ _             -> l
+        MultiIf l _            -> l
+        Case l _ _             -> l
+        Do l _                 -> l
+        MDo l _                -> l
+        Tuple l _ _            -> l
+        TupleSection l _ _     -> l
+        List l _               -> l
+        ParArray l _           -> l
+        Paren l _              -> l
+        LeftSection l _ _      -> l
+        RightSection l _ _     -> l
+        RecConstr l _ _        -> l
+        RecUpdate l _ _        -> l
+        EnumFrom l _           -> l
+        EnumFromTo l _ _       -> l
+        EnumFromThen l _ _     -> l
+        EnumFromThenTo l _ _ _ -> l
+        ParArrayFromTo l _ _   -> l
+        ParArrayFromThenTo l _ _ _ -> l
+        ListComp l _ _         -> l
+        ParComp  l _ _         -> l
+        ParArrayComp  l _ _    -> l
+        ExpTypeSig l _ _       -> l
+        VarQuote l _           -> l
+        TypQuote l _           -> l
+        BracketExp l _         -> l
+        SpliceExp l _          -> l
+        QuasiQuote l _ _       -> l
+        TypeApp l _            -> l
+
+        XTag  l _ _ _ _        -> l
+        XETag l _ _ _          -> l
+        XPcdata l _            -> l
+        XExpTag l _            -> l
+        XChildTag l _          -> l
+
+        CorePragma l _ _       -> l
+        SCCPragma  l _ _       -> l
+        GenPragma  l _ _ _ _   -> l
+
+        Proc            l _ _  -> l
+        LeftArrApp      l _ _  -> l
+        RightArrApp     l _ _  -> l
+        LeftArrHighApp  l _ _  -> l
+        RightArrHighApp l _ _  -> l
+
+        LCase l _              -> l
+        ExprHole l             -> l
+
+    amap f e1 = case e1 of
+        Var l qn        -> Var (f l) qn
+        OverloadedLabel l qn -> OverloadedLabel (f l) qn
+        IPVar l ipn     -> IPVar (f l) ipn
+        Con l qn        -> Con (f l) qn
+        Lit l lit       -> Lit (f l) lit
+        InfixApp l e1' qop e2    -> InfixApp (f l) e1' qop e2
+        App l e1' e2    -> App (f l) e1' e2
+        NegApp l e      -> NegApp (f l) e
+        Lambda l ps e   -> Lambda (f l) ps e
+        Let l bs e      -> Let (f l) bs e
+        If l ec et ee   -> If (f l) ec et ee
+        Case l e alts   -> Case (f l) e alts
+        Do l ss         -> Do (f l) ss
+        MDo l ss        -> MDo (f l) ss
+        Tuple l bx es   -> Tuple (f l) bx es
+        TupleSection l bx mes -> TupleSection (f l) bx mes
+        List l es       -> List (f l) es
+        ParArray l es   -> ParArray (f l) es
+        Paren l e       -> Paren (f l) e
+        LeftSection l e qop     -> LeftSection (f l) e qop
+        RightSection l qop e    -> RightSection (f l) qop e
+        RecConstr l qn fups     -> RecConstr (f l) qn fups
+        RecUpdate l e  fups     -> RecUpdate (f l) e  fups
+        EnumFrom l e            -> EnumFrom (f l) e
+        EnumFromTo l ef et      -> EnumFromTo (f l) ef et
+        EnumFromThen l ef et    -> EnumFromThen (f l) ef et
+        EnumFromThenTo l ef eth eto -> EnumFromThenTo (f l) ef eth eto
+        ParArrayFromTo l ef et  -> ParArrayFromTo (f l) ef et
+        ParArrayFromThenTo l ef eth eto -> ParArrayFromThenTo (f l) ef eth eto
+        ListComp l e qss        -> ListComp (f l) e qss
+        ParComp  l e qsss       -> ParComp  (f l) e qsss
+        ParArrayComp  l e qsss  -> ParArrayComp  (f l) e qsss
+        ExpTypeSig l e t        -> ExpTypeSig (f l) e t
+        VarQuote l qn           -> VarQuote (f l) qn
+        TypQuote l qn           -> TypQuote (f l) qn
+        BracketExp l br         -> BracketExp (f l) br
+        SpliceExp l sp          -> SpliceExp (f l) sp
+        QuasiQuote l sn se      -> QuasiQuote (f l) sn se
+        TypeApp l t             -> TypeApp (f l) t
+
+        XTag  l xn xas me es     -> XTag  (f l) xn xas me es
+        XETag l xn xas me        -> XETag (f l) xn xas me
+        XPcdata l s              -> XPcdata (f l) s
+        XExpTag l e              -> XExpTag (f l) e
+        XChildTag l es           -> XChildTag (f l) es
+
+        CorePragma l s e   -> CorePragma (f l) s e
+        SCCPragma  l s e   -> SCCPragma (f l) s e
+        GenPragma  l s n12 n34 e -> GenPragma (f l) s n12 n34 e
+
+        Proc            l p e  -> Proc (f l) p e
+        LeftArrApp      l e1' e2 -> LeftArrApp      (f l) e1' e2
+        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
+
+        LCase l alts -> LCase (f l) alts
+        MultiIf l alts -> MultiIf (f l) alts
+        ExprHole l      -> ExprHole (f l)
+
+
+instance Annotated XName where
+    ann (XName l _)      = l
+    ann (XDomName l _ _) = l
+    amap = fmap
+
+instance Annotated XAttr where
+    ann (XAttr l _ _) = l
+    amap f (XAttr l xn e) = XAttr (f l) xn e
+
+instance Annotated Bracket where
+    ann (ExpBracket 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 (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 (ParenSplice l _) = l
+    amap f (IdSplice l s) = IdSplice (f l) s
+    amap f (ParenSplice l e) = ParenSplice (f l) e
+
+instance Annotated Safety where
+    ann (PlayRisky l) = l
+    ann (PlaySafe l _) = l
+    ann (PlayInterruptible l) = l
+    amap = fmap
+
+instance Annotated CallConv where
+    ann (StdCall l) = l
+    ann (CCall l) = l
+    ann (CPlusPlus l) = l
+    ann (DotNet l) = l
+    ann (Jvm l) = l
+    ann (Js l) = l
+    ann (JavaScript l) = l
+    ann (CApi l) = l
+    amap = fmap
+
+instance Annotated ModulePragma where
+    ann (LanguagePragma   l _)   = l
+    ann (OptionsPragma    l _ _) = l
+    ann (AnnModulePragma  l _)   = l
+    amap f (LanguagePragma   l ns) = LanguagePragma (f l) ns
+    amap f (AnnModulePragma  l a) = AnnModulePragma (f l) a
+    amap f p = fmap f p
+
+instance Annotated Overlap where
+    ann (NoOverlap l)  = l
+    ann (Overlap l)    = l
+    ann (Incoherent l) = l
+    amap = fmap
+
+instance Annotated Activation where
+    ann (ActiveFrom   l _) = l
+    ann (ActiveUntil  l _) = l
+    amap = fmap
+
+instance Annotated Rule where
+    ann (Rule l _ _ _ _ _) = l
+    amap f (Rule l s act mrvs e1 e2) = Rule (f l) s act mrvs e1 e2
+
+instance Annotated RuleVar where
+    ann (RuleVar l _)        = l
+    ann (TypedRuleVar l _ _) = l
+    amap f (RuleVar l n) = RuleVar (f l) n
+    amap f (TypedRuleVar l n t) = TypedRuleVar (f l) n t
+
+instance Annotated WarningText where
+    ann (DeprText l _) = l
+    ann (WarnText l _) = l
+    amap = fmap
+
+instance Annotated Pat where
+    ann p = case p of
+      PVar l _          -> l
+      PLit l _ _        -> l
+      PNPlusK l _ _     -> l
+      PInfixApp l _ _ _ -> l
+      PApp l _ _        -> l
+      PTuple l _ _      -> l
+      PList l _         -> l
+      PParen l _        -> l
+      PRec l _ _        -> l
+      PAsPat l _ _      -> l
+      PWildCard l       -> l
+      PIrrPat l _       -> l
+      PatTypeSig l _ _  -> l
+      PViewPat l _ _    -> l
+      PRPat l _         -> l
+      PXTag l _ _ _ _   -> l
+      PXETag l _ _ _    -> l
+      PXPcdata l _      -> l
+      PXPatTag l _      -> l
+      PXRPats  l _      -> l
+      PQuasiQuote l _ _ -> l
+      PBangPat l _      -> l
+    amap f p1 = case p1 of
+      PVar l n          -> PVar (f l) n
+      PLit l sg lit     -> PLit (f l) sg lit
+      PNPlusK l n k     -> PNPlusK (f l) n k
+      PInfixApp l pa qn pb  -> PInfixApp (f l) pa qn pb
+      PApp l qn ps      -> PApp (f l) qn ps
+      PTuple l bx ps    -> PTuple (f l) bx ps
+      PList l ps        -> PList (f l) ps
+      PParen l p        -> PParen (f l) p
+      PRec l qn pfs     -> PRec (f l) qn pfs
+      PAsPat l n p      -> PAsPat (f l) n p
+      PWildCard l       -> PWildCard (f l)
+      PIrrPat l p       -> PIrrPat (f l) p
+      PatTypeSig l p t  -> PatTypeSig (f l) p t
+      PViewPat l e p    -> PViewPat (f l) e p
+      PRPat l rps       -> PRPat (f l) rps
+      PXTag l xn pxas mp ps -> PXTag  (f l) xn pxas mp ps
+      PXETag l xn pxas mp   -> PXETag (f l) xn pxas mp
+      PXPcdata l s      -> PXPcdata (f l) s
+      PXPatTag l p      -> PXPatTag (f l) p
+      PXRPats  l rps    -> PXRPats  (f l) rps
+      PQuasiQuote l sn st   -> PQuasiQuote (f l) sn st
+      PBangPat l p          -> PBangPat (f l) p
+
+instance Annotated PXAttr where
+    ann (PXAttr l _ _) = l
+    amap f (PXAttr l xn p) = PXAttr (f l) xn p
+
+instance Annotated RPatOp where
+    ann (RPStar  l) = l
+    ann (RPStarG l) = l
+    ann (RPPlus  l) = l
+    ann (RPPlusG l) = l
+    ann (RPOpt   l) = l
+    ann (RPOptG  l) = l
+    amap = fmap
+
+instance Annotated RPat where
+    ann rp = case rp of
+      RPOp l _ _            -> l
+      RPEither l _ _        -> l
+      RPSeq l _             -> l
+      RPGuard l _ _         -> l
+      RPCAs l _ _           -> l
+      RPAs l _ _            -> l
+      RPParen l _           -> l
+      RPPat l _             -> l
+    amap f rp1 = case rp1 of
+      RPOp l rp rop         -> RPOp (f l) rp rop
+      RPEither l rp1' rp2   -> RPEither (f l) rp1' rp2
+      RPSeq l rps           -> RPSeq (f l) rps
+      RPGuard l p ss        -> RPGuard (f l) p ss
+      RPCAs l n rp          -> RPCAs (f l) n rp
+      RPAs l n rp           -> RPAs (f l) n rp
+      RPParen l rp          -> RPParen (f l) rp
+      RPPat l p             -> RPPat (f l) p
+
+instance Annotated PatField where
+    ann (PFieldPat l _ _)  = l
+    ann (PFieldPun l _)    = l
+    ann (PFieldWildcard l) = l
+    amap f (PFieldPat l qn p) = PFieldPat (f l) qn p
+    amap f (PFieldPun l n) = PFieldPun (f l) n
+    amap f (PFieldWildcard l) = PFieldWildcard (f l)
+
+instance Annotated Stmt where
+    ann (Generator l _ _) = l
+    ann (Qualifier l _)   = l
+    ann (LetStmt l _)     = l
+    ann (RecStmt l _)     = l
+    amap f (Generator l p e) = Generator (f l) p e
+    amap f (Qualifier l e)   = Qualifier (f l) e
+    amap f (LetStmt l bs)    = LetStmt (f l) bs
+    amap f (RecStmt l ss)    = RecStmt (f l) ss
+
+instance Annotated QualStmt where
+    ann (QualStmt     l _)   = l
+    ann (ThenTrans    l _)   = l
+    ann (ThenBy       l _ _) = l
+    ann (GroupBy      l _)   = l
+    ann (GroupUsing   l _)   = l
+    ann (GroupByUsing l _ _) = l
+    amap f (QualStmt     l s) = QualStmt (f l) s
+    amap f (ThenTrans    l e) = ThenTrans (f l) e
+    amap f (ThenBy       l e1 e2) = ThenBy (f l) e1 e2
+    amap f (GroupBy      l e) = GroupBy (f l) e
+    amap f (GroupUsing   l e) = GroupUsing (f l) e
+    amap f (GroupByUsing l e1 e2) = GroupByUsing (f l) e1 e2
+
+instance Annotated FieldUpdate where
+    ann (FieldUpdate l _ _)  = l
+    ann (FieldPun l _)       = l
+    ann (FieldWildcard l)    = l
+    amap f (FieldUpdate l qn e) = FieldUpdate (f l) qn e
+    amap f (FieldPun l n)       = FieldPun (f l) n
+    amap f (FieldWildcard l)    = FieldWildcard (f l)
+
+instance Annotated Alt where
+    ann (Alt l _ _ _) = l
+    amap f (Alt l p gs bs) = Alt (f l) p gs bs
+
+instance Annotated Promoted where
+    ann (PromotedInteger l _ _) = l
+    ann (PromotedString l _ _)  = l
+    ann (PromotedCon l _ _)     = l
+    ann (PromotedList l _ _)    = l
+    ann (PromotedTuple l _)     = l
+    ann (PromotedUnit l)        = l
+    amap f (PromotedInteger l int raw) = PromotedInteger (f l) int raw
+    amap f (PromotedString l str raw) = PromotedString (f l) str raw
+    amap f (PromotedCon l b qn)   = PromotedCon (f l) b qn
+    amap f (PromotedList l b ps)  = PromotedList  (f l) b ps
+    amap f (PromotedTuple l ps) = PromotedTuple (f l) ps
+    amap f (PromotedUnit l)     = PromotedUnit (f l)
diff --git a/tests/Extensions.hs b/tests/Extensions.hs
--- a/tests/Extensions.hs
+++ b/tests/Extensions.hs
@@ -5,7 +5,7 @@
 import Test.Tasty
 import Test.Tasty.SmallCheck
 import Test.SmallCheck.Series
-import Language.Haskell.Exts.Annotated
+import Language.Haskell.Exts
 import Data.Function
 import Data.List
 
diff --git a/tests/Runner.hs b/tests/Runner.hs
--- a/tests/Runner.hs
+++ b/tests/Runner.hs
@@ -2,8 +2,7 @@
 -- | Use "runhaskell Setup.hs test" or "cabal test" to run these tests.
 module Main where
 
-import Language.Haskell.Exts.Annotated
-import qualified Language.Haskell.Exts as S -- S for "Simple", i.e. not annotated
+import Language.Haskell.Exts
 
 import Test.Tasty hiding (defaultMain)
 import Test.Tasty.Golden
@@ -12,7 +11,6 @@
 import System.IO
 import Control.Monad.Trans
 import Control.Applicative
-import Data.Generics
 import Extensions
 import Text.Show.Pretty
 
@@ -94,7 +92,7 @@
       let
         -- parse
         mbAst =
-          S.parseFileContentsWithMode
+          parseFileContentsWithMode
             (defaultParseMode { parseFilename = file })
             contents
         -- try to pretty-print; summarize the test result
@@ -117,22 +115,22 @@
       contents <- readUTF8File file
       let
         -- parse
-        parse1Result :: ParseResult S.Module
+        parse1Result :: ParseResult (Module SrcSpanInfo)
         parse1Result =
-          S.parseFileContentsWithMode
+          parseFileContentsWithMode
             (defaultParseMode { parseFilename = file })
             contents
 
         prettyResult :: ParseResult String
         prettyResult = prettyPrint <$> parse1Result
 
-        parse2Result :: ParseResult (ParseResult S.Module)
-        parse2Result = S.parseFileContents <$> prettyResult
+        parse2Result :: ParseResult (ParseResult (Module SrcSpanInfo))
+        parse2Result = parseFileContents <$> prettyResult
 
         -- Even the un-annotated AST contains certain locations.
         -- Obviously, they may differ, so we have to erase them.
-        eraseLocs :: S.Module -> S.Module
-        eraseLocs = everywhere $ mkT $ const noLoc
+        eraseLocs :: Module l -> Module ()
+        eraseLocs = (() <$)
 
         summary =
           case liftA3 (,,) parse1Result prettyResult parse2Result of
diff --git a/tests/examples/AmbiguousFixities.hs.parser.golden b/tests/examples/AmbiguousFixities.hs.parser.golden
--- a/tests/examples/AmbiguousFixities.hs.parser.golden
+++ b/tests/examples/AmbiguousFixities.hs.parser.golden
@@ -1,1 +1,1 @@
-ParseFailed (SrcLoc "" -1 -1) "Ambiguous infix expression"
+ParseFailed (SrcLoc "" (-1) (-1)) "Ambiguous infix expression"
diff --git a/tests/examples/AtSign.hs b/tests/examples/AtSign.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/AtSign.hs
@@ -0,0 +1,17 @@
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE TypeApplications #-}
+{- |
+Accelerate interface to the native CUDA implementation
+of the Fourier Transform provided by the CUFFT library.
+-}
+module Data.Array.Accelerate.CUFFT.Private where
+
+
+transform hndl@(Handle fallback mode width _) =
+   wrap mode (A.constant width) $
+   A.foreignAcc
+      (AF.CUDAForeignAcc "transformForeign" $ transformForeign hndl)
+      (unwrap mode (A.constant width) fallback)
+
+
diff --git a/tests/examples/AtSign.hs.exactprinter.golden b/tests/examples/AtSign.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/AtSign.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/AtSign.hs.parser.golden b/tests/examples/AtSign.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/AtSign.hs.parser.golden
@@ -0,0 +1,591 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 1 1 18 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/AtSign.hs" 1 1 1 1
+            , SrcSpan "tests/examples/AtSign.hs" 2 1 2 1
+            , SrcSpan "tests/examples/AtSign.hs" 3 1 3 1
+            , SrcSpan "tests/examples/AtSign.hs" 8 1 8 1
+            , SrcSpan "tests/examples/AtSign.hs" 8 1 8 1
+            , SrcSpan "tests/examples/AtSign.hs" 11 1 11 1
+            , SrcSpan "tests/examples/AtSign.hs" 18 1 18 1
+            , SrcSpan "tests/examples/AtSign.hs" 18 1 18 1
+            ]
+        }
+      (Just
+         (ModuleHead
+            SrcSpanInfo
+              { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 8 1 8 49
+              , srcInfoPoints =
+                  [ SrcSpan "tests/examples/AtSign.hs" 8 1 8 7
+                  , SrcSpan "tests/examples/AtSign.hs" 8 44 8 49
+                  ]
+              }
+            (ModuleName
+               SrcSpanInfo
+                 { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 8 8 8 43
+                 , srcInfoPoints = []
+                 }
+               "Data.Array.Accelerate.CUFFT.Private")
+            Nothing
+            Nothing))
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 1 1 1 30
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/AtSign.hs" 1 1 1 13
+                , SrcSpan "tests/examples/AtSign.hs" 1 27 1 30
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 1 14 1 26
+                , srcInfoPoints = []
+                }
+              "TypeFamilies"
+          ]
+      , LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 2 1 2 31
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/AtSign.hs" 2 1 2 13
+                , SrcSpan "tests/examples/AtSign.hs" 2 28 2 31
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 2 14 2 27
+                , srcInfoPoints = []
+                }
+              "TypeOperators"
+          ]
+      , LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 3 1 3 34
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/AtSign.hs" 3 1 3 13
+                , SrcSpan "tests/examples/AtSign.hs" 3 31 3 34
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 3 14 3 30
+                , srcInfoPoints = []
+                }
+              "TypeApplications"
+          ]
+      ]
+      []
+      [ FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 1 15 48
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 1 15 48
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 1 11 10
+                   , srcInfoPoints = []
+                   }
+                 "transform")
+              [ PAsPat
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 11 11 46
+                    , srcInfoPoints =
+                        [ SrcSpan "tests/examples/AtSign.hs" 11 15 11 16 ]
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 11 11 15
+                       , srcInfoPoints = []
+                       }
+                     "hndl")
+                  (PParen
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 16 11 46
+                       , srcInfoPoints =
+                           [ SrcSpan "tests/examples/AtSign.hs" 11 16 11 17
+                           , SrcSpan "tests/examples/AtSign.hs" 11 45 11 46
+                           ]
+                       }
+                     (PApp
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 17 11 45
+                          , srcInfoPoints = []
+                          }
+                        (UnQual
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 17 11 23
+                             , srcInfoPoints = []
+                             }
+                           (Ident
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 17 11 23
+                                , srcInfoPoints = []
+                                }
+                              "Handle"))
+                        [ PVar
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 24 11 32
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 24 11 32
+                                 , srcInfoPoints = []
+                                 }
+                               "fallback")
+                        , PVar
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 33 11 37
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 33 11 37
+                                 , srcInfoPoints = []
+                                 }
+                               "mode")
+                        , PVar
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 38 11 43
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 38 11 43
+                                 , srcInfoPoints = []
+                                 }
+                               "width")
+                        , PWildCard
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 44 11 45
+                              , srcInfoPoints = []
+                              }
+                        ]))
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 11 47 15 48
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/AtSign.hs" 11 47 11 48 ]
+                   }
+                 (InfixApp
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 15 48
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 32
+                         , srcInfoPoints = []
+                         }
+                       (App
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 13
+                            , srcInfoPoints = []
+                            }
+                          (Var
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 8
+                               , srcInfoPoints = []
+                               }
+                             (UnQual
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 8
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 4 12 8
+                                     , srcInfoPoints = []
+                                     }
+                                   "wrap")))
+                          (Var
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 9 12 13
+                               , srcInfoPoints = []
+                               }
+                             (UnQual
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 9 12 13
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 9 12 13
+                                     , srcInfoPoints = []
+                                     }
+                                   "mode"))))
+                       (Paren
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 14 12 32
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/AtSign.hs" 12 14 12 15
+                                , SrcSpan "tests/examples/AtSign.hs" 12 31 12 32
+                                ]
+                            }
+                          (App
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 15 12 31
+                               , srcInfoPoints = []
+                               }
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 15 12 25
+                                  , srcInfoPoints = []
+                                  }
+                                (Qual
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 15 12 25
+                                     , srcInfoPoints = []
+                                     }
+                                   (ModuleName
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/AtSign.hs" 12 15 12 25
+                                        , srcInfoPoints = []
+                                        }
+                                      "A")
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/AtSign.hs" 12 15 12 25
+                                        , srcInfoPoints = []
+                                        }
+                                      "constant")))
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 26 12 31
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 26 12 31
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/AtSign.hs" 12 26 12 31
+                                        , srcInfoPoints = []
+                                        }
+                                      "width"))))))
+                    (QVarOp
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 33 12 34
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 33 12 34
+                            , srcInfoPoints = []
+                            }
+                          (Symbol
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 12 33 12 34
+                               , srcInfoPoints = []
+                               }
+                             "$")))
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 15 48
+                         , srcInfoPoints = []
+                         }
+                       (App
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 14 69
+                            , srcInfoPoints = []
+                            }
+                          (Var
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16
+                               , srcInfoPoints = []
+                               }
+                             (Qual
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16
+                                  , srcInfoPoints = []
+                                  }
+                                (ModuleName
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16
+                                     , srcInfoPoints = []
+                                     }
+                                   "A")
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 13 4 13 16
+                                     , srcInfoPoints = []
+                                     }
+                                   "foreignAcc")))
+                          (Paren
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 7 14 69
+                               , srcInfoPoints =
+                                   [ SrcSpan "tests/examples/AtSign.hs" 14 7 14 8
+                                   , SrcSpan "tests/examples/AtSign.hs" 14 68 14 69
+                                   ]
+                               }
+                             (InfixApp
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 8 14 68
+                                  , srcInfoPoints = []
+                                  }
+                                (App
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 8 14 44
+                                     , srcInfoPoints = []
+                                     }
+                                   (Con
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/AtSign.hs" 14 8 14 25
+                                        , srcInfoPoints = []
+                                        }
+                                      (Qual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/AtSign.hs" 14 8 14 25
+                                           , srcInfoPoints = []
+                                           }
+                                         (ModuleName
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan "tests/examples/AtSign.hs" 14 8 14 25
+                                              , srcInfoPoints = []
+                                              }
+                                            "AF")
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan "tests/examples/AtSign.hs" 14 8 14 25
+                                              , srcInfoPoints = []
+                                              }
+                                            "CUDAForeignAcc")))
+                                   (Lit
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/AtSign.hs" 14 26 14 44
+                                        , srcInfoPoints = []
+                                        }
+                                      (String
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/AtSign.hs" 14 26 14 44
+                                           , srcInfoPoints = []
+                                           }
+                                         "transformForeign"
+                                         "transformForeign")))
+                                (QVarOp
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 45 14 46
+                                     , srcInfoPoints = []
+                                     }
+                                   (UnQual
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/AtSign.hs" 14 45 14 46
+                                        , srcInfoPoints = []
+                                        }
+                                      (Symbol
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/AtSign.hs" 14 45 14 46
+                                           , srcInfoPoints = []
+                                           }
+                                         "$")))
+                                (App
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 14 47 14 68
+                                     , srcInfoPoints = []
+                                     }
+                                   (Var
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/AtSign.hs" 14 47 14 63
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/AtSign.hs" 14 47 14 63
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan "tests/examples/AtSign.hs" 14 47 14 63
+                                              , srcInfoPoints = []
+                                              }
+                                            "transformForeign")))
+                                   (Var
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/AtSign.hs" 14 64 14 68
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/AtSign.hs" 14 64 14 68
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan "tests/examples/AtSign.hs" 14 64 14 68
+                                              , srcInfoPoints = []
+                                              }
+                                            "hndl")))))))
+                       (Paren
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 7 15 48
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/AtSign.hs" 15 7 15 8
+                                , SrcSpan "tests/examples/AtSign.hs" 15 47 15 48
+                                ]
+                            }
+                          (App
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 8 15 47
+                               , srcInfoPoints = []
+                               }
+                             (App
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 8 15 38
+                                  , srcInfoPoints = []
+                                  }
+                                (App
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 8 15 19
+                                     , srcInfoPoints = []
+                                     }
+                                   (Var
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/AtSign.hs" 15 8 15 14
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/AtSign.hs" 15 8 15 14
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan "tests/examples/AtSign.hs" 15 8 15 14
+                                              , srcInfoPoints = []
+                                              }
+                                            "unwrap")))
+                                   (Var
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/AtSign.hs" 15 15 15 19
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/AtSign.hs" 15 15 15 19
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan "tests/examples/AtSign.hs" 15 15 15 19
+                                              , srcInfoPoints = []
+                                              }
+                                            "mode"))))
+                                (Paren
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 20 15 38
+                                     , srcInfoPoints =
+                                         [ SrcSpan "tests/examples/AtSign.hs" 15 20 15 21
+                                         , SrcSpan "tests/examples/AtSign.hs" 15 37 15 38
+                                         ]
+                                     }
+                                   (App
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/AtSign.hs" 15 21 15 37
+                                        , srcInfoPoints = []
+                                        }
+                                      (Var
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/AtSign.hs" 15 21 15 31
+                                           , srcInfoPoints = []
+                                           }
+                                         (Qual
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan "tests/examples/AtSign.hs" 15 21 15 31
+                                              , srcInfoPoints = []
+                                              }
+                                            (ModuleName
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan "tests/examples/AtSign.hs" 15 21 15 31
+                                                 , srcInfoPoints = []
+                                                 }
+                                               "A")
+                                            (Ident
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan "tests/examples/AtSign.hs" 15 21 15 31
+                                                 , srcInfoPoints = []
+                                                 }
+                                               "constant")))
+                                      (Var
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/AtSign.hs" 15 32 15 37
+                                           , srcInfoPoints = []
+                                           }
+                                         (UnQual
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan "tests/examples/AtSign.hs" 15 32 15 37
+                                              , srcInfoPoints = []
+                                              }
+                                            (Ident
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan "tests/examples/AtSign.hs" 15 32 15 37
+                                                 , srcInfoPoints = []
+                                                 }
+                                               "width"))))))
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 39 15 47
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/AtSign.hs" 15 39 15 47
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/AtSign.hs" 15 39 15 47
+                                        , srcInfoPoints = []
+                                        }
+                                      "fallback"))))))))
+              Nothing
+          ]
+      ]
+  , [ Comment
+        True
+        (SrcSpan "tests/examples/AtSign.hs" 4 1 7 3)
+        " |\nAccelerate interface to the native CUDA implementation\nof the Fourier Transform provided by the CUFFT library.\n"
+    ]
+  )
diff --git a/tests/examples/AtSign.hs.prettyparser.golden b/tests/examples/AtSign.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/AtSign.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/AtSign.hs.prettyprinter.golden b/tests/examples/AtSign.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/AtSign.hs.prettyprinter.golden
@@ -0,0 +1,9 @@
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE TypeApplications #-}
+module Data.Array.Accelerate.CUFFT.Private where
+transform hndl@(Handle fallback mode width _)
+  = wrap mode (A.constant width) $
+      A.foreignAcc
+        (AF.CUDAForeignAcc "transformForeign" $ transformForeign hndl)
+        (unwrap mode (A.constant width) fallback)
diff --git a/tests/examples/Attributes.hs.parser.golden b/tests/examples/Attributes.hs.parser.golden
# file too large to diff: tests/examples/Attributes.hs.parser.golden
diff --git a/tests/examples/BangViewPat.hs.prettyprinter.golden b/tests/examples/BangViewPat.hs.prettyprinter.golden
--- a/tests/examples/BangViewPat.hs.prettyprinter.golden
+++ b/tests/examples/BangViewPat.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE BangPatterns, ViewPatterns #-}
-module Main (main) where
 someFun (id -> !arg) = undefined
diff --git a/tests/examples/BinaryLiteralsGood.hs.prettyparser.golden b/tests/examples/BinaryLiteralsGood.hs.prettyparser.golden
--- a/tests/examples/BinaryLiteralsGood.hs.prettyparser.golden
+++ b/tests/examples/BinaryLiteralsGood.hs.prettyparser.golden
@@ -1,1 +1,10 @@
-Match
+Roundtrip test failed
+
+AST 1:
+
+Module () Nothing [LanguagePragma () [Ident () "BinaryLiterals"],LanguagePragma () [Ident () "MagicHash"]] [ImportDecl {importAnn = (), importModule = ModuleName () "GHC.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [PatBind () (PVar () (Ident () "main")) (UnGuardedRhs () (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 0 "0b0")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 0 "0b0")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "0b1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "0b1")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "0b00000000000000000000000000000000000000000000000000000000000000000000000000001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "0b00000000000000000000000000000000000000000000000000000000000000000000000000001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "0b11001001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "0b11001001")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "0b11111111")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "0b11111111"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 0 "0b0")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "0b1")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 201 "0b11001001")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 3 "0b11")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 255 "0b11111111")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "0b00000000000000000000000000000000000000000000000000000000000000000000000000001"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [Lit () (Int () 0 "0b0"),Lit () (Int () 1 "0b1"),Lit () (Int () 2 "0b10"),Lit () (Int () 3 "0b11"),Lit () (Int () 4 "0b100"),Lit () (Int () 5 "0b101"),Lit () (Int () 6 "0b110"),ExpTypeSig () (Lit () (Int () 7 "0b111")) (TyCon () (UnQual () (Ident () "Integer"))),NegApp () (Lit () (Int () 0 "0b0")),NegApp () (Lit () (Int () 1 "0b1")),NegApp () (Lit () (Int () 2 "0b10")),NegApp () (Lit () (Int () 3 "0b11")),NegApp () (Lit () (Int () 4 "0b100")),NegApp () (Lit () (Int () 5 "0b101")),NegApp () (Lit () (Int () 6 "0b110")),NegApp () (Lit () (Int () 7 "0b111")),Lit () (Int () 340282366920938463463374607431768211455 "0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"),NegApp () (Lit () (Int () 340282366920938463463374607431768211455 "0b11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [InfixApp () (Con () (UnQual () (Ident () "I8#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 128 "0B10000000")),App () (Con () (UnQual () (Ident () "I8#"))) (Lit () (PrimInt () 127 "0B1111111"))]))])) Nothing]
+
+AST 2:
+
+Module () Nothing [LanguagePragma () [Ident () "BinaryLiterals"],LanguagePragma () [Ident () "MagicHash"]] [ImportDecl {importAnn = (), importModule = ModuleName () "GHC.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [PatBind () (PVar () (Ident () "main")) (UnGuardedRhs () (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 0 "0")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 0 "0")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "1")),App () (Con () (UnQual () (Ident () "I#"))) (Lit () (PrimInt () 1 "1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 1 "1")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "201")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 201 "201")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "255")),InfixApp () (Con () (UnQual () (Ident () "I#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 255 "255"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 0 "0")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "1")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 201 "201")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 3 "3")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 255 "255")),App () (Con () (UnQual () (Ident () "W#"))) (Lit () (PrimWord () 1 "1"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [Lit () (Int () 0 "0"),Lit () (Int () 1 "1"),Lit () (Int () 2 "2"),Lit () (Int () 3 "3"),Lit () (Int () 4 "4"),Lit () (Int () 5 "5"),Lit () (Int () 6 "6"),ExpTypeSig () (Lit () (Int () 7 "7")) (TyCon () (UnQual () (Ident () "Integer"))),NegApp () (Lit () (Int () 0 "0")),NegApp () (Lit () (Int () 1 "1")),NegApp () (Lit () (Int () 2 "2")),NegApp () (Lit () (Int () 3 "3")),NegApp () (Lit () (Int () 4 "4")),NegApp () (Lit () (Int () 5 "5")),NegApp () (Lit () (Int () 6 "6")),NegApp () (Lit () (Int () 7 "7")),Lit () (Int () 340282366920938463463374607431768211455 "340282366920938463463374607431768211455"),NegApp () (Lit () (Int () 340282366920938463463374607431768211455 "340282366920938463463374607431768211455"))])),Qualifier () (App () (Var () (UnQual () (Ident () "print"))) (List () [InfixApp () (Con () (UnQual () (Ident () "I8#"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (PrimInt () 128 "128")),App () (Con () (UnQual () (Ident () "I8#"))) (Lit () (PrimInt () 127 "127"))]))])) Nothing]
+
diff --git a/tests/examples/BinaryLiteralsGood.hs.prettyprinter.golden b/tests/examples/BinaryLiteralsGood.hs.prettyprinter.golden
--- a/tests/examples/BinaryLiteralsGood.hs.prettyprinter.golden
+++ b/tests/examples/BinaryLiteralsGood.hs.prettyprinter.golden
@@ -1,6 +1,5 @@
 {-# LANGUAGE BinaryLiterals #-}
 {-# LANGUAGE MagicHash #-}
-module Main (main) where
 import GHC.Types
 main
   = do print
diff --git a/tests/examples/BracketInstanceHead.hs.prettyprinter.golden b/tests/examples/BracketInstanceHead.hs.prettyprinter.golden
--- a/tests/examples/BracketInstanceHead.hs.prettyprinter.golden
+++ b/tests/examples/BracketInstanceHead.hs.prettyprinter.golden
@@ -1,3 +1,1 @@
-module Main (main) where
-
-instance Bounded a => Bounded [a]
+instance (Bounded a => Bounded [a]) where
diff --git a/tests/examples/Bug.hs.prettyprinter.golden b/tests/examples/Bug.hs.prettyprinter.golden
--- a/tests/examples/Bug.hs.prettyprinter.golden
+++ b/tests/examples/Bug.hs.prettyprinter.golden
@@ -1,2 +1,1 @@
-module Main (main) where
 import Test.QuickCheck
diff --git a/tests/examples/Bundles.hs b/tests/examples/Bundles.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/Bundles.hs
@@ -0,0 +1,4 @@
+{-# LANGUAGE PatternSynonyms #-}
+module Bundles(Foo(..), Baz(..,Q), Qux(F,..), Tux(Q,..,F)) where
+
+main = main
diff --git a/tests/examples/Bundles.hs.exactprinter.golden b/tests/examples/Bundles.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Bundles.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/Bundles.hs.parser.golden b/tests/examples/Bundles.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Bundles.hs.parser.golden
@@ -0,0 +1,252 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 1 1 5 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/Bundles.hs" 1 1 1 1
+            , SrcSpan "tests/examples/Bundles.hs" 2 1 2 1
+            , SrcSpan "tests/examples/Bundles.hs" 2 1 2 1
+            , SrcSpan "tests/examples/Bundles.hs" 4 1 4 1
+            , SrcSpan "tests/examples/Bundles.hs" 5 1 5 1
+            , SrcSpan "tests/examples/Bundles.hs" 5 1 5 1
+            ]
+        }
+      (Just
+         (ModuleHead
+            SrcSpanInfo
+              { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 1 2 65
+              , srcInfoPoints =
+                  [ SrcSpan "tests/examples/Bundles.hs" 2 1 2 7
+                  , SrcSpan "tests/examples/Bundles.hs" 2 60 2 65
+                  ]
+              }
+            (ModuleName
+               SrcSpanInfo
+                 { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 8 2 15
+                 , srcInfoPoints = []
+                 }
+               "Bundles")
+            Nothing
+            (Just
+               (ExportSpecList
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 15 2 59
+                    , srcInfoPoints =
+                        [ SrcSpan "tests/examples/Bundles.hs" 2 15 2 16
+                        , SrcSpan "tests/examples/Bundles.hs" 2 23 2 24
+                        , SrcSpan "tests/examples/Bundles.hs" 2 34 2 35
+                        , SrcSpan "tests/examples/Bundles.hs" 2 45 2 46
+                        , SrcSpan "tests/examples/Bundles.hs" 2 58 2 59
+                        ]
+                    }
+                  [ EThingWith
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 16 2 23
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/Bundles.hs" 2 19 2 20
+                            , SrcSpan "tests/examples/Bundles.hs" 2 22 2 23
+                            ]
+                        }
+                      (EWildcard
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 20 2 22
+                           , srcInfoPoints = []
+                           }
+                         0)
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 16 2 19
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 16 2 19
+                              , srcInfoPoints = []
+                              }
+                            "Foo"))
+                      []
+                  , EThingWith
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 25 2 34
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/Bundles.hs" 2 28 2 29
+                            , SrcSpan "tests/examples/Bundles.hs" 2 31 2 32
+                            , SrcSpan "tests/examples/Bundles.hs" 2 33 2 34
+                            ]
+                        }
+                      (EWildcard
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 29 2 31
+                           , srcInfoPoints = []
+                           }
+                         0)
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 25 2 28
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 25 2 28
+                              , srcInfoPoints = []
+                              }
+                            "Baz"))
+                      [ ConName
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 32 2 33
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 32 2 33
+                               , srcInfoPoints = []
+                               }
+                             "Q")
+                      ]
+                  , EThingWith
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 36 2 45
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/Bundles.hs" 2 39 2 40
+                            , SrcSpan "tests/examples/Bundles.hs" 2 41 2 42
+                            , SrcSpan "tests/examples/Bundles.hs" 2 44 2 45
+                            ]
+                        }
+                      (EWildcard
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 42 2 44
+                           , srcInfoPoints = []
+                           }
+                         1)
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 36 2 39
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 36 2 39
+                              , srcInfoPoints = []
+                              }
+                            "Qux"))
+                      [ ConName
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 40 2 41
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 40 2 41
+                               , srcInfoPoints = []
+                               }
+                             "F")
+                      ]
+                  , EThingWith
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 47 2 58
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/Bundles.hs" 2 50 2 51
+                            , SrcSpan "tests/examples/Bundles.hs" 2 52 2 53
+                            , SrcSpan "tests/examples/Bundles.hs" 2 55 2 56
+                            , SrcSpan "tests/examples/Bundles.hs" 2 57 2 58
+                            ]
+                        }
+                      (EWildcard
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 53 2 55
+                           , srcInfoPoints = []
+                           }
+                         1)
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 47 2 50
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 47 2 50
+                              , srcInfoPoints = []
+                              }
+                            "Tux"))
+                      [ ConName
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 51 2 52
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 51 2 52
+                               , srcInfoPoints = []
+                               }
+                             "Q")
+                      , ConName
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 56 2 57
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 2 56 2 57
+                               , srcInfoPoints = []
+                               }
+                             "F")
+                      ]
+                  ]))))
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 1 1 1 33
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/Bundles.hs" 1 1 1 13
+                , SrcSpan "tests/examples/Bundles.hs" 1 30 1 33
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 1 14 1 29
+                , srcInfoPoints = []
+                }
+              "PatternSynonyms"
+          ]
+      ]
+      []
+      [ PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 1 4 12
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 1 4 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 1 4 5
+                  , srcInfoPoints = []
+                  }
+                "main"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 6 4 12
+               , srcInfoPoints = [ SrcSpan "tests/examples/Bundles.hs" 4 6 4 7 ]
+               }
+             (Var
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 8 4 12
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 8 4 12
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Bundles.hs" 4 8 4 12
+                        , srcInfoPoints = []
+                        }
+                      "main"))))
+          Nothing
+      ]
+  , []
+  )
diff --git a/tests/examples/Bundles.hs.prettyparser.golden b/tests/examples/Bundles.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Bundles.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/Bundles.hs.prettyprinter.golden b/tests/examples/Bundles.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Bundles.hs.prettyprinter.golden
@@ -0,0 +1,4 @@
+{-# LANGUAGE PatternSynonyms #-}
+module Bundles (Foo(..), Baz(.., Q), Qux(F, ..), Tux(Q, .., F))
+       where
+main = main
diff --git a/tests/examples/ByteStringUtils.hs.prettyparser.golden b/tests/examples/ByteStringUtils.hs.prettyparser.golden
--- a/tests/examples/ByteStringUtils.hs.prettyparser.golden
+++ b/tests/examples/ByteStringUtils.hs.prettyparser.golden
@@ -1,1 +1,10 @@
-Match
+Roundtrip test failed
+
+AST 1:
+
+Module () (Just (ModuleHead () (ModuleName () "ByteStringUtils") Nothing (Just (ExportSpecList () [EVar () (UnQual () (Ident () "unsafeWithInternals")),EVar () (UnQual () (Ident () "unpackPSfromUTF8")),EVar () (UnQual () (Ident () "gzReadFilePS")),EVar () (UnQual () (Ident () "mmapFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePSs")),EVar () (UnQual () (Ident () "ifHeadThenTail")),EVar () (UnQual () (Ident () "dropSpace")),EVar () (UnQual () (Ident () "breakSpace")),EVar () (UnQual () (Ident () "linesPS")),EVar () (UnQual () (Ident () "unlinesPS")),EVar () (UnQual () (Ident () "hashPS")),EVar () (UnQual () (Ident () "breakFirstPS")),EVar () (UnQual () (Ident () "breakLastPS")),EVar () (UnQual () (Ident () "substrPS")),EVar () (UnQual () (Ident () "readIntPS")),EVar () (UnQual () (Ident () "is_funky")),EVar () (UnQual () (Ident () "fromHex2PS")),EVar () (UnQual () (Ident () "fromPS2Hex")),EVar () (UnQual () (Ident () "betweenLinesPS")),EVar () (UnQual () (Ident () "break_after_nth_newline")),EVar () (UnQual () (Ident () "break_before_nth_newline")),EVar () (UnQual () (Ident () "intercalate"))])))) [LanguagePragma () [Ident () "BangPatterns",Ident () "ForeignFunctionInterface",Ident () "CPP"]] [ImportDecl {importAnn = (), importModule = ModuleName () "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () True [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "B"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Char8", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BC"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BI"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "intercalate"),IVar () (Ident () "uncons")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fromForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Exception", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.Unsafe", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "unsafePerformIO")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Storable", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "peekElemOff"),IVar () (Ident () "peek")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Alloc", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "free")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mallocArray"),IVar () (Ident () "peekArray"),IVar () (Ident () "advancePtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CInt")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Bits", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "rotateL")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Char", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "chr"),IVar () (Ident () "ord"),IVar () (Ident () "isSpace")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Word", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Word8")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Int", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Int32")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "when")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "nullPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "ForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "plusPtr"),IAbs () (NoNamespace ()) (Ident () "Ptr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "withForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "addForeignPtrFinalizer")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "FunPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Lazy", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BL"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Codec.Compression.GZip", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "GZ"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.String", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CString"),IVar () (Ident () "withCString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.MMap", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mmapFileByteString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Mem", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "performGC")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Posix.Files", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fileSize"),IVar () (Ident () "getSymbolicLinkStatus")])}] [TypeSig () [Ident () "debugForeignPtr"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "ForeignPtr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "String"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h debug_alloc") (Ident () "debug_alloc") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h & debug_free") (Ident () "debug_free") (TyApp () (TyCon () (UnQual () (Ident () "FunPtr"))) (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),FunBind () [Match () (Ident () "debugForeignPtr") [PVar () (Ident () "fp"),PVar () (Ident () "n")] (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "n")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "cname")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "debug_alloc"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "cname")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "addForeignPtrFinalizer"))) (Var () (UnQual () (Ident () "debug_free")))) (Var () (UnQual () (Ident () "fp"))))])))))) Nothing,Match () (Ident () "debugForeignPtr") [PWildCard (),PWildCard ()] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing],TypeSig () [Ident () "unsafeWithInternals"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a")))))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a"))))),FunBind () [Match () (Ident () "unsafeWithInternals") [PVar () (Ident () "ps"),PVar () (Ident () "f")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))))) Nothing])) Nothing],TypeSig () [Ident () "readIntPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (UnQual () (Ident () "Int")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),PatBind () (PVar () (Ident () "readIntPS")) (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "readInt"))) (QVarOp () (UnQual () (Symbol () "."))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "dropWhile"))) (Var () (UnQual () (Ident () "isSpace")))))) Nothing,TypeSig () [Ident () "unpackPSfromUTF8"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "String")))),FunBind () [Match () (Ident () "unpackPSfromUTF8") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (Lit () (String () "" ""))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "outbuf")) (App () (Var () (UnQual () (Ident () "mallocArray"))) (Var () (UnQual () (Ident () "l")))),Generator () (PVar () (Ident () "lout")) (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (App () (Var () (UnQual () (Ident () "utf8_to_ints"))) (Var () (UnQual () (Ident () "outbuf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "lout"))) (QVarOp () (UnQual () (Symbol () "<"))) (Lit () (Int () 0 "0"))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "error"))) (Lit () (String () "Bad UTF8!" "Bad UTF8!")))),Generator () (PVar () (Ident () "str")) (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "map"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "chr"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "fromIntegral"))))))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "peekArray"))) (Var () (UnQual () (Ident () "lout")))) (Var () (UnQual () (Ident () "outbuf"))))),Qualifier () (App () (Var () (UnQual () (Ident () "free"))) (Var () (UnQual () (Ident () "outbuf")))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "str"))))]))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h utf8_to_ints") (Ident () "utf8_to_ints") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Int")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),InlineSig () True Nothing (UnQual () (Ident () "ifHeadThenTail")),TypeSig () [Ident () "ifHeadThenTail"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))),FunBind () [Match () (Ident () "ifHeadThenTail") [PVar () (Ident () "c"),PVar () (Ident () "s")] (UnGuardedRhs () (Case () (App () (Var () (UnQual () (Ident () "uncons"))) (Var () (UnQual () (Ident () "s")))) [Alt () (PApp () (UnQual () (Ident () "Just")) [PTuple () Boxed [PVar () (Ident () "w"),PVar () (Ident () "t")]]) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "c"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "t"))))]) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "isSpaceWord8"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "isSpaceWord8") [PVar () (Ident () "w")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 32 "0x20"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 9 "0x09"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 10 "0x0A"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 13 "0x0D"))))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "isSpaceWord8")),TypeSig () [Ident () "firstnonspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstnonspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Var () (UnQual () (Ident () "isSpaceWord8"))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "firstspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Paren () (InfixApp () (Var () (UnQual () (Ident () "not"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "isSpaceWord8"))))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "dropSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "dropSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l")))) (Var () (Qual () (ModuleName () "B") (Ident () "empty"))) (App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i"))))))))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "dropSpace")),TypeSig () [Ident () "breakSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])),FunBind () [Match () (Ident () "breakSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (Case () (Con () (Special () (UnitCon ()))) [Alt () (PWildCard ()) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0")))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l")))]),GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l"))))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l"))),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "i"))),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i")))))])]) Nothing]))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakSpace")),InlineSig () True Nothing (UnQual () (Ident () "is_funky")),TypeSig () [Ident () "is_funky"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "is_funky") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (RightSection () (QVarOp () (UnQual () (Symbol () "/="))) (Lit () (Int () 0 "0"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "has_funky_char"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "fpstring.h has_funky_char") (Ident () "has_funky_char") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt")))))),InlineSig () True Nothing (UnQual () (Ident () "hashPS")),TypeSig () [Ident () "hashPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Int32")))),FunBind () [Match () (Ident () "hashPS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "hash"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "hash"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int32")))))),FunBind () [Match () (Ident () "hash") [PVar () (Ident () "ptr"),PVar () (Ident () "len")] (UnGuardedRhs () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (ExpTypeSig () (Lit () (Int () 0 "0")) (TyCon () (UnQual () (Ident () "Int32")))))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "len"))))) (Just (BDecls () [FunBind () [Match () (Ident () "f") [PVar () (Ident () "h"),PWildCard (),PLit () (Signless ()) (Int () 0 "0")] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "h"))))) Nothing,Match () (Ident () "f") [PVar () (Ident () "h"),PVar () (Ident () "p"),PVar () (Ident () "n")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (App () (Var () (UnQual () (Ident () "peek"))) (Var () (UnQual () (Ident () "p")))),LetStmt () (BDecls () [PatBind () (PBangPat () (PVar () (Ident () "h'"))) (UnGuardedRhs () (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "x"))))) (QVarOp () (UnQual () (Symbol () "+"))) (Paren () (App () (App () (Var () (UnQual () (Ident () "rotateL"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 8 "8")))))) Nothing]),Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "h'")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "advancePtr"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1")))))])) Nothing]]))],InlineSig () True Nothing (UnQual () (Ident () "substrPS")),TypeSig () [Ident () "substrPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (UnQual () (Ident () "Int")))))),FunBind () [Match () (Ident () "substrPS") [PVar () (Ident () "tok"),PVar () (Ident () "str")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "tok"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Lit () (Int () 0 "0"))),GuardedRhs () [Qualifier () (InfixApp () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "tok")))) (QVarOp () (UnQual () (Symbol () ">"))) (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "str")))))] (Con () (UnQual () (Ident () "Nothing"))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "n")) (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Paren () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "head"))) (Var () (UnQual () (Ident () "tok")))))) (Var () (UnQual () (Ident () "str")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "ttok")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "B") (Ident () "tail"))) (Var () (UnQual () (Ident () "tok"))))) Nothing,PatBind () (PVar () (Ident () "reststr")) (UnGuardedRhs () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "str"))))) Nothing]),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "ttok"))) (QVarOp () (UnQual () (Symbol () "=="))) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Paren () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "ttok")))))) (Var () (UnQual () (Ident () "reststr"))))) (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "n")))) (InfixApp () (LeftSection () (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))) (QVarOp () (UnQual () (Symbol () "+")))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "substrPS"))) (Var () (UnQual () (Ident () "tok")))) (Var () (UnQual () (Ident () "reststr"))))))])]) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakFirstPS")),TypeSig () [Ident () "breakFirstPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakFirstPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakLastPS")),TypeSig () [Ident () "breakLastPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakLastPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndexEnd"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "linesPS")),TypeSig () [Ident () "linesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "linesPS") [PVar () (Ident () "ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "ps"))))] (List () [Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "split"))) (Lit () (Char () '\n' "\\n"))) (Var () (UnQual () (Ident () "ps"))))]) Nothing],TypeSig () [Ident () "unlinesPS"] (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "unlinesPS") [PList () []] (UnGuardedRhs () (Var () (Qual () (ModuleName () "BC") (Ident () "empty")))) Nothing,Match () (Ident () "unlinesPS") [PVar () (Ident () "x")] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "init"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "unlines"))) (Var () (UnQual () (Ident () "x")))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "unlinesPS")),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzopen") (Ident () "c_gzopen") (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyParen () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzclose") (Ident () "c_gzclose") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzread") (Ident () "c_gzread") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzwrite") (Ident () "c_gzwrite") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),TypeSig () [Ident () "gzReadFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "gzReadFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "h")) (App () (App () (Var () (UnQual () (Ident () "openBinaryFile"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "ReadMode")))),Generator () (PVar () (Ident () "header")) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "hGet"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 2 "2"))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "header"))) (QVarOp () (UnQual () (Symbol () "/="))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "pack"))) (Lit () (String () "\US\139" "\\31\\139")))) (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "mmapFilePS"))) (Var () (UnQual () (Ident () "f"))))]) (Do () [Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "hSeek"))) (Var () (UnQual () (Ident () "h")))) (Con () (UnQual () (Ident () "SeekFromEnd")))) (Paren () (NegApp () (Lit () (Int () 4 "4"))))),Generator () (PVar () (Ident () "len")) (App () (Var () (UnQual () (Ident () "hGetLittleEndInt"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "decompress")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "GZ") (Ident () "decompressWith"))) (RecUpdate () (Var () (Qual () (ModuleName () "GZ") (Ident () "defaultDecompressParams"))) [FieldUpdate () (Qual () (ModuleName () "GZ") (Ident () "decompressBufferSize")) (Var () (UnQual () (Ident () "len")))]))) Nothing]),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "B") (Ident () "concat"))) (QVarOp () (UnQual () (Symbol () "."))) (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "toChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "decompress"))))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (RightSection () (QConOp () (Special () (Cons ()))) (List () []))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "readFile"))) (Var () (UnQual () (Ident () "f")))) (Var () (Qual () (ModuleName () "BL") (Ident () "readFile")))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "rb" "rb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "rb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "rb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem opening file " "problem opening file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Generator () (PVar () (Ident () "fp")) (App () (Var () (Qual () (ModuleName () "BI") (Ident () "mallocByteString"))) (Var () (UnQual () (Ident () "len")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "debugForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "gzReadFilePS " "gzReadFilePS ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))),Generator () (PVar () (Ident () "lread")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzread"))) (Var () (UnQual () (Ident () "gzf")))) (Var () (UnQual () (Ident () "p")))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "len")))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lread")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "len")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzreading file " "problem gzreading file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "len")))))])))))]))])) Nothing],TypeSig () [Ident () "hGetLittleEndInt"] (TyFun () (TyCon () (UnQual () (Ident () "Handle"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))),FunBind () [Match () (Ident () "hGetLittleEndInt") [PVar () (Ident () "h")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "b1")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b2")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b3")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b4")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "b1"))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 256 "256")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b2"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 65536 "65536")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b3"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 16777216 "16777216")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b4"))))))])) Nothing],TypeSig () [Ident () "gzWriteFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePS") [PVar () (Ident () "f"),PVar () (Ident () "ps")] (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "gzWriteFilePSs"))) (Var () (UnQual () (Ident () "f")))) (List () [Var () (UnQual () (Ident () "ps"))]))) Nothing],TypeSig () [Ident () "gzWriteFilePSs"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePSs") [PVar () (Ident () "f"),PVar () (Ident () "pss")] (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "writeFile"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (Qual () (ModuleName () "GZ") (Ident () "compress"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (App () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (Var () (UnQual () (Ident () "pss")))) (Var () (UnQual () (Ident () "withCString")))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "wb" "wb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "wb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "wb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzopening file for write: " "problem gzopening file for write: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mapM_"))) (Paren () (App () (Var () (UnQual () (Ident () "gzWriteToGzf"))) (Var () (UnQual () (Ident () "gzf")))))) (Var () (UnQual () (Ident () "pss")))) (QVarOp () (UnQual () (Ident () "catch"))) (Lambda () [PWildCard ()] (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzwriting file: " "problem gzwriting file: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf"))))])))))))) Nothing],TypeSig () [Ident () "gzWriteToGzf"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteToGzf") [PVar () (Ident () "gzf"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "lw")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzwrite"))) (Var () (UnQual () (Ident () "gzf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lw")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lit () (String () "problem in gzWriteToGzf" "problem in gzWriteToGzf"))))])) Nothing])) Nothing],TypeSig () [Ident () "mmapFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "mmapFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing")))) (QVarOp () (UnQual () (Ident () "catch"))) (Paren () (Lambda () [PWildCard ()] (Do () [Generator () (PVar () (Ident () "size")) (InfixApp () (Var () (UnQual () (Ident () "fileSize"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "getSymbolicLinkStatus"))) (Var () (UnQual () (Ident () "f"))))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "size"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (Qual () (ModuleName () "B") (Ident () "empty")))) (InfixApp () (Var () (UnQual () (Ident () "performGC"))) (QVarOp () (UnQual () (Symbol () ">>"))) (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing"))))))])))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "x"))))])) Nothing],PatBind () (PVar () (Ident () "mmapFilePS")) (UnGuardedRhs () (Var () (Qual () (ModuleName () "B") (Ident () "readFile")))) Nothing,ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_to_hex") (Ident () "conv_to_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromPS2Hex"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromPS2Hex") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Lit () (Int () 2 "2")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (InfixApp () (App () (App () (Var () (UnQual () (Ident () "conv_to_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_from_hex") (Ident () "conv_from_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromHex2PS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromHex2PS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (App () (App () (App () (Var () (UnQual () (Ident () "conv_from_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))))))))) Nothing])) Nothing],TypeSig () [Ident () "betweenLinesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyParen () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))))),FunBind () [Match () (Ident () "betweenLinesPS") [PVar () (Ident () "start"),PVar () (Ident () "end"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "start"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Paren () (App () (Var () (UnQual () (Ident () "linesPS"))) (Var () (UnQual () (Ident () "ps")))))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PWildCard ()) (Special () (Cons ())) (PAsPat () (Ident () "rest") (PParen () (PInfixApp () (PVar () (Ident () "bs1")) (Special () (Cons ())) (PWildCard ()))))]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs1")))) [Alt () (PTuple () Boxed [PVar () (Ident () "ps1"),PVar () (Ident () "s1"),PWildCard ()]) (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "end"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Var () (UnQual () (Ident () "rest")))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PVar () (Ident () "bs2")) (Special () (Cons ())) (PWildCard ())]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs2")))) [Alt () (PTuple () Boxed [PWildCard (),PVar () (Ident () "s2"),PWildCard ()]) (UnGuardedRhs () (InfixApp () (Con () (UnQual () (Ident () "Just"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "ps1")))) (Var () (UnQual () (Ident () "s1")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s2"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "s1")))))))) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "break_after_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "break_after_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "break_after_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])))]) Nothing,Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Con () (UnQual () (Ident () "Nothing"))))]) Nothing,Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (UnGuardedRhs () (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))))) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "break_before_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),FunBind () [Match () (Ident () "break_before_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])]) Nothing,Match () (Ident () "break_before_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing]]
+
+AST 2:
+
+Module () (Just (ModuleHead () (ModuleName () "ByteStringUtils") Nothing (Just (ExportSpecList () [EVar () (UnQual () (Ident () "unsafeWithInternals")),EVar () (UnQual () (Ident () "unpackPSfromUTF8")),EVar () (UnQual () (Ident () "gzReadFilePS")),EVar () (UnQual () (Ident () "mmapFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePS")),EVar () (UnQual () (Ident () "gzWriteFilePSs")),EVar () (UnQual () (Ident () "ifHeadThenTail")),EVar () (UnQual () (Ident () "dropSpace")),EVar () (UnQual () (Ident () "breakSpace")),EVar () (UnQual () (Ident () "linesPS")),EVar () (UnQual () (Ident () "unlinesPS")),EVar () (UnQual () (Ident () "hashPS")),EVar () (UnQual () (Ident () "breakFirstPS")),EVar () (UnQual () (Ident () "breakLastPS")),EVar () (UnQual () (Ident () "substrPS")),EVar () (UnQual () (Ident () "readIntPS")),EVar () (UnQual () (Ident () "is_funky")),EVar () (UnQual () (Ident () "fromHex2PS")),EVar () (UnQual () (Ident () "fromPS2Hex")),EVar () (UnQual () (Ident () "betweenLinesPS")),EVar () (UnQual () (Ident () "break_after_nth_newline")),EVar () (UnQual () (Ident () "break_before_nth_newline")),EVar () (UnQual () (Ident () "intercalate"))])))) [LanguagePragma () [Ident () "BangPatterns",Ident () "ForeignFunctionInterface",Ident () "CPP"]] [ImportDecl {importAnn = (), importModule = ModuleName () "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () True [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "B"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Char8", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BC"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BI"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "intercalate"),IVar () (Ident () "uncons")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Internal", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fromForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Exception", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "catch")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.Unsafe", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "unsafePerformIO")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Storable", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "peekElemOff"),IVar () (Ident () "peek")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Alloc", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "free")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Marshal.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mallocArray"),IVar () (Ident () "peekArray"),IVar () (Ident () "advancePtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.Types", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CInt")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Bits", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "rotateL")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Char", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "chr"),IVar () (Ident () "ord"),IVar () (Ident () "isSpace")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Word", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Word8")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.Int", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "Int32")])},ImportDecl {importAnn = (), importModule = ModuleName () "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "when")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "nullPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "ForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "plusPtr"),IAbs () (NoNamespace ()) (Ident () "Ptr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "withForeignPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.ForeignPtr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "addForeignPtrFinalizer")])},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.Ptr", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "FunPtr")])},ImportDecl {importAnn = (), importModule = ModuleName () "Data.ByteString.Lazy", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "BL"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Codec.Compression.GZip", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName () "GZ"), importSpecs = Nothing},ImportDecl {importAnn = (), importModule = ModuleName () "Foreign.C.String", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IAbs () (NoNamespace ()) (Ident () "CString"),IVar () (Ident () "withCString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.IO.MMap", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "mmapFileByteString")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Mem", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "performGC")])},ImportDecl {importAnn = (), importModule = ModuleName () "System.Posix.Files", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (ImportSpecList () False [IVar () (Ident () "fileSize"),IVar () (Ident () "getSymbolicLinkStatus")])}] [TypeSig () [Ident () "debugForeignPtr"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "ForeignPtr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "String"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h debug_alloc") (Ident () "debug_alloc") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h & debug_free") (Ident () "debug_free") (TyApp () (TyCon () (UnQual () (Ident () "FunPtr"))) (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyVar () (Ident () "a"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),FunBind () [Match () (Ident () "debugForeignPtr") [PVar () (Ident () "fp"),PVar () (Ident () "n")] (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "n")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "cname")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "debug_alloc"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "cname")))),Qualifier () (App () (App () (Var () (UnQual () (Ident () "addForeignPtrFinalizer"))) (Var () (UnQual () (Ident () "debug_free")))) (Var () (UnQual () (Ident () "fp"))))])))))) Nothing,Match () (Ident () "debugForeignPtr") [PWildCard (),PWildCard ()] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing],TypeSig () [Ident () "unsafeWithInternals"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyParen () (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a")))))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyVar () (Ident () "a"))))),FunBind () [Match () (Ident () "unsafeWithInternals") [PVar () (Ident () "ps"),PVar () (Ident () "f")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))))) Nothing])) Nothing],TypeSig () [Ident () "readIntPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (UnQual () (Ident () "Int")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),PatBind () (PVar () (Ident () "readIntPS")) (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "readInt"))) (QVarOp () (UnQual () (Symbol () "."))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "dropWhile"))) (Var () (UnQual () (Ident () "isSpace")))))) Nothing,TypeSig () [Ident () "unpackPSfromUTF8"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "String")))),FunBind () [Match () (Ident () "unpackPSfromUTF8") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (Lit () (String () "" ""))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "outbuf")) (App () (Var () (UnQual () (Ident () "mallocArray"))) (Var () (UnQual () (Ident () "l")))),Generator () (PVar () (Ident () "lout")) (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (App () (Var () (UnQual () (Ident () "utf8_to_ints"))) (Var () (UnQual () (Ident () "outbuf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "lout"))) (QVarOp () (UnQual () (Symbol () "<"))) (Lit () (Int () 0 "0"))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "error"))) (Lit () (String () "Bad UTF8!" "Bad UTF8!")))),Generator () (PVar () (Ident () "str")) (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "map"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "chr"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "fromIntegral"))))))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "peekArray"))) (Var () (UnQual () (Ident () "lout")))) (Var () (UnQual () (Ident () "outbuf"))))),Qualifier () (App () (Var () (UnQual () (Ident () "free"))) (Var () (UnQual () (Ident () "outbuf")))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "str"))))]))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h utf8_to_ints") (Ident () "utf8_to_ints") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Int")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),InlineSig () True Nothing (UnQual () (Ident () "ifHeadThenTail")),TypeSig () [Ident () "ifHeadThenTail"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))),FunBind () [Match () (Ident () "ifHeadThenTail") [PVar () (Ident () "c"),PVar () (Ident () "s")] (UnGuardedRhs () (Case () (App () (Var () (UnQual () (Ident () "uncons"))) (Var () (UnQual () (Ident () "s")))) [Alt () (PApp () (UnQual () (Ident () "Just")) [PTuple () Boxed [PVar () (Ident () "w"),PVar () (Ident () "t")]]) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "c"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "t"))))]) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "isSpaceWord8"] (TyFun () (TyCon () (UnQual () (Ident () "Word8"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "isSpaceWord8") [PVar () (Ident () "w")] (UnGuardedRhs () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 32 "32"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 9 "9"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 10 "10"))) (QVarOp () (UnQual () (Symbol () "||"))) (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 13 "13"))))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "isSpaceWord8")),TypeSig () [Ident () "firstnonspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstnonspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Var () (UnQual () (Ident () "isSpaceWord8"))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "firstspace"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))))),FunBind () [Match () (Ident () "firstspace") [PBangPat () (PVar () (Ident () "ptr")),PBangPat () (PVar () (Ident () "n")),PBangPat () (PVar () (Ident () "m"))] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () ">="))) (Var () (UnQual () (Ident () "m"))))] (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "n")))),Qualifier () (If () (App () (Paren () (InfixApp () (Var () (UnQual () (Ident () "not"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "isSpaceWord8"))))) (Var () (UnQual () (Ident () "w")))) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Var () (UnQual () (Ident () "ptr")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "m")))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "n")))))])]) Nothing],TypeSig () [Ident () "dropSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "dropSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstnonspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l")))) (Var () (Qual () (ModuleName () "B") (Ident () "empty"))) (App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i"))))))))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "dropSpace")),TypeSig () [Ident () "breakSpace"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])),FunBind () [Match () (Ident () "breakSpace") [PParen () (PApp () (Qual () (ModuleName () "BI") (Ident () "PS")) [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")])] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BI") (Ident () "inlinePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Generator () (PVar () (Ident () "i")) (App () (App () (App () (Var () (UnQual () (Ident () "firstspace"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "l")))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$!"))) (Case () (Con () (Special () (UnitCon ()))) [Alt () (PWildCard ()) (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0")))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l")))]),GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "l"))))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "l"))),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Tuple () Boxed [App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Var () (UnQual () (Ident () "s")))) (Var () (UnQual () (Ident () "i"))),App () (App () (App () (Con () (Qual () (ModuleName () "BI") (Ident () "PS"))) (Var () (UnQual () (Ident () "x")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "i")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "i")))))])]) Nothing]))]))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakSpace")),InlineSig () True Nothing (UnQual () (Ident () "is_funky")),TypeSig () [Ident () "is_funky"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Bool")))),FunBind () [Match () (Ident () "is_funky") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (RightSection () (QVarOp () (UnQual () (Symbol () "/="))) (Lit () (Int () 0 "0"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "has_funky_char"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l"))))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "fpstring.h has_funky_char") (Ident () "has_funky_char") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt")))))),InlineSig () True Nothing (UnQual () (Ident () "hashPS")),TypeSig () [Ident () "hashPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (UnQual () (Ident () "Int32")))),FunBind () [Match () (Ident () "hashPS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [Qualifier () (App () (App () (Var () (UnQual () (Ident () "hash"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Var () (UnQual () (Ident () "l"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "hash"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int32")))))),FunBind () [Match () (Ident () "hash") [PVar () (Ident () "ptr"),PVar () (Ident () "len")] (UnGuardedRhs () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Paren () (ExpTypeSig () (Lit () (Int () 0 "0")) (TyCon () (UnQual () (Ident () "Int32")))))) (Var () (UnQual () (Ident () "ptr")))) (Var () (UnQual () (Ident () "len"))))) (Just (BDecls () [FunBind () [Match () (Ident () "f") [PVar () (Ident () "h"),PWildCard (),PLit () (Signless ()) (Int () 0 "0")] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "h"))))) Nothing,Match () (Ident () "f") [PVar () (Ident () "h"),PVar () (Ident () "p"),PVar () (Ident () "n")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (App () (Var () (UnQual () (Ident () "peek"))) (Var () (UnQual () (Ident () "p")))),LetStmt () (BDecls () [PatBind () (PBangPat () (PVar () (Ident () "h'"))) (UnGuardedRhs () (InfixApp () (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "x"))))) (QVarOp () (UnQual () (Symbol () "+"))) (Paren () (App () (App () (Var () (UnQual () (Ident () "rotateL"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 8 "8")))))) Nothing]),Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "f"))) (Var () (UnQual () (Ident () "h'")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "advancePtr"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1")))))])) Nothing]]))],InlineSig () True Nothing (UnQual () (Ident () "substrPS")),TypeSig () [Ident () "substrPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyCon () (UnQual () (Ident () "Int")))))),FunBind () [Match () (Ident () "substrPS") [PVar () (Ident () "tok"),PVar () (Ident () "str")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "tok"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Lit () (Int () 0 "0"))),GuardedRhs () [Qualifier () (InfixApp () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "tok")))) (QVarOp () (UnQual () (Symbol () ">"))) (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "str")))))] (Con () (UnQual () (Ident () "Nothing"))),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (Do () [Generator () (PVar () (Ident () "n")) (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Paren () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "head"))) (Var () (UnQual () (Ident () "tok")))))) (Var () (UnQual () (Ident () "str")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "ttok")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "B") (Ident () "tail"))) (Var () (UnQual () (Ident () "tok"))))) Nothing,PatBind () (PVar () (Ident () "reststr")) (UnGuardedRhs () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "str"))))) Nothing]),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "ttok"))) (QVarOp () (UnQual () (Symbol () "=="))) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Paren () (App () (Var () (Qual () (ModuleName () "B") (Ident () "length"))) (Var () (UnQual () (Ident () "ttok")))))) (Var () (UnQual () (Ident () "reststr"))))) (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "n")))) (InfixApp () (LeftSection () (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))) (QVarOp () (UnQual () (Symbol () "+")))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (App () (Var () (UnQual () (Ident () "substrPS"))) (Var () (UnQual () (Ident () "tok")))) (Var () (UnQual () (Ident () "reststr"))))))])]) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakFirstPS")),TypeSig () [Ident () "breakFirstPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakFirstPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndex"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "breakLastPS")),TypeSig () [Ident () "breakLastPS"] (TyFun () (TyCon () (UnQual () (Ident () "Char"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "breakLastPS") [PVar () (Ident () "c"),PVar () (Ident () "p")] (UnGuardedRhs () (Case () (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "elemIndexEnd"))) (Var () (UnQual () (Ident () "c")))) (Var () (UnQual () (Ident () "p")))) [Alt () (PApp () (UnQual () (Ident () "Nothing")) []) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing,Alt () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "n")]) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "take"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "p"))),App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "drop"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "n"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (Var () (UnQual () (Ident () "p")))]))) Nothing])) Nothing],InlineSig () True Nothing (UnQual () (Ident () "linesPS")),TypeSig () [Ident () "linesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "linesPS") [PVar () (Ident () "ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "ps"))))] (List () [Var () (Qual () (ModuleName () "B") (Ident () "empty"))]),GuardedRhs () [Qualifier () (Var () (UnQual () (Ident () "otherwise")))] (App () (App () (Var () (Qual () (ModuleName () "BC") (Ident () "split"))) (Lit () (Char () '\n' "\\n"))) (Var () (UnQual () (Ident () "ps"))))]) Nothing],TypeSig () [Ident () "unlinesPS"] (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "unlinesPS") [PList () []] (UnGuardedRhs () (Var () (Qual () (ModuleName () "BC") (Ident () "empty")))) Nothing,Match () (Ident () "unlinesPS") [PVar () (Ident () "x")] (UnGuardedRhs () (InfixApp () (Var () (Qual () (ModuleName () "BC") (Ident () "init"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "unlines"))) (Var () (UnQual () (Ident () "x")))))) Nothing],InlineSig () True Nothing (UnQual () (Ident () "unlinesPS")),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzopen") (Ident () "c_gzopen") (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyFun () (TyCon () (UnQual () (Ident () "CString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyParen () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzclose") (Ident () "c_gzclose") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzread") (Ident () "c_gzread") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static zlib.h gzwrite") (Ident () "c_gzwrite") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "CInt"))))))),TypeSig () [Ident () "gzReadFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "gzReadFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "h")) (App () (App () (Var () (UnQual () (Ident () "openBinaryFile"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "ReadMode")))),Generator () (PVar () (Ident () "header")) (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "hGet"))) (Var () (UnQual () (Ident () "h")))) (Lit () (Int () 2 "2"))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "header"))) (QVarOp () (UnQual () (Symbol () "/="))) (App () (Var () (Qual () (ModuleName () "BC") (Ident () "pack"))) (Lit () (String () "\US\139" "\\US\\139")))) (Do () [Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "mmapFilePS"))) (Var () (UnQual () (Ident () "f"))))]) (Do () [Qualifier () (App () (App () (App () (Var () (UnQual () (Ident () "hSeek"))) (Var () (UnQual () (Ident () "h")))) (Con () (UnQual () (Ident () "SeekFromEnd")))) (Paren () (NegApp () (Lit () (Int () 4 "4"))))),Generator () (PVar () (Ident () "len")) (App () (Var () (UnQual () (Ident () "hGetLittleEndInt"))) (Var () (UnQual () (Ident () "h")))),Qualifier () (App () (Var () (UnQual () (Ident () "hClose"))) (Var () (UnQual () (Ident () "h")))),LetStmt () (BDecls () [PatBind () (PVar () (Ident () "decompress")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "GZ") (Ident () "decompressWith"))) (RecUpdate () (Var () (Qual () (ModuleName () "GZ") (Ident () "defaultDecompressParams"))) [FieldUpdate () (Qual () (ModuleName () "GZ") (Ident () "decompressBufferSize")) (Var () (UnQual () (Ident () "len")))]))) Nothing]),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "B") (Ident () "concat"))) (QVarOp () (UnQual () (Symbol () "."))) (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "toChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (Var () (UnQual () (Ident () "decompress"))))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "fmap"))) (Paren () (InfixApp () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (QVarOp () (UnQual () (Symbol () "."))) (RightSection () (QConOp () (Special () (Cons ()))) (List () []))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (Qual () (ModuleName () "B") (Ident () "readFile"))) (Var () (UnQual () (Ident () "f")))) (Var () (Qual () (ModuleName () "BL") (Ident () "readFile")))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "rb" "rb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "rb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "rb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem opening file " "problem opening file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Generator () (PVar () (Ident () "fp")) (App () (Var () (Qual () (ModuleName () "BI") (Ident () "mallocByteString"))) (Var () (UnQual () (Ident () "len")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "debugForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "gzReadFilePS " "gzReadFilePS ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))),Generator () (PVar () (Ident () "lread")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzread"))) (Var () (UnQual () (Ident () "gzf")))) (Var () (UnQual () (Ident () "p")))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "len")))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lread")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "len")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzreading file " "problem gzreading file ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Lit () (Int () 0 "0"))) (Var () (UnQual () (Ident () "len")))))])))))]))])) Nothing],TypeSig () [Ident () "hGetLittleEndInt"] (TyFun () (TyCon () (UnQual () (Ident () "Handle"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (UnQual () (Ident () "Int"))))),FunBind () [Match () (Ident () "hGetLittleEndInt") [PVar () (Ident () "h")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "b1")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b2")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b3")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Generator () (PVar () (Ident () "b4")) (InfixApp () (Var () (UnQual () (Ident () "ord"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "hGetChar"))) (Var () (UnQual () (Ident () "h"))))),Qualifier () (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (InfixApp () (InfixApp () (Var () (UnQual () (Ident () "b1"))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 256 "256")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b2"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 65536 "65536")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b3"))))) (QVarOp () (UnQual () (Symbol () "+"))) (InfixApp () (Lit () (Int () 16777216 "16777216")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "b4"))))))])) Nothing],TypeSig () [Ident () "gzWriteFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePS") [PVar () (Ident () "f"),PVar () (Ident () "ps")] (UnGuardedRhs () (App () (App () (Var () (UnQual () (Ident () "gzWriteFilePSs"))) (Var () (UnQual () (Ident () "f")))) (List () [Var () (UnQual () (Ident () "ps"))]))) Nothing],TypeSig () [Ident () "gzWriteFilePSs"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyFun () (TyList () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteFilePSs") [PVar () (Ident () "f"),PVar () (Ident () "pss")] (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "writeFile"))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (Qual () (ModuleName () "GZ") (Ident () "compress"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (App () (App () (Var () (Qual () (ModuleName () "BL") (Ident () "fromChunks"))) (Var () (UnQual () (Ident () "pss")))) (Var () (UnQual () (Ident () "withCString")))) (Var () (UnQual () (Ident () "f")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "fstr")] (InfixApp () (App () (Var () (UnQual () (Ident () "withCString"))) (Lit () (String () "wb" "wb"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "wb")] (Do () [Generator () (PVar () (Ident () "gzf")) (App () (App () (Var () (UnQual () (Ident () "c_gzopen"))) (Var () (UnQual () (Ident () "fstr")))) (Var () (UnQual () (Ident () "wb")))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "gzf"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nullPtr")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzopening file for write: " "problem gzopening file for write: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f")))))),Qualifier () (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mapM_"))) (Paren () (App () (Var () (UnQual () (Ident () "gzWriteToGzf"))) (Var () (UnQual () (Ident () "gzf")))))) (Var () (UnQual () (Ident () "pss")))) (QVarOp () (UnQual () (Ident () "catch"))) (Lambda () [PWildCard ()] (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Lit () (String () "problem gzwriting file: " "problem gzwriting file: ")) (QVarOp () (UnQual () (Symbol () "++"))) (Var () (UnQual () (Ident () "f"))))))),Qualifier () (App () (Var () (UnQual () (Ident () "c_gzclose"))) (Var () (UnQual () (Ident () "gzf"))))])))))))) Nothing],TypeSig () [Ident () "gzWriteToGzf"] (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (Special () (UnitCon ())))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ())))))),FunBind () [Match () (Ident () "gzWriteToGzf") [PVar () (Ident () "gzf"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PWildCard (),PWildCard (),PLit () (Signless ()) (Int () 0 "0")]) (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "return"))) (Con () (Special () (UnitCon ()))))) Nothing,Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "lw")) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (App () (App () (App () (Var () (UnQual () (Ident () "c_gzwrite"))) (Var () (UnQual () (Ident () "gzf")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "p"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))),Qualifier () (InfixApp () (App () (Var () (UnQual () (Ident () "when"))) (Paren () (InfixApp () (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "lw")))) (QVarOp () (UnQual () (Symbol () "/="))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "fail"))) (QVarOp () (UnQual () (Symbol () "$"))) (Lit () (String () "problem in gzWriteToGzf" "problem in gzWriteToGzf"))))])) Nothing])) Nothing],TypeSig () [Ident () "mmapFilePS"] (TyFun () (TyCon () (UnQual () (Ident () "FilePath"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))))),FunBind () [Match () (Ident () "mmapFilePS") [PVar () (Ident () "f")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "x")) (InfixApp () (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing")))) (QVarOp () (UnQual () (Ident () "catch"))) (Paren () (Lambda () [PWildCard ()] (Do () [Generator () (PVar () (Ident () "size")) (InfixApp () (Var () (UnQual () (Ident () "fileSize"))) (QVarOp () (UnQual () (Ident () "fmap"))) (App () (Var () (UnQual () (Ident () "getSymbolicLinkStatus"))) (Var () (UnQual () (Ident () "f"))))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "size"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (App () (Var () (UnQual () (Ident () "return"))) (Var () (Qual () (ModuleName () "B") (Ident () "empty")))) (InfixApp () (Var () (UnQual () (Ident () "performGC"))) (QVarOp () (UnQual () (Symbol () ">>"))) (App () (App () (Var () (UnQual () (Ident () "mmapFileByteString"))) (Var () (UnQual () (Ident () "f")))) (Con () (UnQual () (Ident () "Nothing"))))))])))),Qualifier () (App () (Var () (UnQual () (Ident () "return"))) (Var () (UnQual () (Ident () "x"))))])) Nothing],PatBind () (PVar () (Ident () "mmapFilePS")) (UnGuardedRhs () (Var () (Qual () (ModuleName () "B") (Ident () "readFile")))) Nothing,ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_to_hex") (Ident () "conv_to_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromPS2Hex"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromPS2Hex") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Lit () (Int () 2 "2")) (QVarOp () (UnQual () (Symbol () "*"))) (Var () (UnQual () (Ident () "l")))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (InfixApp () (App () (App () (Var () (UnQual () (Ident () "conv_to_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Var () (UnQual () (Ident () "fromIntegral"))) (Var () (UnQual () (Ident () "l")))))))))) Nothing])) Nothing],ForImp () (CCall ()) (Just (PlayRisky ())) (Just "static fpstring.h conv_from_hex") (Ident () "conv_from_hex") (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyApp () (TyCon () (UnQual () (Ident () "Ptr"))) (TyCon () (UnQual () (Ident () "Word8")))) (TyFun () (TyCon () (UnQual () (Ident () "CInt"))) (TyApp () (TyCon () (UnQual () (Ident () "IO"))) (TyCon () (Special () (UnitCon ()))))))),TypeSig () [Ident () "fromHex2PS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))),FunBind () [Match () (Ident () "fromHex2PS") [PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "x"),PVar () (Ident () "s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "unsafeCreate"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "x")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "f")] (App () (App () (App () (Var () (UnQual () (Ident () "conv_from_hex"))) (Var () (UnQual () (Ident () "p")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "f"))) (QVarOp () (UnQual () (Ident () "plusPtr"))) (Var () (UnQual () (Ident () "s")))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "fromIntegral"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Ident () "div"))) (Lit () (Int () 2 "2"))))))))))) Nothing])) Nothing],TypeSig () [Ident () "betweenLinesPS"] (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyParen () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")))))))),FunBind () [Match () (Ident () "betweenLinesPS") [PVar () (Ident () "start"),PVar () (Ident () "end"),PVar () (Ident () "ps")] (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "start"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Paren () (App () (Var () (UnQual () (Ident () "linesPS"))) (Var () (UnQual () (Ident () "ps")))))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PWildCard ()) (Special () (Cons ())) (PAsPat () (Ident () "rest") (PParen () (PInfixApp () (PVar () (Ident () "bs1")) (Special () (Cons ())) (PWildCard ()))))]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs1")))) [Alt () (PTuple () Boxed [PVar () (Ident () "ps1"),PVar () (Ident () "s1"),PWildCard ()]) (UnGuardedRhs () (Case () (App () (App () (Var () (UnQual () (Ident () "break"))) (LeftSection () (Var () (UnQual () (Ident () "end"))) (QVarOp () (UnQual () (Symbol () "=="))))) (Var () (UnQual () (Ident () "rest")))) [Alt () (PTuple () Boxed [PWildCard (),PInfixApp () (PVar () (Ident () "bs2")) (Special () (Cons ())) (PWildCard ())]) (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "bs2")))) [Alt () (PTuple () Boxed [PWildCard (),PVar () (Ident () "s2"),PWildCard ()]) (UnGuardedRhs () (InfixApp () (Con () (UnQual () (Ident () "Just"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "ps1")))) (Var () (UnQual () (Ident () "s1")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s2"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "s1")))))))) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing])) Nothing,Alt () (PWildCard ()) (UnGuardedRhs () (Con () (UnQual () (Ident () "Nothing")))) Nothing])) Nothing],TypeSig () [Ident () "break_after_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyApp () (TyCon () (UnQual () (Ident () "Maybe"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))])))),FunBind () [Match () (Ident () "break_after_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "break_after_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])))]) Nothing,Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Con () (UnQual () (Ident () "Nothing"))))]) Nothing,Match () (Ident () "findit") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "s")] (UnGuardedRhs () (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (InfixApp () (Var () (UnQual () (Ident () "return"))) (QVarOp () (UnQual () (Symbol () "$"))) (App () (Con () (UnQual () (Ident () "Just"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))))) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing],TypeSig () [Ident () "break_before_nth_newline"] (TyFun () (TyCon () (UnQual () (Ident () "Int"))) (TyFun () (TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))) (TyTuple () Boxed [TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString")),TyCon () (Qual () (ModuleName () "B") (Ident () "ByteString"))]))),FunBind () [Match () (Ident () "break_before_nth_newline") [PLit () (Signless ()) (Int () 0 "0"),PVar () (Ident () "the_ps")] (GuardedRhss () [GuardedRhs () [Qualifier () (App () (Var () (Qual () (ModuleName () "B") (Ident () "null"))) (Var () (UnQual () (Ident () "the_ps"))))] (Tuple () Boxed [Var () (Qual () (ModuleName () "B") (Ident () "empty")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))])]) Nothing,Match () (Ident () "break_before_nth_newline") [PVar () (Ident () "n"),PVar () (Ident () "the_ps")] (UnGuardedRhs () (Case () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "toForeignPtr"))) (Var () (UnQual () (Ident () "the_ps")))) [Alt () (PTuple () Boxed [PVar () (Ident () "fp"),PVar () (Ident () "the_s"),PVar () (Ident () "l")]) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "unsafePerformIO"))) (QVarOp () (UnQual () (Symbol () "$"))) (InfixApp () (App () (Var () (UnQual () (Ident () "withForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (QVarOp () (UnQual () (Symbol () "$"))) (Lambda () [PVar () (Ident () "p")] (Do () [LetStmt () (BDecls () [FunBind () [Match () (Ident () "findit") [PWildCard (),PVar () (Ident () "s")] (GuardedRhss () [GuardedRhs () [Qualifier () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "end"))))] (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [Var () (UnQual () (Ident () "the_ps")),Var () (Qual () (ModuleName () "B") (Ident () "empty"))]))]) Nothing,Match () (Ident () "findit") [PVar () (Ident () "i"),PVar () (Ident () "s")] (UnGuardedRhs () (Do () [Generator () (PVar () (Ident () "w")) (App () (App () (Var () (UnQual () (Ident () "peekElemOff"))) (Var () (UnQual () (Ident () "p")))) (Var () (UnQual () (Ident () "s")))),Qualifier () (If () (InfixApp () (Var () (UnQual () (Ident () "w"))) (QVarOp () (UnQual () (Symbol () "=="))) (Var () (UnQual () (Ident () "nl")))) (If () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "=="))) (Lit () (Int () 0 "0"))) (Let () (BDecls () [PatBind () (PVar () (Ident () "left_l")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "the_s"))))) Nothing]) (App () (Var () (UnQual () (Ident () "return"))) (Tuple () Boxed [App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "the_s")))) (Var () (UnQual () (Ident () "left_l"))),App () (App () (App () (Var () (UnQual () (Ident () "fromForeignPtr"))) (Var () (UnQual () (Ident () "fp")))) (Var () (UnQual () (Ident () "s")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "l"))) (QVarOp () (UnQual () (Symbol () "-"))) (Var () (UnQual () (Ident () "left_l")))))]))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "i"))) (QVarOp () (UnQual () (Symbol () "-"))) (Lit () (Int () 1 "1"))))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1")))))) (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "i")))) (Paren () (InfixApp () (Var () (UnQual () (Ident () "s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Lit () (Int () 1 "1"))))))])) Nothing],PatBind () (PVar () (Ident () "nl")) (UnGuardedRhs () (App () (Var () (Qual () (ModuleName () "BI") (Ident () "c2w"))) (Lit () (Char () '\n' "\\n")))) Nothing,PatBind () (PVar () (Ident () "end")) (UnGuardedRhs () (InfixApp () (Var () (UnQual () (Ident () "the_s"))) (QVarOp () (UnQual () (Symbol () "+"))) (Var () (UnQual () (Ident () "l"))))) Nothing]),Qualifier () (App () (App () (Var () (UnQual () (Ident () "findit"))) (Var () (UnQual () (Ident () "n")))) (Var () (UnQual () (Ident () "the_s"))))]))))) Nothing])) Nothing]]
+
diff --git a/tests/examples/CApiFFI.hs.prettyprinter.golden b/tests/examples/CApiFFI.hs.prettyprinter.golden
--- a/tests/examples/CApiFFI.hs.prettyprinter.golden
+++ b/tests/examples/CApiFFI.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE CApiFFI #-}
-module Main (main) where
 foo = capi
diff --git a/tests/examples/CParser.hs b/tests/examples/CParser.hs
deleted file mode 100644
--- a/tests/examples/CParser.hs
+++ /dev/null
@@ -1,6323 +0,0 @@
-{-# OPTIONS -fglasgow-exts -cpp #-}
-{-# LANGUAGE MagicHash #-}
-module Language.C.Parser.Parser (
-  -- * Parse a C translation unit
-  parseC,
-  -- * Exposed Parsers
-  translUnitP, extDeclP, statementP, expressionP
-) where
-
--- Relevant C99 sections:
---
--- 6.5 Expressions .1 - .17 and 6.6 (almost literally)
---  Supported GNU extensions:
---     - Allow a compound statement as an expression
---     - Various __builtin_* forms that take type parameters
---     - `alignof' expression or type
---     - `__extension__' to suppress warnings about extensions
---     - Allow taking address of a label with: && label
---     - Omitting the `then' part of conditional expressions
---     - complex numbers
---
--- 6.7 C Declarations .1 -.8
---  Supported GNU extensions:
---     - '__thread' thread local storage (6.7.1)
---
--- 6.8 Statements .1 - .8
---  Supported GNU extensions:
---    - case ranges (C99 6.8.1)
---    - '__label__ ident;' declarations (C99 6.8.2)
---    - computed gotos (C99 6.8.6)
---
--- 6.9 Translation unit
---  Supported GNU extensions:
---     - allow empty translation_unit
---     - allow redundant ';'
---     - allow extension keyword before external declaration
---     - asm definitions
---
---  Since some of the grammar productions are quite difficult to read,
---  (especially those involved with the decleration syntax) we document them
---  with an extended syntax that allows a more consise representation:
---
---  Ordinary rules
---
---   foo      named terminal or non-terminal
---
---   'c'      terminal, literal character token
---
---   A B      concatenation
---
---   A | B    alternation
---
---   (A)      grouping
---
---  Extended rules
---
---   A?       optional, short hand for (A|) or [A]{ 0==A || 1==A }
---
---   ...      stands for some part of the grammar omitted for clarity
---
---   {A}      represents sequences, 0 or more.
---
---   <permute> modifier which states that any permutation of the immediate subterms is valid
---
---
---- TODO ----------------------------------------------------------------------
---
---  !* We ignore the C99 static keyword (see C99 6.7.5.3)
---  !* We do not distinguish in the AST between incomplete array types and
---      complete variable length arrays ([ '*' ] means the latter). (see C99 6.7.5.2)
---  !* The AST doesn't allow recording __attribute__ of unnamed struct field
---     (see , struct_default_declaring_list, struct_identifier_declarator)
---  !* see `We're being far to liberal here' (... struct definition within structs)
---  * Documentation isn't complete and consistent yet.
-
-import Prelude    hiding (reverse)
-import qualified Data.List as List
-import Control.Monad (mplus)
-import Language.C.Parser.Builtin   (builtinTypeNames)
-import Language.C.Parser.Lexer     (lexC, parseError)
-import Language.C.Parser.Tokens    (CToken(..), GnuCTok(..), posLenOfTok)
-import Language.C.Parser.ParserMonad (P, failP, execParser, getNewName, addTypedef, shadowTypedef, getCurrentPosition,
-                                      enterScope, leaveScope, getLastToken, getSavedToken, ParseError(..))
-
-import Language.C.Data.RList
-import Language.C.Data.InputStream
-import Language.C.Data.Ident
-import Language.C.Data.Name
-import Language.C.Data.Node
-import Language.C.Data.Position
-import Language.C.Syntax
--- #if __GLASGOW_HASKELL__ >= 503
-import Data.Array
--- #else
-import Array
--- #endif
--- #if __GLASGOW_HASKELL__ >= 503
-import GHC.Exts
--- #else
-import GlaExts
--- #endif
-
--- parser produced by Happy Version 1.16
-
-newtype HappyAbsSyn  = HappyAbsSyn (() -> ())
-happyIn7 :: (CTranslUnit) -> (HappyAbsSyn )
-happyIn7 x = unsafeCoerce# x
-{-# INLINE happyIn7 #-}
-happyOut7 :: (HappyAbsSyn ) -> (CTranslUnit)
-happyOut7 x = unsafeCoerce# x
-{-# INLINE happyOut7 #-}
-happyIn8 :: (Reversed [CExtDecl]) -> (HappyAbsSyn )
-happyIn8 x = unsafeCoerce# x
-{-# INLINE happyIn8 #-}
-happyOut8 :: (HappyAbsSyn ) -> (Reversed [CExtDecl])
-happyOut8 x = unsafeCoerce# x
-{-# INLINE happyOut8 #-}
-happyIn9 :: (CExtDecl) -> (HappyAbsSyn )
-happyIn9 x = unsafeCoerce# x
-{-# INLINE happyIn9 #-}
-happyOut9 :: (HappyAbsSyn ) -> (CExtDecl)
-happyOut9 x = unsafeCoerce# x
-{-# INLINE happyOut9 #-}
-happyIn10 :: (CFunDef) -> (HappyAbsSyn )
-happyIn10 x = unsafeCoerce# x
-{-# INLINE happyIn10 #-}
-happyOut10 :: (HappyAbsSyn ) -> (CFunDef)
-happyOut10 x = unsafeCoerce# x
-{-# INLINE happyOut10 #-}
-happyIn11 :: (CDeclr) -> (HappyAbsSyn )
-happyIn11 x = unsafeCoerce# x
-{-# INLINE happyIn11 #-}
-happyOut11 :: (HappyAbsSyn ) -> (CDeclr)
-happyOut11 x = unsafeCoerce# x
-{-# INLINE happyOut11 #-}
-happyIn12 :: (CStat) -> (HappyAbsSyn )
-happyIn12 x = unsafeCoerce# x
-{-# INLINE happyIn12 #-}
-happyOut12 :: (HappyAbsSyn ) -> (CStat)
-happyOut12 x = unsafeCoerce# x
-{-# INLINE happyOut12 #-}
-happyIn13 :: (CStat) -> (HappyAbsSyn )
-happyIn13 x = unsafeCoerce# x
-{-# INLINE happyIn13 #-}
-happyOut13 :: (HappyAbsSyn ) -> (CStat)
-happyOut13 x = unsafeCoerce# x
-{-# INLINE happyOut13 #-}
-happyIn14 :: (CStat) -> (HappyAbsSyn )
-happyIn14 x = unsafeCoerce# x
-{-# INLINE happyIn14 #-}
-happyOut14 :: (HappyAbsSyn ) -> (CStat)
-happyOut14 x = unsafeCoerce# x
-{-# INLINE happyOut14 #-}
-happyIn15 :: (()) -> (HappyAbsSyn )
-happyIn15 x = unsafeCoerce# x
-{-# INLINE happyIn15 #-}
-happyOut15 :: (HappyAbsSyn ) -> (())
-happyOut15 x = unsafeCoerce# x
-{-# INLINE happyOut15 #-}
-happyIn16 :: (()) -> (HappyAbsSyn )
-happyIn16 x = unsafeCoerce# x
-{-# INLINE happyIn16 #-}
-happyOut16 :: (HappyAbsSyn ) -> (())
-happyOut16 x = unsafeCoerce# x
-{-# INLINE happyOut16 #-}
-happyIn17 :: (Reversed [CBlockItem]) -> (HappyAbsSyn )
-happyIn17 x = unsafeCoerce# x
-{-# INLINE happyIn17 #-}
-happyOut17 :: (HappyAbsSyn ) -> (Reversed [CBlockItem])
-happyOut17 x = unsafeCoerce# x
-{-# INLINE happyOut17 #-}
-happyIn18 :: (CBlockItem) -> (HappyAbsSyn )
-happyIn18 x = unsafeCoerce# x
-{-# INLINE happyIn18 #-}
-happyOut18 :: (HappyAbsSyn ) -> (CBlockItem)
-happyOut18 x = unsafeCoerce# x
-{-# INLINE happyOut18 #-}
-happyIn19 :: (CBlockItem) -> (HappyAbsSyn )
-happyIn19 x = unsafeCoerce# x
-{-# INLINE happyIn19 #-}
-happyOut19 :: (HappyAbsSyn ) -> (CBlockItem)
-happyOut19 x = unsafeCoerce# x
-{-# INLINE happyOut19 #-}
-happyIn20 :: (CFunDef) -> (HappyAbsSyn )
-happyIn20 x = unsafeCoerce# x
-{-# INLINE happyIn20 #-}
-happyOut20 :: (HappyAbsSyn ) -> (CFunDef)
-happyOut20 x = unsafeCoerce# x
-{-# INLINE happyOut20 #-}
-happyIn21 :: (Reversed [Ident]) -> (HappyAbsSyn )
-happyIn21 x = unsafeCoerce# x
-{-# INLINE happyIn21 #-}
-happyOut21 :: (HappyAbsSyn ) -> (Reversed [Ident])
-happyOut21 x = unsafeCoerce# x
-{-# INLINE happyOut21 #-}
-happyIn22 :: (CStat) -> (HappyAbsSyn )
-happyIn22 x = unsafeCoerce# x
-{-# INLINE happyIn22 #-}
-happyOut22 :: (HappyAbsSyn ) -> (CStat)
-happyOut22 x = unsafeCoerce# x
-{-# INLINE happyOut22 #-}
-happyIn23 :: (CStat) -> (HappyAbsSyn )
-happyIn23 x = unsafeCoerce# x
-{-# INLINE happyIn23 #-}
-happyOut23 :: (HappyAbsSyn ) -> (CStat)
-happyOut23 x = unsafeCoerce# x
-{-# INLINE happyOut23 #-}
-happyIn24 :: (CStat) -> (HappyAbsSyn )
-happyIn24 x = unsafeCoerce# x
-{-# INLINE happyIn24 #-}
-happyOut24 :: (HappyAbsSyn ) -> (CStat)
-happyOut24 x = unsafeCoerce# x
-{-# INLINE happyOut24 #-}
-happyIn25 :: (CStat) -> (HappyAbsSyn )
-happyIn25 x = unsafeCoerce# x
-{-# INLINE happyIn25 #-}
-happyOut25 :: (HappyAbsSyn ) -> (CStat)
-happyOut25 x = unsafeCoerce# x
-{-# INLINE happyOut25 #-}
-happyIn26 :: (CAsmStmt) -> (HappyAbsSyn )
-happyIn26 x = unsafeCoerce# x
-{-# INLINE happyIn26 #-}
-happyOut26 :: (HappyAbsSyn ) -> (CAsmStmt)
-happyOut26 x = unsafeCoerce# x
-{-# INLINE happyOut26 #-}
-happyIn27 :: (Maybe CTypeQual) -> (HappyAbsSyn )
-happyIn27 x = unsafeCoerce# x
-{-# INLINE happyIn27 #-}
-happyOut27 :: (HappyAbsSyn ) -> (Maybe CTypeQual)
-happyOut27 x = unsafeCoerce# x
-{-# INLINE happyOut27 #-}
-happyIn28 :: ([CAsmOperand]) -> (HappyAbsSyn )
-happyIn28 x = unsafeCoerce# x
-{-# INLINE happyIn28 #-}
-happyOut28 :: (HappyAbsSyn ) -> ([CAsmOperand])
-happyOut28 x = unsafeCoerce# x
-{-# INLINE happyOut28 #-}
-happyIn29 :: (Reversed [CAsmOperand]) -> (HappyAbsSyn )
-happyIn29 x = unsafeCoerce# x
-{-# INLINE happyIn29 #-}
-happyOut29 :: (HappyAbsSyn ) -> (Reversed [CAsmOperand])
-happyOut29 x = unsafeCoerce# x
-{-# INLINE happyOut29 #-}
-happyIn30 :: (CAsmOperand) -> (HappyAbsSyn )
-happyIn30 x = unsafeCoerce# x
-{-# INLINE happyIn30 #-}
-happyOut30 :: (HappyAbsSyn ) -> (CAsmOperand)
-happyOut30 x = unsafeCoerce# x
-{-# INLINE happyOut30 #-}
-happyIn31 :: (Reversed [CStrLit]) -> (HappyAbsSyn )
-happyIn31 x = unsafeCoerce# x
-{-# INLINE happyIn31 #-}
-happyOut31 :: (HappyAbsSyn ) -> (Reversed [CStrLit])
-happyOut31 x = unsafeCoerce# x
-{-# INLINE happyOut31 #-}
-happyIn32 :: (CDecl) -> (HappyAbsSyn )
-happyIn32 x = unsafeCoerce# x
-{-# INLINE happyIn32 #-}
-happyOut32 :: (HappyAbsSyn ) -> (CDecl)
-happyOut32 x = unsafeCoerce# x
-{-# INLINE happyOut32 #-}
-happyIn33 :: (Reversed [CDecl]) -> (HappyAbsSyn )
-happyIn33 x = unsafeCoerce# x
-{-# INLINE happyIn33 #-}
-happyOut33 :: (HappyAbsSyn ) -> (Reversed [CDecl])
-happyOut33 x = unsafeCoerce# x
-{-# INLINE happyOut33 #-}
-happyIn34 :: (CDecl) -> (HappyAbsSyn )
-happyIn34 x = unsafeCoerce# x
-{-# INLINE happyIn34 #-}
-happyOut34 :: (HappyAbsSyn ) -> (CDecl)
-happyOut34 x = unsafeCoerce# x
-{-# INLINE happyOut34 #-}
-happyIn35 :: ((Maybe CStrLit, [CAttr])) -> (HappyAbsSyn )
-happyIn35 x = unsafeCoerce# x
-{-# INLINE happyIn35 #-}
-happyOut35 :: (HappyAbsSyn ) -> ((Maybe CStrLit, [CAttr]))
-happyOut35 x = unsafeCoerce# x
-{-# INLINE happyOut35 #-}
-happyIn36 :: (CDecl) -> (HappyAbsSyn )
-happyIn36 x = unsafeCoerce# x
-{-# INLINE happyIn36 #-}
-happyOut36 :: (HappyAbsSyn ) -> (CDecl)
-happyOut36 x = unsafeCoerce# x
-{-# INLINE happyOut36 #-}
-happyIn37 :: ([CDeclSpec]) -> (HappyAbsSyn )
-happyIn37 x = unsafeCoerce# x
-{-# INLINE happyIn37 #-}
-happyOut37 :: (HappyAbsSyn ) -> ([CDeclSpec])
-happyOut37 x = unsafeCoerce# x
-{-# INLINE happyOut37 #-}
-happyIn38 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )
-happyIn38 x = unsafeCoerce# x
-{-# INLINE happyIn38 #-}
-happyOut38 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])
-happyOut38 x = unsafeCoerce# x
-{-# INLINE happyOut38 #-}
-happyIn39 :: (CDeclSpec) -> (HappyAbsSyn )
-happyIn39 x = unsafeCoerce# x
-{-# INLINE happyIn39 #-}
-happyOut39 :: (HappyAbsSyn ) -> (CDeclSpec)
-happyOut39 x = unsafeCoerce# x
-{-# INLINE happyOut39 #-}
-happyIn40 :: (CStorageSpec) -> (HappyAbsSyn )
-happyIn40 x = unsafeCoerce# x
-{-# INLINE happyIn40 #-}
-happyOut40 :: (HappyAbsSyn ) -> (CStorageSpec)
-happyOut40 x = unsafeCoerce# x
-{-# INLINE happyOut40 #-}
-happyIn41 :: ([CDeclSpec]) -> (HappyAbsSyn )
-happyIn41 x = unsafeCoerce# x
-{-# INLINE happyIn41 #-}
-happyOut41 :: (HappyAbsSyn ) -> ([CDeclSpec])
-happyOut41 x = unsafeCoerce# x
-{-# INLINE happyOut41 #-}
-happyIn42 :: (CTypeSpec) -> (HappyAbsSyn )
-happyIn42 x = unsafeCoerce# x
-{-# INLINE happyIn42 #-}
-happyOut42 :: (HappyAbsSyn ) -> (CTypeSpec)
-happyOut42 x = unsafeCoerce# x
-{-# INLINE happyOut42 #-}
-happyIn43 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )
-happyIn43 x = unsafeCoerce# x
-{-# INLINE happyIn43 #-}
-happyOut43 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])
-happyOut43 x = unsafeCoerce# x
-{-# INLINE happyOut43 #-}
-happyIn44 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )
-happyIn44 x = unsafeCoerce# x
-{-# INLINE happyIn44 #-}
-happyOut44 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])
-happyOut44 x = unsafeCoerce# x
-{-# INLINE happyOut44 #-}
-happyIn45 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )
-happyIn45 x = unsafeCoerce# x
-{-# INLINE happyIn45 #-}
-happyOut45 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])
-happyOut45 x = unsafeCoerce# x
-{-# INLINE happyOut45 #-}
-happyIn46 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )
-happyIn46 x = unsafeCoerce# x
-{-# INLINE happyIn46 #-}
-happyOut46 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])
-happyOut46 x = unsafeCoerce# x
-{-# INLINE happyOut46 #-}
-happyIn47 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )
-happyIn47 x = unsafeCoerce# x
-{-# INLINE happyIn47 #-}
-happyOut47 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])
-happyOut47 x = unsafeCoerce# x
-{-# INLINE happyOut47 #-}
-happyIn48 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn )
-happyIn48 x = unsafeCoerce# x
-{-# INLINE happyIn48 #-}
-happyOut48 :: (HappyAbsSyn ) -> (Reversed [CDeclSpec])
-happyOut48 x = unsafeCoerce# x
-{-# INLINE happyOut48 #-}
-happyIn49 :: (CTypeSpec) -> (HappyAbsSyn )
-happyIn49 x = unsafeCoerce# x
-{-# INLINE happyIn49 #-}
-happyOut49 :: (HappyAbsSyn ) -> (CTypeSpec)
-happyOut49 x = unsafeCoerce# x
-{-# INLINE happyOut49 #-}
-happyIn50 :: (CStructUnion) -> (HappyAbsSyn )
-happyIn50 x = unsafeCoerce# x
-{-# INLINE happyIn50 #-}
-happyOut50 :: (HappyAbsSyn ) -> (CStructUnion)
-happyOut50 x = unsafeCoerce# x
-{-# INLINE happyOut50 #-}
-happyIn51 :: (Located CStructTag) -> (HappyAbsSyn )
-happyIn51 x = unsafeCoerce# x
-{-# INLINE happyIn51 #-}
-happyOut51 :: (HappyAbsSyn ) -> (Located CStructTag)
-happyOut51 x = unsafeCoerce# x
-{-# INLINE happyOut51 #-}
-happyIn52 :: (Reversed [CDecl]) -> (HappyAbsSyn )
-happyIn52 x = unsafeCoerce# x
-{-# INLINE happyIn52 #-}
-happyOut52 :: (HappyAbsSyn ) -> (Reversed [CDecl])
-happyOut52 x = unsafeCoerce# x
-{-# INLINE happyOut52 #-}
-happyIn53 :: (CDecl) -> (HappyAbsSyn )
-happyIn53 x = unsafeCoerce# x
-{-# INLINE happyIn53 #-}
-happyOut53 :: (HappyAbsSyn ) -> (CDecl)
-happyOut53 x = unsafeCoerce# x
-{-# INLINE happyOut53 #-}
-happyIn54 :: (CDecl) -> (HappyAbsSyn )
-happyIn54 x = unsafeCoerce# x
-{-# INLINE happyIn54 #-}
-happyOut54 :: (HappyAbsSyn ) -> (CDecl)
-happyOut54 x = unsafeCoerce# x
-{-# INLINE happyOut54 #-}
-happyIn55 :: (CDecl) -> (HappyAbsSyn )
-happyIn55 x = unsafeCoerce# x
-{-# INLINE happyIn55 #-}
-happyOut55 :: (HappyAbsSyn ) -> (CDecl)
-happyOut55 x = unsafeCoerce# x
-{-# INLINE happyOut55 #-}
-happyIn56 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn )
-happyIn56 x = unsafeCoerce# x
-{-# INLINE happyIn56 #-}
-happyOut56 :: (HappyAbsSyn ) -> ((Maybe CDeclr, Maybe CExpr))
-happyOut56 x = unsafeCoerce# x
-{-# INLINE happyOut56 #-}
-happyIn57 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn )
-happyIn57 x = unsafeCoerce# x
-{-# INLINE happyIn57 #-}
-happyOut57 :: (HappyAbsSyn ) -> ((Maybe CDeclr, Maybe CExpr))
-happyOut57 x = unsafeCoerce# x
-{-# INLINE happyOut57 #-}
-happyIn58 :: (CEnum) -> (HappyAbsSyn )
-happyIn58 x = unsafeCoerce# x
-{-# INLINE happyIn58 #-}
-happyOut58 :: (HappyAbsSyn ) -> (CEnum)
-happyOut58 x = unsafeCoerce# x
-{-# INLINE happyOut58 #-}
-happyIn59 :: (Reversed [(Ident, Maybe CExpr)]) -> (HappyAbsSyn )
-happyIn59 x = unsafeCoerce# x
-{-# INLINE happyIn59 #-}
-happyOut59 :: (HappyAbsSyn ) -> (Reversed [(Ident, Maybe CExpr)])
-happyOut59 x = unsafeCoerce# x
-{-# INLINE happyOut59 #-}
-happyIn60 :: ((Ident, Maybe CExpr)) -> (HappyAbsSyn )
-happyIn60 x = unsafeCoerce# x
-{-# INLINE happyIn60 #-}
-happyOut60 :: (HappyAbsSyn ) -> ((Ident, Maybe CExpr))
-happyOut60 x = unsafeCoerce# x
-{-# INLINE happyOut60 #-}
-happyIn61 :: (CTypeQual) -> (HappyAbsSyn )
-happyIn61 x = unsafeCoerce# x
-{-# INLINE happyIn61 #-}
-happyOut61 :: (HappyAbsSyn ) -> (CTypeQual)
-happyOut61 x = unsafeCoerce# x
-{-# INLINE happyOut61 #-}
-happyIn62 :: (Reversed [CTypeQual]) -> (HappyAbsSyn )
-happyIn62 x = unsafeCoerce# x
-{-# INLINE happyIn62 #-}
-happyOut62 :: (HappyAbsSyn ) -> (Reversed [CTypeQual])
-happyOut62 x = unsafeCoerce# x
-{-# INLINE happyOut62 #-}
-happyIn63 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn63 x = unsafeCoerce# x
-{-# INLINE happyIn63 #-}
-happyOut63 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut63 x = unsafeCoerce# x
-{-# INLINE happyOut63 #-}
-happyIn64 :: (Maybe CStrLit) -> (HappyAbsSyn )
-happyIn64 x = unsafeCoerce# x
-{-# INLINE happyIn64 #-}
-happyOut64 :: (HappyAbsSyn ) -> (Maybe CStrLit)
-happyOut64 x = unsafeCoerce# x
-{-# INLINE happyOut64 #-}
-happyIn65 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn65 x = unsafeCoerce# x
-{-# INLINE happyIn65 #-}
-happyOut65 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut65 x = unsafeCoerce# x
-{-# INLINE happyOut65 #-}
-happyIn66 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn66 x = unsafeCoerce# x
-{-# INLINE happyIn66 #-}
-happyOut66 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut66 x = unsafeCoerce# x
-{-# INLINE happyOut66 #-}
-happyIn67 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn67 x = unsafeCoerce# x
-{-# INLINE happyIn67 #-}
-happyOut67 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut67 x = unsafeCoerce# x
-{-# INLINE happyOut67 #-}
-happyIn68 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn68 x = unsafeCoerce# x
-{-# INLINE happyIn68 #-}
-happyOut68 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut68 x = unsafeCoerce# x
-{-# INLINE happyOut68 #-}
-happyIn69 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn69 x = unsafeCoerce# x
-{-# INLINE happyIn69 #-}
-happyOut69 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut69 x = unsafeCoerce# x
-{-# INLINE happyOut69 #-}
-happyIn70 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn70 x = unsafeCoerce# x
-{-# INLINE happyIn70 #-}
-happyOut70 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut70 x = unsafeCoerce# x
-{-# INLINE happyOut70 #-}
-happyIn71 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn71 x = unsafeCoerce# x
-{-# INLINE happyIn71 #-}
-happyOut71 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut71 x = unsafeCoerce# x
-{-# INLINE happyOut71 #-}
-happyIn72 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn72 x = unsafeCoerce# x
-{-# INLINE happyIn72 #-}
-happyOut72 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut72 x = unsafeCoerce# x
-{-# INLINE happyOut72 #-}
-happyIn73 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn73 x = unsafeCoerce# x
-{-# INLINE happyIn73 #-}
-happyOut73 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut73 x = unsafeCoerce# x
-{-# INLINE happyOut73 #-}
-happyIn74 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn74 x = unsafeCoerce# x
-{-# INLINE happyIn74 #-}
-happyOut74 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut74 x = unsafeCoerce# x
-{-# INLINE happyOut74 #-}
-happyIn75 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn75 x = unsafeCoerce# x
-{-# INLINE happyIn75 #-}
-happyOut75 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut75 x = unsafeCoerce# x
-{-# INLINE happyOut75 #-}
-happyIn76 :: (CDeclr) -> (HappyAbsSyn )
-happyIn76 x = unsafeCoerce# x
-{-# INLINE happyIn76 #-}
-happyOut76 :: (HappyAbsSyn ) -> (CDeclr)
-happyOut76 x = unsafeCoerce# x
-{-# INLINE happyOut76 #-}
-happyIn77 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn77 x = unsafeCoerce# x
-{-# INLINE happyIn77 #-}
-happyOut77 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut77 x = unsafeCoerce# x
-{-# INLINE happyOut77 #-}
-happyIn78 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn78 x = unsafeCoerce# x
-{-# INLINE happyIn78 #-}
-happyOut78 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut78 x = unsafeCoerce# x
-{-# INLINE happyOut78 #-}
-happyIn79 :: (([CDecl], Bool)) -> (HappyAbsSyn )
-happyIn79 x = unsafeCoerce# x
-{-# INLINE happyIn79 #-}
-happyOut79 :: (HappyAbsSyn ) -> (([CDecl], Bool))
-happyOut79 x = unsafeCoerce# x
-{-# INLINE happyOut79 #-}
-happyIn80 :: (Reversed [CDecl]) -> (HappyAbsSyn )
-happyIn80 x = unsafeCoerce# x
-{-# INLINE happyIn80 #-}
-happyOut80 :: (HappyAbsSyn ) -> (Reversed [CDecl])
-happyOut80 x = unsafeCoerce# x
-{-# INLINE happyOut80 #-}
-happyIn81 :: (CDecl) -> (HappyAbsSyn )
-happyIn81 x = unsafeCoerce# x
-{-# INLINE happyIn81 #-}
-happyOut81 :: (HappyAbsSyn ) -> (CDecl)
-happyOut81 x = unsafeCoerce# x
-{-# INLINE happyOut81 #-}
-happyIn82 :: (Reversed [Ident]) -> (HappyAbsSyn )
-happyIn82 x = unsafeCoerce# x
-{-# INLINE happyIn82 #-}
-happyOut82 :: (HappyAbsSyn ) -> (Reversed [Ident])
-happyOut82 x = unsafeCoerce# x
-{-# INLINE happyOut82 #-}
-happyIn83 :: (CDecl) -> (HappyAbsSyn )
-happyIn83 x = unsafeCoerce# x
-{-# INLINE happyIn83 #-}
-happyOut83 :: (HappyAbsSyn ) -> (CDecl)
-happyOut83 x = unsafeCoerce# x
-{-# INLINE happyOut83 #-}
-happyIn84 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn84 x = unsafeCoerce# x
-{-# INLINE happyIn84 #-}
-happyOut84 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut84 x = unsafeCoerce# x
-{-# INLINE happyOut84 #-}
-happyIn85 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn )
-happyIn85 x = unsafeCoerce# x
-{-# INLINE happyIn85 #-}
-happyOut85 :: (HappyAbsSyn ) -> (CDeclrR -> CDeclrR)
-happyOut85 x = unsafeCoerce# x
-{-# INLINE happyOut85 #-}
-happyIn86 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn )
-happyIn86 x = unsafeCoerce# x
-{-# INLINE happyIn86 #-}
-happyOut86 :: (HappyAbsSyn ) -> (CDeclrR -> CDeclrR)
-happyOut86 x = unsafeCoerce# x
-{-# INLINE happyOut86 #-}
-happyIn87 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn )
-happyIn87 x = unsafeCoerce# x
-{-# INLINE happyIn87 #-}
-happyOut87 :: (HappyAbsSyn ) -> (CDeclrR -> CDeclrR)
-happyOut87 x = unsafeCoerce# x
-{-# INLINE happyOut87 #-}
-happyIn88 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn88 x = unsafeCoerce# x
-{-# INLINE happyIn88 #-}
-happyOut88 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut88 x = unsafeCoerce# x
-{-# INLINE happyOut88 #-}
-happyIn89 :: (CDeclrR) -> (HappyAbsSyn )
-happyIn89 x = unsafeCoerce# x
-{-# INLINE happyIn89 #-}
-happyOut89 :: (HappyAbsSyn ) -> (CDeclrR)
-happyOut89 x = unsafeCoerce# x
-{-# INLINE happyOut89 #-}
-happyIn90 :: (CInit) -> (HappyAbsSyn )
-happyIn90 x = unsafeCoerce# x
-{-# INLINE happyIn90 #-}
-happyOut90 :: (HappyAbsSyn ) -> (CInit)
-happyOut90 x = unsafeCoerce# x
-{-# INLINE happyOut90 #-}
-happyIn91 :: (Maybe CInit) -> (HappyAbsSyn )
-happyIn91 x = unsafeCoerce# x
-{-# INLINE happyIn91 #-}
-happyOut91 :: (HappyAbsSyn ) -> (Maybe CInit)
-happyOut91 x = unsafeCoerce# x
-{-# INLINE happyOut91 #-}
-happyIn92 :: (Reversed CInitList) -> (HappyAbsSyn )
-happyIn92 x = unsafeCoerce# x
-{-# INLINE happyIn92 #-}
-happyOut92 :: (HappyAbsSyn ) -> (Reversed CInitList)
-happyOut92 x = unsafeCoerce# x
-{-# INLINE happyOut92 #-}
-happyIn93 :: ([CDesignator]) -> (HappyAbsSyn )
-happyIn93 x = unsafeCoerce# x
-{-# INLINE happyIn93 #-}
-happyOut93 :: (HappyAbsSyn ) -> ([CDesignator])
-happyOut93 x = unsafeCoerce# x
-{-# INLINE happyOut93 #-}
-happyIn94 :: (Reversed [CDesignator]) -> (HappyAbsSyn )
-happyIn94 x = unsafeCoerce# x
-{-# INLINE happyIn94 #-}
-happyOut94 :: (HappyAbsSyn ) -> (Reversed [CDesignator])
-happyOut94 x = unsafeCoerce# x
-{-# INLINE happyOut94 #-}
-happyIn95 :: (CDesignator) -> (HappyAbsSyn )
-happyIn95 x = unsafeCoerce# x
-{-# INLINE happyIn95 #-}
-happyOut95 :: (HappyAbsSyn ) -> (CDesignator)
-happyOut95 x = unsafeCoerce# x
-{-# INLINE happyOut95 #-}
-happyIn96 :: (CDesignator) -> (HappyAbsSyn )
-happyIn96 x = unsafeCoerce# x
-{-# INLINE happyIn96 #-}
-happyOut96 :: (HappyAbsSyn ) -> (CDesignator)
-happyOut96 x = unsafeCoerce# x
-{-# INLINE happyOut96 #-}
-happyIn97 :: (CExpr) -> (HappyAbsSyn )
-happyIn97 x = unsafeCoerce# x
-{-# INLINE happyIn97 #-}
-happyOut97 :: (HappyAbsSyn ) -> (CExpr)
-happyOut97 x = unsafeCoerce# x
-{-# INLINE happyOut97 #-}
-happyIn98 :: (Reversed [CDesignator]) -> (HappyAbsSyn )
-happyIn98 x = unsafeCoerce# x
-{-# INLINE happyIn98 #-}
-happyOut98 :: (HappyAbsSyn ) -> (Reversed [CDesignator])
-happyOut98 x = unsafeCoerce# x
-{-# INLINE happyOut98 #-}
-happyIn99 :: (CExpr) -> (HappyAbsSyn )
-happyIn99 x = unsafeCoerce# x
-{-# INLINE happyIn99 #-}
-happyOut99 :: (HappyAbsSyn ) -> (CExpr)
-happyOut99 x = unsafeCoerce# x
-{-# INLINE happyOut99 #-}
-happyIn100 :: (Reversed [CExpr]) -> (HappyAbsSyn )
-happyIn100 x = unsafeCoerce# x
-{-# INLINE happyIn100 #-}
-happyOut100 :: (HappyAbsSyn ) -> (Reversed [CExpr])
-happyOut100 x = unsafeCoerce# x
-{-# INLINE happyOut100 #-}
-happyIn101 :: (CExpr) -> (HappyAbsSyn )
-happyIn101 x = unsafeCoerce# x
-{-# INLINE happyIn101 #-}
-happyOut101 :: (HappyAbsSyn ) -> (CExpr)
-happyOut101 x = unsafeCoerce# x
-{-# INLINE happyOut101 #-}
-happyIn102 :: (Located CUnaryOp) -> (HappyAbsSyn )
-happyIn102 x = unsafeCoerce# x
-{-# INLINE happyIn102 #-}
-happyOut102 :: (HappyAbsSyn ) -> (Located CUnaryOp)
-happyOut102 x = unsafeCoerce# x
-{-# INLINE happyOut102 #-}
-happyIn103 :: (CExpr) -> (HappyAbsSyn )
-happyIn103 x = unsafeCoerce# x
-{-# INLINE happyIn103 #-}
-happyOut103 :: (HappyAbsSyn ) -> (CExpr)
-happyOut103 x = unsafeCoerce# x
-{-# INLINE happyOut103 #-}
-happyIn104 :: (CExpr) -> (HappyAbsSyn )
-happyIn104 x = unsafeCoerce# x
-{-# INLINE happyIn104 #-}
-happyOut104 :: (HappyAbsSyn ) -> (CExpr)
-happyOut104 x = unsafeCoerce# x
-{-# INLINE happyOut104 #-}
-happyIn105 :: (CExpr) -> (HappyAbsSyn )
-happyIn105 x = unsafeCoerce# x
-{-# INLINE happyIn105 #-}
-happyOut105 :: (HappyAbsSyn ) -> (CExpr)
-happyOut105 x = unsafeCoerce# x
-{-# INLINE happyOut105 #-}
-happyIn106 :: (CExpr) -> (HappyAbsSyn )
-happyIn106 x = unsafeCoerce# x
-{-# INLINE happyIn106 #-}
-happyOut106 :: (HappyAbsSyn ) -> (CExpr)
-happyOut106 x = unsafeCoerce# x
-{-# INLINE happyOut106 #-}
-happyIn107 :: (CExpr) -> (HappyAbsSyn )
-happyIn107 x = unsafeCoerce# x
-{-# INLINE happyIn107 #-}
-happyOut107 :: (HappyAbsSyn ) -> (CExpr)
-happyOut107 x = unsafeCoerce# x
-{-# INLINE happyOut107 #-}
-happyIn108 :: (CExpr) -> (HappyAbsSyn )
-happyIn108 x = unsafeCoerce# x
-{-# INLINE happyIn108 #-}
-happyOut108 :: (HappyAbsSyn ) -> (CExpr)
-happyOut108 x = unsafeCoerce# x
-{-# INLINE happyOut108 #-}
-happyIn109 :: (CExpr) -> (HappyAbsSyn )
-happyIn109 x = unsafeCoerce# x
-{-# INLINE happyIn109 #-}
-happyOut109 :: (HappyAbsSyn ) -> (CExpr)
-happyOut109 x = unsafeCoerce# x
-{-# INLINE happyOut109 #-}
-happyIn110 :: (CExpr) -> (HappyAbsSyn )
-happyIn110 x = unsafeCoerce# x
-{-# INLINE happyIn110 #-}
-happyOut110 :: (HappyAbsSyn ) -> (CExpr)
-happyOut110 x = unsafeCoerce# x
-{-# INLINE happyOut110 #-}
-happyIn111 :: (CExpr) -> (HappyAbsSyn )
-happyIn111 x = unsafeCoerce# x
-{-# INLINE happyIn111 #-}
-happyOut111 :: (HappyAbsSyn ) -> (CExpr)
-happyOut111 x = unsafeCoerce# x
-{-# INLINE happyOut111 #-}
-happyIn112 :: (CExpr) -> (HappyAbsSyn )
-happyIn112 x = unsafeCoerce# x
-{-# INLINE happyIn112 #-}
-happyOut112 :: (HappyAbsSyn ) -> (CExpr)
-happyOut112 x = unsafeCoerce# x
-{-# INLINE happyOut112 #-}
-happyIn113 :: (CExpr) -> (HappyAbsSyn )
-happyIn113 x = unsafeCoerce# x
-{-# INLINE happyIn113 #-}
-happyOut113 :: (HappyAbsSyn ) -> (CExpr)
-happyOut113 x = unsafeCoerce# x
-{-# INLINE happyOut113 #-}
-happyIn114 :: (CExpr) -> (HappyAbsSyn )
-happyIn114 x = unsafeCoerce# x
-{-# INLINE happyIn114 #-}
-happyOut114 :: (HappyAbsSyn ) -> (CExpr)
-happyOut114 x = unsafeCoerce# x
-{-# INLINE happyOut114 #-}
-happyIn115 :: (CExpr) -> (HappyAbsSyn )
-happyIn115 x = unsafeCoerce# x
-{-# INLINE happyIn115 #-}
-happyOut115 :: (HappyAbsSyn ) -> (CExpr)
-happyOut115 x = unsafeCoerce# x
-{-# INLINE happyOut115 #-}
-happyIn116 :: (Located CAssignOp) -> (HappyAbsSyn )
-happyIn116 x = unsafeCoerce# x
-{-# INLINE happyIn116 #-}
-happyOut116 :: (HappyAbsSyn ) -> (Located CAssignOp)
-happyOut116 x = unsafeCoerce# x
-{-# INLINE happyOut116 #-}
-happyIn117 :: (CExpr) -> (HappyAbsSyn )
-happyIn117 x = unsafeCoerce# x
-{-# INLINE happyIn117 #-}
-happyOut117 :: (HappyAbsSyn ) -> (CExpr)
-happyOut117 x = unsafeCoerce# x
-{-# INLINE happyOut117 #-}
-happyIn118 :: (Reversed [CExpr]) -> (HappyAbsSyn )
-happyIn118 x = unsafeCoerce# x
-{-# INLINE happyIn118 #-}
-happyOut118 :: (HappyAbsSyn ) -> (Reversed [CExpr])
-happyOut118 x = unsafeCoerce# x
-{-# INLINE happyOut118 #-}
-happyIn119 :: (Maybe CExpr) -> (HappyAbsSyn )
-happyIn119 x = unsafeCoerce# x
-{-# INLINE happyIn119 #-}
-happyOut119 :: (HappyAbsSyn ) -> (Maybe CExpr)
-happyOut119 x = unsafeCoerce# x
-{-# INLINE happyOut119 #-}
-happyIn120 :: (Maybe CExpr) -> (HappyAbsSyn )
-happyIn120 x = unsafeCoerce# x
-{-# INLINE happyIn120 #-}
-happyOut120 :: (HappyAbsSyn ) -> (Maybe CExpr)
-happyOut120 x = unsafeCoerce# x
-{-# INLINE happyOut120 #-}
-happyIn121 :: (CExpr) -> (HappyAbsSyn )
-happyIn121 x = unsafeCoerce# x
-{-# INLINE happyIn121 #-}
-happyOut121 :: (HappyAbsSyn ) -> (CExpr)
-happyOut121 x = unsafeCoerce# x
-{-# INLINE happyOut121 #-}
-happyIn122 :: (CConst) -> (HappyAbsSyn )
-happyIn122 x = unsafeCoerce# x
-{-# INLINE happyIn122 #-}
-happyOut122 :: (HappyAbsSyn ) -> (CConst)
-happyOut122 x = unsafeCoerce# x
-{-# INLINE happyOut122 #-}
-happyIn123 :: (CStrLit) -> (HappyAbsSyn )
-happyIn123 x = unsafeCoerce# x
-{-# INLINE happyIn123 #-}
-happyOut123 :: (HappyAbsSyn ) -> (CStrLit)
-happyOut123 x = unsafeCoerce# x
-{-# INLINE happyOut123 #-}
-happyIn124 :: (Reversed [CString]) -> (HappyAbsSyn )
-happyIn124 x = unsafeCoerce# x
-{-# INLINE happyIn124 #-}
-happyOut124 :: (HappyAbsSyn ) -> (Reversed [CString])
-happyOut124 x = unsafeCoerce# x
-{-# INLINE happyOut124 #-}
-happyIn125 :: (Ident) -> (HappyAbsSyn )
-happyIn125 x = unsafeCoerce# x
-{-# INLINE happyIn125 #-}
-happyOut125 :: (HappyAbsSyn ) -> (Ident)
-happyOut125 x = unsafeCoerce# x
-{-# INLINE happyOut125 #-}
-happyIn126 :: ([CAttr]) -> (HappyAbsSyn )
-happyIn126 x = unsafeCoerce# x
-{-# INLINE happyIn126 #-}
-happyOut126 :: (HappyAbsSyn ) -> ([CAttr])
-happyOut126 x = unsafeCoerce# x
-{-# INLINE happyOut126 #-}
-happyIn127 :: ([CAttr]) -> (HappyAbsSyn )
-happyIn127 x = unsafeCoerce# x
-{-# INLINE happyIn127 #-}
-happyOut127 :: (HappyAbsSyn ) -> ([CAttr])
-happyOut127 x = unsafeCoerce# x
-{-# INLINE happyOut127 #-}
-happyIn128 :: ([CAttr]) -> (HappyAbsSyn )
-happyIn128 x = unsafeCoerce# x
-{-# INLINE happyIn128 #-}
-happyOut128 :: (HappyAbsSyn ) -> ([CAttr])
-happyOut128 x = unsafeCoerce# x
-{-# INLINE happyOut128 #-}
-happyIn129 :: (Reversed [CAttr]) -> (HappyAbsSyn )
-happyIn129 x = unsafeCoerce# x
-{-# INLINE happyIn129 #-}
-happyOut129 :: (HappyAbsSyn ) -> (Reversed [CAttr])
-happyOut129 x = unsafeCoerce# x
-{-# INLINE happyOut129 #-}
-happyIn130 :: (Maybe CAttr) -> (HappyAbsSyn )
-happyIn130 x = unsafeCoerce# x
-{-# INLINE happyIn130 #-}
-happyOut130 :: (HappyAbsSyn ) -> (Maybe CAttr)
-happyOut130 x = unsafeCoerce# x
-{-# INLINE happyOut130 #-}
-happyIn131 :: (Reversed [CExpr]) -> (HappyAbsSyn )
-happyIn131 x = unsafeCoerce# x
-{-# INLINE happyIn131 #-}
-happyOut131 :: (HappyAbsSyn ) -> (Reversed [CExpr])
-happyOut131 x = unsafeCoerce# x
-{-# INLINE happyOut131 #-}
-happyInTok :: CToken -> (HappyAbsSyn )
-happyInTok x = unsafeCoerce# x
-{-# INLINE happyInTok #-}
-happyOutTok :: (HappyAbsSyn ) -> CToken
-happyOutTok x = unsafeCoerce# x
-{-# INLINE happyOutTok #-}
-
-happyActOffsets :: HappyAddr
-happyActOffsets = HappyA# "\x00\x00\x1d\x0f\xd3\x09\x31\x0f\x00\x00\x80\x07\x00\x00\x7f\x09\x77\x0f\x31\x0f\x00\x00\xc8\x09\x1f\x05\x05\x05\x7f\x03\xf0\x04\x65\x08\x54\x08\x49\x08\x3e\x08\xc6\x04\x00\x00\x2b\x08\xef\x07\x00\x00\x00\x00\x0b\x09\x00\x00\x00\x00\xcd\x0e\xcd\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x82\x04\xaf\x0e\x96\x0e\x00\x00\x00\x00\x00\x00\xf6\x07\x00\x00\x32\x0e\x14\x0e\x14\x0e\x48\x08\x47\x08\x24\x08\xb6\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x07\xe6\x07\x00\x00\x00\x00\x4a\x05\xd2\x07\xfb\x0d\xd0\x07\xd6\x07\xd3\x09\xf5\x07\x24\x00\xed\x07\xfb\x0d\xec\x07\xd5\x07\xc6\x07\x00\x00\x76\x07\x00\x00\xae\x07\x00\x00\x95\x04\x8e\x04\x01\x01\xd5\x11\x00\x00\x01\x01\x00\x00\x9a\x19\x9a\x19\x11\x18\x01\x18\x21\x08\x21\x08\x00\x00\x00\x00\x71\x07\x00\x00\xa6\x11\x00\x00\x00\x00\x00\x00\xd9\x01\x00\x00\x00\x00\x00\x00\x4a\x05\x89\x12\x00\x00\x3d\x01\x3d\x01\xcb\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6b\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x07\x1d\x0f\x55\x07\x00\x00\xb8\x07\x6f\x09\x7a\x01\x59\x07\x5b\x07\xb3\x12\x00\x00\x00\x00\x4b\x00\xb2\x07\xb4\x09\xaa\x07\x4b\x00\x86\x07\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x00\x00\xa7\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x18\x00\x00\x9d\x07\x00\x00\x94\x18\xff\x0a\x72\x07\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x77\x11\x97\x07\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x67\x07\x5f\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x07\x00\x00\x6e\x02\x48\x02\x0f\x00\x52\x07\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x00\x00\x7b\x07\x00\x00\x4f\x07\x53\x07\x00\x00\x1b\x07\x00\x00\x1b\x07\x00\x00\x00\x00\xfb\x0d\xfb\x0d\x00\x00\x4d\x07\xfb\x0d\x41\x07\xfb\x0d\x00\x00\x43\x08\x14\x07\xd3\x09\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x65\x07\x00\x00\x2e\x07\xf4\x06\x00\x00\xc3\x1a\xc3\x1a\xfb\x0d\x00\x00\x0b\x09\x00\x00\x00\x00\xf0\x06\x00\x00\x00\x00\x0b\x09\x00\x00\x0b\x09\x00\x00\x00\x00\x00\x00\x4e\x07\x97\x03\xe7\x1a\xab\x04\xab\x04\x7a\x0a\x4c\x07\x4b\x07\x9f\x1a\xfb\x0d\xfb\x0d\x97\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\xfb\x0d\x00\x00\xfb\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0d\xfb\x0d\x36\x04\x36\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x07\x6e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x09\xa3\x09\x8a\x04\x8a\x04\x4f\x04\x4f\x04\x4f\x04\x4f\x04\x7f\x03\x7f\x03\x1d\x04\x35\x07\x2b\x07\x16\x07\x0c\x07\xfb\x0d\x25\x07\x00\x00\xfb\x06\x00\x00\x61\x0d\x00\x00\x00\x00\x00\x00\xb7\x06\x57\x1a\x33\x1a\x48\x11\x00\x0f\x00\x00\x00\x00\x0f\x07\x0e\x07\x00\x00\xf3\x06\xdd\x06\xdb\x06\xc7\x06\xd3\x09\xdf\x07\xad\x06\x94\x06\x7c\x06\xd3\x09\xfb\x0d\x00\x00\xcb\x06\x6c\x19\xab\x06\xa7\x06\x00\x00\xc4\x06\x00\x00\xc3\x06\xc1\x06\xea\x00\xd8\x00\x38\x18\xa1\x06\x5d\x06\xaa\x06\x00\x00\x6f\x09\x38\x18\x86\x06\x00\x00\x00\x00\x1e\x19\x5b\x0b\x00\x00\x00\x00\xb1\x01\x93\x01\x8e\x06\x88\x06\x0f\x00\x47\x00\x93\x01\x00\x00\x38\x18\x66\x06\x00\x00\x49\x06\x00\x00\x6f\x09\x3e\x06\x00\x00\x00\x00\x00\x00\x00\x00\xed\x01\x00\x00\x62\x06\x00\x00\x38\x18\x3d\x06\x00\x00\x9b\x0a\x00\x00\x29\x06\xe0\x0b\x09\x00\xce\x05\x74\x02\xff\x0f\x74\x02\x21\x08\x21\x08\xd0\x0f\x24\x06\xfb\x05\x00\x00\x1b\x01\x45\x19\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x19\x11\xd8\x00\xea\x10\x5a\x12\x6f\x09\x38\x18\x04\x06\x00\x00\x19\x06\x9e\x09\x12\x00\x12\x00\x0f\x00\x00\x00\x0f\x00\x00\x00\x0f\x00\x00\x00\x00\x00\xdc\x0c\x09\x06\xf4\x05\xcc\x03\x03\x06\xfe\x05\x77\x00\xca\x00\x00\x00\x00\x00\xef\x05\x00\x00\x00\x00\xcd\x02\x00\x00\xcb\x05\xcc\x03\xaa\x05\x00\x00\x00\x00\x00\x00\xdc\x0c\x4b\x09\x00\x00\x0f\x00\x00\x00\xfd\x0c\x00\x00\xc8\x05\xc1\x05\x8c\x05\x8c\x05\xbb\x10\x00\x00\xf1\x00\xc9\x00\x8c\x05\x00\x00\x56\x05\x66\x18\x00\x00\x53\x05\x00\x00\xf0\x18\xc2\x18\xa1\x0f\xde\x12\x53\x05\x53\x05\x00\x00\x72\x0f\x49\x07\x53\x05\x00\x00\x53\x05\x53\x05\x00\x00\xab\x04\x62\x0c\x9d\x05\x9b\x05\x09\x00\x00\x00\x90\x05\x46\x05\x37\x0a\x09\x00\x00\x00\x00\x00\x6f\x09\x38\x18\x6d\x05\x00\x00\x8f\x05\x8d\x05\xdc\x17\x00\x00\x00\x00\x00\x00\x2f\x09\x84\x05\x0e\x00\xbe\x00\x83\x05\x0f\x00\x0f\x00\x2c\x09\x00\x00\x00\x00\x00\x00\xe3\x0a\x65\x00\x00\x00\x00\x00\x81\x05\x79\x05\x10\x05\x00\x00\x00\x00\x00\x00\x35\x05\x35\x05\xd3\x09\xd3\x09\xd3\x09\x00\x00\xfb\x0d\xfb\x0d\xfb\x0d\x42\x05\x00\x00\xaa\x01\xc9\x03\xdf\x07\xf2\x04\x00\x00\x23\x05\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x00\x8c\x10\xd8\x00\x5d\x10\x2d\x05\xa7\x08\x00\x00\x7b\x1a\x9a\x03\x7b\x1a\x1c\x05\x1c\x05\x1c\x05\x30\x0c\x00\x00\xa2\x09\x31\x05\x2f\x05\x2d\x00\x33\x12\x00\x00\x00\x00\xfe\x0b\xfb\x0d\x00\x00\xfb\x0d\x00\x00\xfb\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x02\xfd\x0c\xdc\x02\x00\x00\x99\x01\x00\x00\xd4\x04\xfb\x0d\x9a\x03\xfe\x0b\x21\x05\x0d\x05\x13\x00\x00\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\x04\x09\x05\xed\x02\x00\x00\xf9\x04\x00\x00\xc0\x04\x2e\x10\xc0\x04\xc0\x04\xc0\x04\x00\x00\xa3\x03\x89\x04\x00\x00\xa2\x04\x2a\x00\xd3\x09\xc7\x04\x9c\x04\x97\x04\x7f\x04\x00\x00\x00\x00\x88\x04\x88\x04\xa1\x04\x00\x00\x00\x00\x22\x09\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x0a\x0f\x00\x00\x00\xaf\x17\xd4\x02\x00\x00\xa0\x03\x98\x03\x0f\x1a\xc2\x12\x00\x00\x00\x00\xbe\x19\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x04\x9a\x04\x8b\x04\x86\x04\x09\x00\x0a\x04\x00\x00\x7a\x04\x00\x00\x00\x00\x68\x04\xfb\x0d\x00\x00\x00\x00\x00\x00\xb4\x04\x9f\x00\x04\x12\x00\x00\x00\x00\xdc\x0a\x3e\x09\x24\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x01\x2b\x00\x2b\x00\x16\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x02\xfb\x0d\xf4\x00\x00\x00\xe4\x0c\x64\x04\x77\x00\x00\x00\x00\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x00\x00\xde\x00\x00\x00\x2b\x00\x5f\x01\xcd\x00\x3e\x04\x00\x00\x00\x00\xfb\x0d\x3c\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdd\x03\x1b\x04\xfb\x0d\x9e\x00\xeb\x19\xc8\x03\x00\x00\xc8\x03\x00\x00\xc8\x03\x06\x04\xfb\x0d\x00\x00\x00\x00\xcd\x00\x1f\x09\x00\x00\x00\x00\x00\x00\x00\x00\xd3\x09\xfb\x0d\xfb\x0d\xf5\x03\x00\x00\x0a\x01\xef\x03\x00\x00\x1a\x04\x49\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdf\x03\x00\x00\x00\x00\x00\x00\xfb\x0d\x40\x03\x00\x00\x00\x00\x00\x00\x0f\x00\x00\x00\x97\x01\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x0b\x00\x00\x00\x00\x80\x0c\x00\x00\x00\x00\xfb\x0d\x63\x0b\x00\x00\x00\x00\x00\x00\x03\x04\x00\x00\x01\x04\xe1\x03\xfb\x0d\x2a\x00\xb6\x03\x2a\x00\x00\x00\xd8\x03\xd3\x03\x00\x00\x00\x00\x00\x00\xfb\x0d\x00\x00\x9e\x00\xd4\x02\x6a\x03\x00\x00\xfb\x0d\x00\x00\x00\x00\xb9\x03\x00\x00\x00\x00\x00\x00\xfb\x0d\x00\x00\x00\x00\x00\x00\x4a\x03\x4a\x03\x00\x00\xd3\x09\xd3\x09\xd5\x00\x00\x00\x00\x00\xa8\x03\x3b\x03\x3b\x03\x00\x00\x00\x00\x7a\x03\x00\x00\x00\x00\x74\x03\x72\x03\x00\x00\x46\x03\x0b\x03\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\xfb\x0d\xfb\x0d\x6c\x03\x5b\x03\x17\x03\xe9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-
-happyGotoOffsets :: HappyAddr
-happyGotoOffsets = HappyA# "\x36\x03\x71\x00\xd3\x06\xc6\x1d\x3c\x03\x38\x00\x00\x00\x00\x00\xc5\x02\x35\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\x4d\x03\x00\x00\x00\x00\x71\x0d\xa4\x0b\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x02\xd5\x0a\xb9\x0a\x00\x00\x00\x00\x00\x00\xa7\x02\x00\x00\x20\x0c\xbe\x03\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\x07\x03\x1a\x00\x00\x00\x76\x1f\x00\x00\x00\x00\xb8\x06\x00\x00\x95\x02\x00\x00\x4c\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x03\x00\x00\x00\x00\x00\x00\x2a\x06\xc3\x00\x00\x00\x8a\x05\x00\x00\x14\x00\x16\x01\x6c\x02\x7d\x01\xa2\x01\xcb\x00\x00\x00\x00\x00\x96\x08\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x99\x08\xe2\x02\x00\x00\x00\x00\xbb\x02\x15\x01\x00\x00\xa8\x0a\xd7\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5c\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\xff\xff\x00\x00\x00\x00\x00\x00\xca\x15\x71\x02\x5d\x02\x6a\x02\x77\x08\x00\x00\x00\x00\x70\x02\x00\x00\x5b\x08\x00\x00\x40\x00\xc6\x02\x00\x00\x00\x00\x00\x00\x52\x02\x9e\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xad\x04\x00\x00\x66\x02\x00\x00\xa8\x13\x16\x17\xa9\x02\x00\x00\x00\x00\x00\x00\x00\x00\x51\x02\x90\x02\xec\x00\x00\x00\x00\x00\x1a\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\x82\x02\x4f\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x02\x9a\x13\xe8\x16\x35\x08\x75\x02\x00\x00\x00\x00\x00\x00\x4a\x02\x5c\x02\x00\x00\x00\x00\x00\x00\x62\x02\x31\x02\x56\x02\xf3\x07\x00\x00\xee\x07\x00\x00\x00\x00\xab\x1d\x90\x1d\x00\x00\x00\x00\x75\x1d\x00\x00\x5a\x1d\x00\x00\x98\x06\x00\x00\x4e\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xeb\x01\xe9\x07\x00\x00\x7b\x16\x53\x16\x5b\x1f\x00\x00\xe7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc1\x02\x00\x00\x5b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x69\x05\x9b\x00\x78\x00\x50\x00\x89\x16\x00\x00\x00\x00\xac\x03\x3f\x1d\xc7\x1f\x24\x1d\xe2\x1f\x08\x15\x84\x15\xfd\x1f\xf1\x0b\x6f\x0b\xf0\x0c\xbb\x0c\x40\x0c\x3a\x0b\x9b\x0c\x1a\x0b\xfc\x07\x26\x07\xc1\x0b\x2c\x0a\x9d\x09\x00\x00\x40\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x1d\xee\x1c\xdb\x01\xcd\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\xac\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x99\x07\x00\x00\x00\x00\x00\x00\xc6\x01\x61\x04\x00\x00\x73\x13\xda\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x06\x35\x02\x33\x02\xea\x01\x7e\x01\x18\x06\x25\x1f\x00\x00\x00\x00\xa6\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x03\x91\x20\x87\x04\xdd\x01\xce\x07\x00\x00\x00\x00\xa6\x15\x4c\x04\xb7\x01\x00\x00\x00\x00\xda\x13\x26\x03\x00\x00\x00\x00\x6c\x05\x30\x13\x00\x00\x00\x00\xa2\x07\x36\x02\xb6\x0b\x00\x00\x26\x04\xa0\x01\x00\x00\x00\x00\xa7\x01\x4e\x15\xc7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x02\xb0\x01\x00\x00\x00\x00\xeb\x03\x60\x01\x00\x00\xa9\x16\x00\x00\x00\x00\xc4\x1b\x6a\x07\x14\x01\x40\x20\x18\x14\x28\x20\x9f\x01\x18\x00\x2c\x14\x00\x00\x00\x00\x00\x00\x00\x00\xa6\x03\x00\x00\x00\x00\x00\x00\x00\x00\x84\x20\x47\x07\x77\x20\x68\x14\xaf\x14\x2a\x15\xc5\x03\x4d\x01\x00\x00\x00\x00\x73\x07\xd3\x01\xeb\x04\x27\x07\x00\x00\x20\x07\x00\x00\x15\x07\x00\x00\x00\x00\xbf\x03\x00\x00\x00\x00\xb9\x01\x00\x00\x00\x00\xfd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x01\x00\x00\x00\x00\x00\x00\x00\x00\x44\x04\x15\x07\x00\x00\xd9\x06\x00\x00\xa9\x1b\x00\x00\x00\x00\x00\x00\x16\x02\xf7\x01\xa9\x14\x00\x00\x6f\x13\x0d\x0e\xf4\x01\x00\x00\x00\x00\x0a\x14\x00\x00\x96\x06\x00\x00\x00\x04\x00\x00\x3e\x13\x60\x17\x76\x06\x68\x06\x00\x00\x06\x13\x59\x17\x2b\x06\x00\x00\x10\x06\xe2\x05\x00\x00\xdb\x00\x62\x17\x00\x00\x00\x00\xdf\x05\x00\x00\x00\x00\x00\x00\xe0\x16\xd9\x05\x00\x00\x00\x00\xd2\x14\x64\x03\x42\x01\x00\x00\x00\x00\x00\x00\x31\x16\x5c\x01\x00\x00\x00\x00\xff\x05\x00\x00\xf9\x08\x60\x07\x00\x00\xf1\x05\xe4\x05\xe1\x05\x00\x00\x00\x00\x00\x00\x92\x0c\x18\x04\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x01\x00\x00\x00\x00\x00\x00\x5e\x01\x57\x01\xae\x05\x93\x05\x78\x05\x00\x00\x31\x1c\x16\x1c\xd3\x1c\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x01\x33\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x54\x09\x43\x01\xc4\x07\x3e\x01\x00\x00\x36\x07\x00\x00\x40\x16\xd5\xff\xe1\x14\x00\x00\x00\x00\x00\x00\xc7\x02\x00\x00\x8a\x02\x00\x00\x00\x00\xf9\x00\x96\x14\x00\x00\x00\x00\x13\x1b\x0a\x1f\x00\x00\x91\x1f\x00\x00\xef\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x1b\x9d\x02\x00\x00\x00\x00\x00\x00\x00\x00\xd4\x1e\xd3\x00\xf1\x1a\x00\x00\x00\x00\x7f\x00\x00\x00\xb4\x05\x00\x00\x00\x00\x00\x00\x00\x00\xce\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x01\x67\x01\x36\x01\x1d\x01\x17\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf4\xff\x0e\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x80\x00\x00\x00\x00\x00\x00\x00\x99\x05\x00\x00\x00\x00\x6b\x0e\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x09\x5c\x05\x00\x00\x31\x16\x6a\x20\x00\x00\x00\x00\x00\x00\x04\x04\xb9\x16\x00\x00\x00\x00\x22\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xce\x04\xb0\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb9\x1e\x00\x00\x00\x00\x00\x00\x1a\x17\xfa\x05\x64\x14\x00\x00\x00\x00\x80\x16\x9a\x06\xca\x04\x00\x00\x00\x00\x00\x00\x00\x00\xc3\x02\xaa\x0d\x36\x0d\xfa\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9e\x1e\xd9\xff\x00\x00\x50\x1b\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x91\x06\xbf\x03\x5a\x05\x00\x00\x00\x00\x00\x00\x83\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x00\x00\x00\x68\x1e\x57\x04\x61\x04\x78\x04\x00\x00\x09\x04\x00\x00\x86\x03\x00\x00\x4d\x1e\x00\x00\x00\x00\x5a\x05\xab\x03\x00\x00\x00\x00\x00\x00\x00\x00\xf3\x04\xfb\x1b\xe0\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\xb9\x00\x00\x00\x00\x00\x00\x00\xb8\x1c\x44\x00\x00\x00\x00\x00\x00\x00\x2c\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x1b\x00\x00\x00\x00\x73\x1b\x00\x00\x00\x00\x32\x1e\x35\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x1c\xf5\xff\x00\x00\xf1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x17\x1e\x00\x00\x5f\x03\x5b\x20\xd0\xff\x00\x00\xfc\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe1\x1d\x00\x00\x00\x00\x00\x00\xec\x01\xd0\xff\x00\x00\xd6\x04\x9e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x32\x00\xa5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf9\xff\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x1c\x67\x1c\x00\x00\x00\x00\x00\x00\x91\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-
-happyDefActions :: HappyAddr
-happyDefActions = HappyA# "\xfa\xff\x3d\xfe\x00\x00\x00\x00\x00\x00\x3d\xfe\x9b\xfe\x8f\xfe\x7d\xfe\x00\x00\x7b\xfe\x77\xfe\x74\xfe\x71\xfe\x6c\xfe\x69\xfe\x67\xfe\x65\xfe\x63\xfe\x61\xfe\x5f\xfe\x5c\xfe\x4f\xfe\x00\x00\xa5\xfe\xa4\xfe\x3d\xfe\x7e\xfe\x7f\xfe\x00\x00\x00\x00\x81\xfe\x80\xfe\x82\xfe\x83\xfe\x00\x00\x00\x00\x00\x00\x45\xfe\x46\xfe\x44\xfe\x43\xfe\xa6\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\xff\xe3\xff\xe2\xff\xe1\xff\xe0\xff\xdf\xff\xde\xff\x00\x00\x00\x00\xc7\xff\xd7\xff\xb5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4b\xfe\x00\x00\x00\x00\xa6\xfe\x3e\xfe\x00\x00\xf7\xff\x00\x00\xf6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x98\xff\x00\x00\x77\xff\x9b\xff\x8a\xff\x9a\xff\x89\xff\x99\xff\x88\xff\x6c\xff\x52\xff\x3d\xfe\x51\xff\x00\x00\xe5\xff\x0a\xff\x08\xff\x09\xff\xa6\xff\xfb\xfe\xfa\xfe\x00\x00\x3c\xfe\x3b\xfe\x00\x00\x3d\xfe\x00\x00\x8d\xff\x7e\xff\x86\xff\x7d\xff\x81\xff\x3d\xfe\x8f\xff\x82\xff\x84\xff\x83\xff\x8c\xff\x85\xff\x80\xff\x8e\xff\x4d\xff\x90\xff\x00\x00\x8b\xff\x4c\xff\x7f\xff\x87\xff\xfe\xfe\x60\xff\x00\x00\x3d\xfe\x00\x00\xf5\xff\x00\x00\x3d\xfe\x00\x00\x3c\xfe\x00\x00\x00\x00\x07\xff\xf9\xfe\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x97\xff\x76\xff\x6b\xff\x26\xff\xa6\xff\x3a\xfe\x00\x00\x5a\xff\x2b\xff\x2f\xff\x2c\xff\x2d\xff\x2e\xff\x3d\xfe\x03\xff\xd7\xfe\xd5\xfe\xf4\xfe\x49\xfe\x00\x00\x96\xff\x75\xff\x6a\xff\x2a\xff\x26\xff\xa6\xff\x00\x00\x00\x00\x5d\xff\x00\x00\x66\xff\x54\xff\x53\xff\x62\xff\x92\xff\x91\xff\x61\xff\x6f\xff\x68\xff\x67\xff\xa9\xff\x6e\xff\x6d\xff\xaa\xff\x7b\xff\x72\xff\x73\xff\x71\xff\x7a\xff\x79\xff\x78\xff\x00\x00\x26\xff\x27\xff\x23\xff\x20\xff\x1f\xff\x24\xff\x16\xff\x28\xff\xa6\xff\x00\x00\x3d\xfe\x22\xff\x00\x00\x94\xff\x7c\xff\x70\xff\x26\xff\xa6\xff\x93\xff\x00\x00\x65\xff\x00\x00\x26\xff\xa6\xff\x3d\xfe\xa8\xff\x3d\xfe\xa7\xff\xf3\xff\x00\x00\x00\x00\x4a\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3f\xfe\x4b\xfe\x00\x00\x00\x00\xbc\xff\x7d\xfe\x47\xfe\x00\x00\xbb\xff\x00\x00\xb4\xff\xd5\xff\x3d\xfe\xc6\xff\x3d\xfe\x3d\xfe\x00\x00\x85\xfe\x3d\xfe\x86\xfe\x8c\xfe\x42\xfe\x41\xfe\x8a\xfe\x3d\xfe\x88\xfe\x3d\xfe\x84\xfe\x8d\xfe\x8e\xfe\x00\x00\xde\xfe\x8a\xff\x89\xff\x88\xff\x00\x00\x00\x00\x00\x00\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\xfe\x00\x00\x5a\xfe\x56\xfe\x55\xfe\x59\xfe\x58\xfe\x57\xfe\x52\xfe\x51\xfe\x50\xfe\x54\xfe\x53\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x95\xfe\x94\xfe\xf8\xff\xf9\xff\x97\xfe\x96\xfe\x00\x00\x00\x00\x91\xfe\x99\xfe\x5b\xfe\x78\xfe\x79\xfe\x7a\xfe\x75\xfe\x76\xfe\x72\xfe\x73\xfe\x6d\xfe\x6f\xfe\x6e\xfe\x70\xfe\x6a\xfe\x6b\xfe\x68\xfe\x66\xfe\x64\xfe\x62\xfe\x00\x00\x00\x00\x60\xfe\x4d\xfe\x4e\xfe\xa3\xfe\x00\x00\xdb\xfe\xd8\xfe\xda\xfe\xd9\xfe\x00\x00\xdc\xfe\xf4\xfe\xc8\xfe\xdd\xfe\xa2\xfe\x00\x00\x00\x00\x40\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\xff\xd5\xff\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x3d\xfe\x00\x00\x00\x00\xbe\xff\x00\x00\xba\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\xb6\xfe\x3d\xfe\x00\x00\xf1\xff\x3d\xfe\x3d\xfe\xb6\xfe\xef\xff\x21\xff\xf4\xfe\x00\x00\x1e\xff\x12\xff\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\xff\x3d\xfe\xb6\xfe\xf0\xff\x4e\xff\x4b\xff\x3d\xfe\x00\x00\x95\xff\x74\xff\x69\xff\x29\xff\x26\xff\xa6\xff\x00\x00\x57\xff\x3d\xfe\xb6\xfe\xee\xff\x49\xfe\x48\xfe\x00\x00\x49\xfe\x82\xfe\x3d\xfe\xef\xfe\xeb\xfe\xe8\xfe\x9a\xff\x89\xff\xe4\xfe\x00\x00\xf3\xfe\xf1\xfe\x00\x00\x3c\xfe\xe0\xfe\xd4\xfe\xec\xff\xa5\xff\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x3d\xfe\x3d\xfe\xb6\xfe\xf2\xff\x00\x00\x00\x00\x00\x00\x3d\xfe\xf6\xfe\xfd\xfe\x02\xff\x06\xff\x09\xff\x05\xff\xf8\xfe\x00\x00\x00\x00\x34\xff\x00\x00\x00\x00\x00\x00\x36\xfe\x00\x00\x38\xfe\x34\xfe\x35\xfe\x5f\xff\x5e\xff\x00\x00\x33\xff\x31\xff\x00\x00\x00\x00\x04\xff\x01\xff\xf5\xfe\x00\x00\x00\x00\xfc\xfe\x00\xff\xa1\xff\x00\x00\xeb\xff\x00\x00\x00\x00\x26\xff\x26\xff\x00\x00\x28\xff\x00\x00\x3d\xfe\x26\xff\xf7\xfe\x00\x00\x3d\xfe\xd6\xfe\x3d\xfe\xe2\xfe\x00\x00\xe3\xfe\xf4\xfe\xc8\xfe\x3d\xfe\x3d\xfe\xe7\xfe\xf4\xfe\xc8\xfe\x3d\xfe\xea\xfe\x3d\xfe\x3d\xfe\xee\xfe\x3d\xfe\x00\x00\x00\x00\x00\x00\x82\xfe\xd3\xfe\x00\x00\x00\x00\x49\xfe\x82\xfe\xa3\xff\xe7\xff\x3d\xfe\x3d\xfe\xb6\xfe\xed\xff\x00\x00\x00\x00\x3d\xfe\x4b\xff\x9d\xff\xe9\xff\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x0f\xff\x1a\xff\x00\x00\x1d\xff\x1c\xff\x11\xff\x00\x00\x00\x00\xa4\xff\xe8\xff\x00\x00\x00\x00\x00\x00\x9f\xff\x9e\xff\xea\xff\x26\xff\x26\xff\x00\x00\x00\x00\x00\x00\xbd\xff\x4b\xfe\x4b\xfe\x00\x00\x00\x00\xdc\xff\x00\x00\x00\x00\xd6\xff\x00\x00\xd3\xff\x00\x00\xd4\xff\xd2\xff\xd0\xff\xd1\xff\x00\x00\x00\x00\x00\x00\x00\x00\x60\xff\x3d\xfe\xdd\xff\x3d\xfe\x00\x00\x3d\xfe\x00\x00\x89\xfe\x87\xfe\x3d\xfe\xc6\xfe\xc4\xfe\x00\x00\x00\x00\x00\x00\x3c\xfe\xba\xfe\x7c\xfe\xb4\xfe\x00\x00\x5d\xfe\x00\x00\x98\xfe\x00\x00\x9a\xfe\x90\xfe\x5e\xfe\x4c\xfe\xb3\xfe\x00\x00\x00\x00\x00\x00\xac\xfe\xad\xfe\xb9\xfe\x00\x00\x00\x00\x00\x00\xb4\xfe\x00\x00\x00\x00\x00\x00\xc1\xfe\xc2\xfe\xc0\xfe\xc3\xfe\xc5\xfe\xc7\xfe\x3c\xfe\x00\x00\x00\x00\x9e\xfe\x00\x00\xcf\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\xff\x00\x00\x00\x00\xc9\xff\x00\x00\xb3\xff\x00\x00\x00\x00\x00\x00\x00\x00\xc5\xff\xc3\xff\xc2\xff\xb6\xfe\xb6\xfe\x00\x00\x64\xff\x63\xff\x00\x00\x1b\xff\x10\xff\x00\x00\x15\xff\x19\xff\x0d\xff\x0e\xff\x00\x00\x18\xff\x0b\xff\x3d\xfe\x40\xff\x49\xff\x00\x00\x00\x00\x3d\xfe\x3c\xfe\x4a\xff\x4f\xff\x3d\xfe\x5c\xff\x5b\xff\xa2\xff\xe6\xff\x00\x00\x00\x00\x00\x00\x00\x00\x82\xfe\x3d\xfe\xd1\xfe\x00\x00\xd2\xfe\xcc\xfe\x00\x00\x00\x00\xed\xfe\xec\xfe\xe9\xfe\x3d\xfe\xc4\xfe\x3c\xfe\xe6\xfe\xe5\xfe\x3d\xfe\xc4\xfe\x3c\xfe\xe1\xfe\xf0\xfe\xf2\xfe\xdf\xfe\x00\x00\x00\x00\x00\x00\x26\xff\x59\xff\x58\xff\xb5\xfe\xff\xfe\xf4\xff\x00\x00\x00\x00\x00\x00\x38\xff\x00\x00\x00\x00\x36\xfe\x37\xfe\x39\xfe\x31\xfe\x00\x00\x32\xfe\x32\xff\x37\xff\x30\xff\x00\x00\x36\xff\x00\x00\x3c\xfe\x3c\xfe\x00\x00\xcf\xfe\xcb\xfe\x00\x00\x00\x00\xd0\xfe\xca\xfe\x56\xff\x55\xff\x46\xff\x44\xff\x3c\xff\x00\x00\x00\x00\x3c\xfe\x3d\xfe\x48\xff\x3d\xfe\x47\xff\x3d\xfe\x3f\xff\x00\x00\x50\xff\x17\xff\x00\x00\x00\x00\x14\xff\x25\xff\x9c\xff\xa0\xff\x00\x00\x4b\xfe\x4b\xfe\x00\x00\xda\xff\x00\x00\xb2\xff\xb1\xff\x00\x00\x00\x00\xb9\xff\xd8\xff\xc8\xff\xce\xff\xcc\xff\xcd\xff\x00\x00\xcb\xff\x9f\xfe\xa0\xfe\x00\x00\x00\x00\xa1\xfe\xbf\xfe\xbd\xfe\xbe\xfe\xbc\xfe\x00\x00\xa9\xfe\x00\x00\xae\xfe\xab\xfe\xa8\xfe\xaf\xfe\xb2\xfe\x00\x00\x93\xfe\xb1\xfe\x00\x00\x92\xfe\xaa\xfe\x00\x00\x00\x00\xb8\xfe\xbb\xfe\x9d\xfe\x00\x00\xca\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\xff\xc1\xff\x00\x00\x00\x00\xc4\xff\x13\xff\x3e\xff\x00\x00\x42\xff\x00\x00\x00\x00\x45\xff\x3b\xff\x00\x00\x39\xff\xc9\xfe\x00\x00\xce\xfe\x35\xff\x33\xfe\x00\x00\x30\xfe\xcd\xfe\x3a\xff\x3d\xfe\x43\xff\x3d\xff\x00\x00\x00\x00\x00\x00\xb8\xff\xb0\xff\x00\x00\x00\x00\x00\x00\x9c\xfe\xb7\xfe\x00\x00\xb0\xfe\xa7\xfe\x00\x00\x00\x00\xaf\xff\x00\x00\x00\x00\xd6\xff\xc0\xff\x41\xff\xbf\xff\x00\x00\xac\xff\xb7\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xab\xff\xb6\xff\xad\xff\xae\xff"#
-
-happyCheck :: HappyAddr
-happyCheck = HappyA# "\xff\xff\x02\x00\x03\x00\x04\x00\x36\x00\x74\x00\x15\x00\x16\x00\x17\x00\x15\x00\x16\x00\x17\x00\x17\x00\x04\x00\x35\x00\x01\x00\x01\x00\x18\x00\x03\x00\x01\x00\x04\x00\x02\x00\x1c\x00\x02\x00\x19\x00\x74\x00\x1b\x00\x0d\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x01\x00\x03\x00\x14\x00\x02\x00\x5b\x00\x0d\x00\x33\x00\x39\x00\x20\x00\x21\x00\x37\x00\x23\x00\x0d\x00\x21\x00\x02\x00\x03\x00\x04\x00\x1e\x00\x2e\x00\x2a\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x79\x00\x01\x00\x79\x00\x36\x00\x76\x00\x01\x00\x2e\x00\x36\x00\x76\x00\x36\x00\x19\x00\x09\x00\x1b\x00\x0d\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x74\x00\x01\x00\x5e\x00\x74\x00\x74\x00\x5c\x00\x33\x00\x5e\x00\x74\x00\x5c\x00\x37\x00\x5e\x00\x5e\x00\x0d\x00\x02\x00\x03\x00\x04\x00\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5c\x00\x5d\x00\x42\x00\x43\x00\x44\x00\x5b\x00\x36\x00\x5c\x00\x5d\x00\x5e\x00\x19\x00\x5e\x00\x1b\x00\x79\x00\x1d\x00\x1e\x00\x1f\x00\x79\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x01\x00\x01\x00\x79\x00\x03\x00\x5c\x00\x33\x00\x5e\x00\x74\x00\x5c\x00\x37\x00\x5e\x00\x02\x00\x0d\x00\x0d\x00\x36\x00\x36\x00\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x79\x00\x76\x00\x21\x00\x1e\x00\x23\x00\x23\x00\x01\x00\x07\x00\x5c\x00\x5d\x00\x5e\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x7b\x00\x79\x00\x01\x00\x0d\x00\x02\x00\x33\x00\x01\x00\x2c\x00\x36\x00\x36\x00\x2a\x00\x5c\x00\x54\x00\x36\x00\x0d\x00\x02\x00\x54\x00\x01\x00\x0d\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x43\x00\x20\x00\x21\x00\x0d\x00\x23\x00\x48\x00\x77\x00\x78\x00\x79\x00\x01\x00\x21\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x79\x00\x01\x00\x1e\x00\x2a\x00\x56\x00\x33\x00\x0d\x00\x79\x00\x36\x00\x5c\x00\x5c\x00\x5d\x00\x5e\x00\x0d\x00\x5c\x00\x5d\x00\x36\x00\x01\x00\x36\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x2d\x00\x02\x00\x21\x00\x0d\x00\x23\x00\x43\x00\x36\x00\x78\x00\x79\x00\x79\x00\x48\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x5c\x00\x5d\x00\x5e\x00\x02\x00\x07\x00\x33\x00\x01\x00\x2d\x00\x36\x00\x56\x00\x07\x00\x5c\x00\x5d\x00\x5e\x00\x1e\x00\x5c\x00\x5d\x00\x5e\x00\x0d\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5c\x00\x5d\x00\x21\x00\x21\x00\x23\x00\x23\x00\x5c\x00\x5d\x00\x79\x00\x07\x00\x01\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x07\x00\x79\x00\x2a\x00\x5c\x00\x04\x00\x33\x00\x76\x00\x0d\x00\x37\x00\x36\x00\x5c\x00\x5d\x00\x5e\x00\x5c\x00\x5d\x00\x77\x00\x78\x00\x79\x00\x36\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5c\x00\x5d\x00\x21\x00\x01\x00\x23\x00\x43\x00\x20\x00\x21\x00\x79\x00\x23\x00\x48\x00\x2a\x00\x2b\x00\x2c\x00\x04\x00\x0d\x00\x2a\x00\x2b\x00\x2c\x00\x02\x00\x33\x00\x79\x00\x1c\x00\x36\x00\x56\x00\x33\x00\x7a\x00\x7b\x00\x36\x00\x1c\x00\x5c\x00\x5d\x00\x5e\x00\x4b\x00\x41\x00\x42\x00\x43\x00\x44\x00\x74\x00\x41\x00\x42\x00\x43\x00\x44\x00\x21\x00\x2d\x00\x23\x00\x77\x00\x78\x00\x79\x00\x79\x00\x79\x00\x39\x00\x2a\x00\x2b\x00\x2c\x00\x01\x00\x36\x00\x54\x00\x39\x00\x2a\x00\x5c\x00\x33\x00\x5e\x00\x03\x00\x36\x00\x21\x00\x06\x00\x0d\x00\x54\x00\x43\x00\x05\x00\x06\x00\x07\x00\x2c\x00\x48\x00\x41\x00\x42\x00\x43\x00\x44\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x36\x00\x54\x00\x56\x00\x78\x00\x79\x00\x1f\x00\x34\x00\x35\x00\x5c\x00\x79\x00\x5e\x00\x0d\x00\x20\x00\x21\x00\x2a\x00\x20\x00\x21\x00\x2d\x00\x05\x00\x06\x00\x07\x00\x1e\x00\x09\x00\x1a\x00\x0b\x00\x0c\x00\x0d\x00\x07\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x2d\x00\x36\x00\x5c\x00\x5d\x00\x36\x00\x19\x00\x01\x00\x1b\x00\x03\x00\x1d\x00\x1e\x00\x1f\x00\x79\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x34\x00\x35\x00\x5c\x00\x5d\x00\x5e\x00\x74\x00\x33\x00\x54\x00\x0a\x00\x79\x00\x37\x00\x5a\x00\x0e\x00\x5c\x00\x76\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\x54\x00\x6e\x00\x5c\x00\x5d\x00\x5e\x00\x1c\x00\x73\x00\x74\x00\x1c\x00\x76\x00\x42\x00\x43\x00\x44\x00\x79\x00\x2c\x00\x5a\x00\x79\x00\x5c\x00\x30\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\x39\x00\x6e\x00\x76\x00\x39\x00\x54\x00\x1c\x00\x73\x00\x74\x00\x4b\x00\x76\x00\x77\x00\x78\x00\x79\x00\x05\x00\x06\x00\x07\x00\x0a\x00\x09\x00\x79\x00\x0b\x00\x0c\x00\x0d\x00\x76\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x1c\x00\x78\x00\x79\x00\x1c\x00\x19\x00\x39\x00\x1b\x00\x76\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x77\x00\x78\x00\x79\x00\x1c\x00\x39\x00\x33\x00\x07\x00\x39\x00\x1c\x00\x37\x00\x1c\x00\x1c\x00\x01\x00\x1a\x00\x2a\x00\x3c\x00\x3d\x00\x2d\x00\x01\x00\x1a\x00\x03\x00\x42\x00\x43\x00\x44\x00\x0d\x00\x07\x00\x22\x00\x23\x00\x1a\x00\x25\x00\x0d\x00\x27\x00\x39\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x39\x00\x07\x00\x39\x00\x39\x00\x20\x00\x21\x00\x33\x00\x5a\x00\x76\x00\x5c\x00\x37\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\x36\x00\x6e\x00\x5c\x00\x5d\x00\x5e\x00\x4c\x00\x73\x00\x74\x00\x1a\x00\x76\x00\x77\x00\x78\x00\x79\x00\x79\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5a\x00\x50\x00\x5c\x00\x1a\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\x07\x00\x6e\x00\x5c\x00\x5d\x00\x5e\x00\x07\x00\x73\x00\x74\x00\x5c\x00\x5d\x00\x77\x00\x78\x00\x79\x00\x01\x00\x79\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x2a\x00\x74\x00\x03\x00\x2d\x00\x0d\x00\x06\x00\x22\x00\x23\x00\x79\x00\x25\x00\x76\x00\x27\x00\x79\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x02\x00\x03\x00\x36\x00\x1e\x00\x06\x00\x33\x00\x58\x00\x59\x00\x2a\x00\x37\x00\x36\x00\x2d\x00\x1f\x00\x1a\x00\x36\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x07\x00\x22\x00\x23\x00\x76\x00\x25\x00\x4c\x00\x27\x00\x08\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x33\x00\x5a\x00\x75\x00\x5c\x00\x37\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\x76\x00\x6e\x00\x5c\x00\x5d\x00\x6d\x00\x4c\x00\x73\x00\x74\x00\x00\x00\x01\x00\x77\x00\x78\x00\x79\x00\x78\x00\x79\x00\x01\x00\x77\x00\x78\x00\x79\x00\x5a\x00\x2b\x00\x5c\x00\x5b\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\x07\x00\x6e\x00\x41\x00\x42\x00\x43\x00\x44\x00\x73\x00\x74\x00\x36\x00\x02\x00\x77\x00\x78\x00\x79\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x5b\x00\x41\x00\x42\x00\x43\x00\x44\x00\x07\x00\x46\x00\x47\x00\x02\x00\x22\x00\x23\x00\x2b\x00\x25\x00\x01\x00\x27\x00\x01\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x4e\x00\x4f\x00\x50\x00\x19\x00\x04\x00\x1b\x00\x33\x00\x1d\x00\x1e\x00\x1f\x00\x37\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x32\x00\x13\x00\x14\x00\x15\x00\x16\x00\x5b\x00\x33\x00\x01\x00\x4c\x00\x03\x00\x37\x00\x5c\x00\x5d\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x0d\x00\x5c\x00\x5d\x00\x5a\x00\x5e\x00\x5c\x00\x02\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\x5a\x00\x6e\x00\x5c\x00\x04\x00\x5e\x00\x5f\x00\x73\x00\x74\x00\x2a\x00\x2b\x00\x77\x00\x78\x00\x79\x00\x21\x00\x5e\x00\x23\x00\x2a\x00\x2b\x00\x07\x00\x2a\x00\x2b\x00\x23\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\x02\x00\x2a\x00\x2b\x00\x2c\x00\x33\x00\x02\x00\x77\x00\x78\x00\x79\x00\x19\x00\x33\x00\x1b\x00\x2b\x00\x1d\x00\x1e\x00\x1f\x00\x04\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x2a\x00\x2b\x00\x36\x00\x5c\x00\x5d\x00\x33\x00\x4e\x00\x4f\x00\x50\x00\x37\x00\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\x19\x00\x04\x00\x1b\x00\x04\x00\x1d\x00\x1e\x00\x1f\x00\x2c\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x5a\x00\x2a\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x33\x00\x79\x00\x2b\x00\x21\x00\x37\x00\x23\x00\x1e\x00\x79\x00\x5e\x00\x23\x00\x5c\x00\x5d\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\x33\x00\x17\x00\x18\x00\x36\x00\x33\x00\x79\x00\x1e\x00\x36\x00\x5e\x00\x77\x00\x78\x00\x79\x00\x19\x00\x04\x00\x1b\x00\x04\x00\x1d\x00\x1e\x00\x1f\x00\x30\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x33\x00\x42\x00\x43\x00\x44\x00\x37\x00\x46\x00\x47\x00\x11\x00\x12\x00\x77\x00\x78\x00\x79\x00\x19\x00\x02\x00\x1b\x00\x5e\x00\x1d\x00\x1e\x00\x1f\x00\x04\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x79\x00\x36\x00\x77\x00\x78\x00\x79\x00\x04\x00\x33\x00\x77\x00\x78\x00\x79\x00\x37\x00\x23\x00\x41\x00\x42\x00\x43\x00\x44\x00\x32\x00\x04\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x04\x00\x78\x00\x79\x00\x5c\x00\x5d\x00\x33\x00\x0b\x00\x0c\x00\x36\x00\x41\x00\x42\x00\x43\x00\x44\x00\x02\x00\x77\x00\x78\x00\x79\x00\x19\x00\x02\x00\x1b\x00\x02\x00\x1d\x00\x1e\x00\x1f\x00\x1f\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x07\x00\x01\x00\x2d\x00\x03\x00\x2a\x00\x2b\x00\x33\x00\x3c\x00\x78\x00\x79\x00\x37\x00\x2a\x00\x2b\x00\x0d\x00\x2b\x00\x77\x00\x78\x00\x79\x00\x19\x00\x2b\x00\x1b\x00\x02\x00\x1d\x00\x1e\x00\x1f\x00\x2b\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x79\x00\x05\x00\x06\x00\x07\x00\x5c\x00\x5d\x00\x33\x00\x36\x00\x1c\x00\x1d\x00\x37\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x36\x00\x21\x00\x2c\x00\x23\x00\x43\x00\x77\x00\x78\x00\x79\x00\x1e\x00\x48\x00\x2a\x00\x2b\x00\x2c\x00\x43\x00\x05\x00\x06\x00\x07\x00\x02\x00\x48\x00\x33\x00\x77\x00\x78\x00\x79\x00\x56\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x17\x00\x18\x00\x5e\x00\x56\x00\x02\x00\x42\x00\x43\x00\x44\x00\x02\x00\x5c\x00\x5d\x00\x5e\x00\x05\x00\x06\x00\x07\x00\x11\x00\x12\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x37\x00\x02\x00\x77\x00\x78\x00\x79\x00\x77\x00\x78\x00\x79\x00\x0b\x00\x0c\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5a\x00\x02\x00\x5c\x00\x02\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\x79\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x2c\x00\x73\x00\x74\x00\x1e\x00\x76\x00\x5a\x00\x5c\x00\x5c\x00\x2d\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\x1e\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x30\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x5b\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\x02\x00\x6e\x00\x05\x00\x06\x00\x07\x00\x36\x00\x73\x00\x74\x00\x02\x00\x76\x00\x02\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x1f\x00\x43\x00\x04\x00\x02\x00\x36\x00\x02\x00\x48\x00\x4d\x00\x04\x00\x3b\x00\x3c\x00\x3d\x00\x05\x00\x06\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x04\x00\x56\x00\x04\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x3b\x00\x3c\x00\x3d\x00\x4e\x00\x4f\x00\x50\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5e\x00\x5c\x00\x05\x00\x06\x00\x07\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x30\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x38\x00\x02\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x02\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5a\x00\x79\x00\x5c\x00\x2b\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\x79\x00\x6e\x00\x4e\x00\x4f\x00\x50\x00\x1f\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x01\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\x02\x00\x6e\x00\x4e\x00\x4f\x00\x50\x00\x02\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x02\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\x02\x00\x6e\x00\x05\x00\x06\x00\x07\x00\x2c\x00\x73\x00\x74\x00\x1f\x00\x76\x00\x2a\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x5e\x00\x04\x00\x04\x00\x4e\x00\x4f\x00\x50\x00\x4e\x00\x4f\x00\x50\x00\x3b\x00\x3c\x00\x3d\x00\x05\x00\x06\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x4e\x00\x4f\x00\x50\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x4e\x00\x4f\x00\x50\x00\x77\x00\x78\x00\x79\x00\x05\x00\x06\x00\x07\x00\x77\x00\x78\x00\x79\x00\x77\x00\x78\x00\x79\x00\x1f\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x38\x00\x01\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x2c\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x5a\x00\x79\x00\x5c\x00\x2c\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\x1f\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x02\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x02\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\x08\x00\x6e\x00\x77\x00\x78\x00\x79\x00\x1f\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x01\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\x5e\x00\x6e\x00\x05\x00\x06\x00\x07\x00\x1f\x00\x73\x00\x74\x00\x02\x00\x76\x00\x02\x00\x02\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x01\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x2b\x00\x42\x00\x43\x00\x44\x00\x2b\x00\x5b\x00\x05\x00\x06\x00\x07\x00\x41\x00\x42\x00\x43\x00\x44\x00\x77\x00\x78\x00\x79\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x77\x00\x78\x00\x79\x00\x5c\x00\x2a\x00\x5a\x00\x46\x00\x5c\x00\x02\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\x2a\x00\x6e\x00\x2a\x00\x70\x00\x78\x00\x79\x00\x73\x00\x74\x00\x77\x00\x78\x00\x79\x00\x02\x00\x02\x00\x5a\x00\x79\x00\x5c\x00\x5e\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\x2a\x00\x6e\x00\x4e\x00\x4f\x00\x50\x00\x1e\x00\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\x1a\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\x1b\x00\x6e\x00\x0c\x00\x0d\x00\x19\x00\x10\x00\x73\x00\x74\x00\x04\x00\x76\x00\x01\x00\x5b\x00\x03\x00\x02\x00\x02\x00\x19\x00\x02\x00\x1b\x00\x5e\x00\x1d\x00\x1e\x00\x1f\x00\x0d\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x4e\x00\x4f\x00\x50\x00\x01\x00\x20\x00\x21\x00\x33\x00\x23\x00\x57\x00\x2b\x00\x37\x00\x4e\x00\x4f\x00\x50\x00\x2a\x00\x2b\x00\x2c\x00\x46\x00\x4e\x00\x4f\x00\x50\x00\x2b\x00\x5e\x00\x33\x00\x2c\x00\x01\x00\x36\x00\x2c\x00\x36\x00\x5a\x00\x01\x00\x5c\x00\x30\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x41\x00\x42\x00\x43\x00\x44\x00\x43\x00\x0d\x00\x2c\x00\x30\x00\x5a\x00\x48\x00\x5c\x00\x2c\x00\x5e\x00\x5f\x00\x60\x00\x37\x00\x01\x00\x73\x00\x74\x00\x3b\x00\x3c\x00\x3d\x00\x2c\x00\x56\x00\x03\x00\x41\x00\x42\x00\x43\x00\x44\x00\x5c\x00\x5d\x00\x5e\x00\x01\x00\x73\x00\x74\x00\x2b\x00\x02\x00\x77\x00\x78\x00\x79\x00\x30\x00\x31\x00\x2c\x00\x33\x00\x02\x00\x35\x00\x5b\x00\x5e\x00\x38\x00\x01\x00\x65\x00\x3b\x00\x01\x00\x3d\x00\x3e\x00\x3f\x00\x79\x00\x4e\x00\x4f\x00\x50\x00\x44\x00\x45\x00\x01\x00\x47\x00\x04\x00\x5e\x00\x4a\x00\x4b\x00\x01\x00\x4d\x00\x4e\x00\x5e\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x77\x00\x78\x00\x79\x00\x2c\x00\x65\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x01\x00\x77\x00\x78\x00\x79\x00\x1e\x00\x65\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x01\x00\x01\x00\x10\x00\x4e\x00\x4f\x00\x50\x00\x5a\x00\x1e\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x1b\x00\x2b\x00\x38\x00\x2b\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x1e\x00\x41\x00\x42\x00\x43\x00\x44\x00\x2b\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x65\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x01\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\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\x01\x00\x77\x00\x78\x00\x79\x00\x01\x00\x01\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x5b\x00\x31\x00\x10\x00\x65\x00\x2a\x00\x5a\x00\x36\x00\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x1b\x00\x3e\x00\x77\x00\x78\x00\x79\x00\x1a\x00\x43\x00\x77\x00\x78\x00\x79\x00\x47\x00\x48\x00\x77\x00\x78\x00\x79\x00\x19\x00\x4d\x00\x73\x00\x74\x00\x50\x00\x2f\x00\x52\x00\x31\x00\x10\x00\x33\x00\x56\x00\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x5e\x00\x3d\x00\x3e\x00\x3f\x00\x4e\x00\x4f\x00\x50\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\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\x01\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x36\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\x47\x00\x19\x00\xff\xff\x1b\x00\x1b\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x77\x00\x78\x00\x79\x00\x2f\x00\xff\xff\x31\x00\x33\x00\x33\x00\xff\xff\x35\x00\x37\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\x4e\x00\x4f\x00\x50\x00\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\x78\x00\x79\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\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\x01\x00\x77\x00\x78\x00\x79\x00\xff\xff\x37\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x77\x00\x78\x00\x79\x00\x01\x00\x02\x00\x03\x00\x01\x00\x02\x00\x03\x00\x1b\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x01\x00\x02\x00\x03\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x3c\x00\x3d\x00\x2c\x00\xff\xff\xff\xff\x2f\x00\x42\x00\x43\x00\x44\x00\x33\x00\x01\x00\x35\x00\x03\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\x0d\x00\x01\x00\x02\x00\x03\x00\x44\x00\x45\x00\x77\x00\x78\x00\x79\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\x04\x00\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\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\x01\x00\x78\x00\x79\x00\xff\xff\x36\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x01\x00\x43\x00\x03\x00\xff\xff\x05\x00\x06\x00\x48\x00\xff\xff\x09\x00\x0a\x00\x1b\x00\xff\xff\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x56\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\x2f\x00\x01\x00\x02\x00\x03\x00\x33\x00\x01\x00\x35\x00\x03\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\x0d\x00\x0d\x00\x0e\x00\x0f\x00\x44\x00\x45\x00\x01\x00\x02\x00\x03\x00\xff\xff\x4a\x00\x4b\x00\x4c\x00\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\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\x01\x00\x0d\x00\x0e\x00\x0f\x00\x36\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x43\x00\x36\x00\xff\xff\xff\xff\xff\xff\x48\x00\x3b\x00\x3c\x00\x3d\x00\x1b\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x5a\x00\x56\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x2b\x00\x2c\x00\x5e\x00\xff\xff\x2f\x00\x30\x00\xff\xff\x32\x00\xff\xff\x34\x00\xff\xff\xff\xff\x37\x00\xff\xff\x39\x00\x3a\x00\x37\x00\xff\xff\x73\x00\x74\x00\xff\xff\x40\x00\x41\x00\x42\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x49\x00\x46\x00\x47\x00\x4c\x00\xff\xff\xff\xff\x4f\x00\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\x78\x00\x79\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x0d\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\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\x77\x00\x78\x00\x79\x00\xff\xff\x1b\x00\xff\xff\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\x2f\x00\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\x36\x00\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x43\x00\x01\x00\xff\xff\x03\x00\xff\xff\x48\x00\x5c\x00\x5d\x00\x5e\x00\x4c\x00\x4d\x00\xff\xff\x5a\x00\x0d\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x1b\x00\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\x2f\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x36\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\x43\x00\x03\x00\xff\xff\x01\x00\xff\xff\x48\x00\x01\x00\xff\xff\xff\xff\x4c\x00\x4d\x00\x0d\x00\x42\x00\x43\x00\x44\x00\x0d\x00\x46\x00\x47\x00\x0d\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\xff\xff\x36\x00\x5a\x00\xff\xff\x5c\x00\x36\x00\x5e\x00\x5f\x00\x36\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x78\x00\x79\x00\xff\xff\x43\x00\x48\x00\xff\xff\x43\x00\xff\xff\x48\x00\xff\xff\xff\xff\x48\x00\x73\x00\x74\x00\x2f\x00\x5a\x00\xff\xff\x5c\x00\x56\x00\x5e\x00\x5f\x00\x36\x00\x56\x00\xff\xff\x5c\x00\x56\x00\x5e\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5c\x00\x5d\x00\x5e\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\x73\x00\x74\x00\xff\xff\x4c\x00\x4d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x01\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\x03\x00\xff\xff\x0d\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x01\x00\x1b\x00\x03\x00\xff\xff\xff\xff\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x73\x00\x74\x00\x2c\x00\x2d\x00\x36\x00\x2f\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\x2d\x00\xff\xff\x2f\x00\xff\xff\x73\x00\x74\x00\x4c\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x1b\x00\x46\x00\x47\x00\x5a\x00\x01\x00\x5c\x00\x03\x00\x5e\x00\x5f\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\x73\x00\x74\x00\x1b\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\x2c\x00\xff\xff\x4c\x00\x2f\x00\x78\x00\x79\x00\xff\xff\x01\x00\xff\xff\x03\x00\x73\x00\x74\x00\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x0d\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x73\x00\x74\x00\x36\x00\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x56\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x5e\x00\xff\xff\x10\x00\x2f\x00\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x5a\x00\x1b\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\x2c\x00\xff\xff\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x56\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\x4c\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x01\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x02\x00\xff\xff\xff\xff\x0d\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x01\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x79\x00\xff\xff\x10\x00\x73\x00\x74\x00\xff\xff\xff\xff\x36\x00\x2f\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x1b\x00\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2c\x00\xff\xff\xff\xff\x2f\x00\xff\xff\x73\x00\x74\x00\x4c\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\x5e\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x1b\x00\x01\x00\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2c\x00\xff\xff\x5a\x00\x2f\x00\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\xff\xff\x1b\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x73\x00\x74\x00\xff\xff\x2f\x00\xff\xff\x4c\x00\x78\x00\x79\x00\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\x1e\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x2f\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\x4c\x00\x73\x00\x74\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\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\xff\xff\xff\xff\xff\xff\x01\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x78\x00\x79\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2f\x00\x37\x00\xff\xff\xff\xff\x4c\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x1b\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\x01\x00\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\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\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\x2f\x00\xff\xff\xff\xff\xff\xff\x4c\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x1b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x4c\x00\x2f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\x0d\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x0d\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x01\x00\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\x10\x00\xff\xff\x43\x00\xff\xff\xff\xff\xff\xff\xff\xff\x48\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x30\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x56\x00\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\x5e\x00\xff\xff\x2f\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x4c\x00\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\xff\xff\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x01\x00\x31\x00\x03\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x31\x00\xff\xff\x33\x00\x0d\x00\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\x01\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x5d\x00\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\x0d\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\x01\x00\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\x0d\x00\x38\x00\xff\xff\x01\x00\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\x0d\x00\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x01\x00\x1e\x00\x03\x00\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\xff\xff\x36\x00\xff\xff\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x43\x00\x35\x00\xff\xff\xff\xff\x38\x00\x48\x00\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x56\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x5c\x00\x4e\x00\x5e\x00\xff\xff\x51\x00\x36\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x43\x00\xff\xff\xff\xff\x1e\x00\x1f\x00\x48\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x5c\x00\xff\xff\x5e\x00\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x33\x00\x42\x00\x43\x00\x44\x00\x37\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x78\x00\x79\x00\x37\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\xff\xff\x42\x00\x43\x00\x44\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x33\x00\x42\x00\x43\x00\x44\x00\x37\x00\x46\x00\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\x48\x00\x49\x00\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x48\x00\x49\x00\x4a\x00\xff\xff\xff\xff\xff\xff\x1e\x00\x1f\x00\xff\xff\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x20\x00\x21\x00\xff\xff\x23\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x21\x00\x36\x00\x23\x00\xff\xff\x77\x00\x78\x00\x79\x00\x4a\x00\xff\xff\x2a\x00\x2b\x00\x2c\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x79\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x36\x00\xff\xff\x3c\x00\x3d\x00\xff\xff\xff\xff\x78\x00\x79\x00\x42\x00\x43\x00\x44\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\x21\x00\xff\xff\x23\x00\xff\xff\xff\xff\xff\xff\x21\x00\xff\xff\x23\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\x33\x00\x79\x00\xff\xff\x36\x00\x78\x00\x79\x00\x33\x00\xff\xff\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\x23\x00\x33\x00\x25\x00\xff\xff\x27\x00\x37\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\x5a\x00\x4c\x00\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\x4c\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x5a\x00\x37\x00\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\xff\xff\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\x4c\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x5a\x00\x37\x00\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\x4c\x00\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x22\x00\x23\x00\xff\xff\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\x30\x00\x22\x00\x23\x00\x33\x00\x25\x00\xff\xff\x27\x00\x37\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\x2e\x00\x2f\x00\x30\x00\x22\x00\x23\x00\x33\x00\x25\x00\xff\xff\x27\x00\x37\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x22\x00\x23\x00\x37\x00\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\xff\xff\x4c\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\x77\x00\x78\x00\x79\x00\xff\xff\x22\x00\x23\x00\x4c\x00\x25\x00\xff\xff\x27\x00\xff\xff\x29\x00\x2a\x00\x2b\x00\x2c\x00\x77\x00\x78\x00\x79\x00\xff\xff\x23\x00\xff\xff\x33\x00\xff\xff\xff\xff\xff\xff\x37\x00\x2a\x00\x2b\x00\x2c\x00\x36\x00\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x33\x00\xff\xff\xff\xff\x36\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x4c\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x23\x00\xff\xff\xff\xff\x36\x00\xff\xff\xff\xff\xff\xff\x2a\x00\x2b\x00\x2c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x32\x00\x33\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x78\x00\x79\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\x36\x00\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x74\x00\xff\xff\x37\x00\x77\x00\x78\x00\x79\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x46\x00\x47\x00\xff\xff\xff\xff\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\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\x37\x00\xff\xff\xff\xff\x36\x00\x71\x00\xff\xff\x73\x00\x74\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\x79\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\x77\x00\x78\x00\x79\x00\x37\x00\x77\x00\x78\x00\x79\x00\x3b\x00\x3c\x00\x3d\x00\x37\x00\x36\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x77\x00\x78\x00\x79\x00\xff\xff\xff\xff\x73\x00\x74\x00\x77\x00\x78\x00\x79\x00\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x2b\x00\xff\xff\x2d\x00\xff\xff\xff\xff\x5d\x00\x5e\x00\x5f\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\x2b\x00\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x36\x00\xff\xff\x5d\x00\x5e\x00\x5f\x00\x2b\x00\xff\xff\xff\xff\x3e\x00\xff\xff\xff\xff\x31\x00\xff\xff\x43\x00\xff\xff\xff\xff\x36\x00\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x3e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x43\x00\xff\xff\xff\xff\x56\x00\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4d\x00\x5e\x00\xff\xff\x50\x00\xff\xff\x52\x00\x2c\x00\xff\xff\xff\xff\x56\x00\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x5d\x00\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x5d\x00\x5e\x00\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\x4e\x00\xff\xff\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x31\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\xff\xff\x3e\x00\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\x4d\x00\xff\xff\xff\xff\x50\x00\xff\xff\x52\x00\xff\xff\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\xff\xff\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5d\x00\x5e\x00\x5f\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\xff\xff\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\x56\x00\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x33\x00\xff\xff\x35\x00\xff\xff\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\x3d\x00\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x4e\x00\xff\xff\xff\xff\x51\x00\xff\xff\x53\x00\x54\x00\x55\x00\xff\xff\x33\x00\xff\xff\x35\x00\x36\x00\xff\xff\x38\x00\x5d\x00\x5e\x00\x3b\x00\xff\xff\xff\xff\xff\xff\x3f\x00\xff\xff\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\xff\xff\x48\x00\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x54\x00\x55\x00\x56\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x53\x00\x5e\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x53\x00\x76\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x53\x00\x76\x00\xff\xff\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\x76\x00\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x7c\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x53\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\x71\x00\xff\xff\x73\x00\x74\x00\xff\xff\x5a\x00\xff\xff\x5c\x00\x79\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\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\x70\x00\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\x6f\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x72\x00\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\x5a\x00\xff\xff\x5c\x00\xff\xff\x5e\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\x73\x00\x74\x00\xff\xff\xff\xff\xff\xff\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x31\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x31\x00\x41\x00\x42\x00\x43\x00\x44\x00\xff\xff\xff\xff\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x38\x00\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\xff\xff\x41\x00\x42\x00\x43\x00\x44\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\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\x88\x00\x4c\x00\x4d\x00\xa2\x01\x7b\x03\x5e\x03\x12\x03\x13\x03\x11\x03\x12\x03\x13\x03\x60\x03\x3d\xfe\xe6\x02\x25\x02\x8d\x01\x72\x03\xaa\x00\xcb\x01\x35\x03\x25\x03\x1a\x02\x7a\x03\x4e\x00\x69\x03\x4f\x00\x26\x02\x50\x00\x51\x00\x52\x00\xcc\x01\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xd4\x02\x16\x03\xf8\x00\x7b\x02\x82\x02\xef\x00\x5f\x00\x84\x01\xc7\x00\xb9\x00\x60\x00\xc8\x00\xf7\x01\xbc\x00\x3d\x01\x4c\x00\x4d\x00\x75\x01\x36\x03\x7b\x03\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x9c\x00\x25\x02\x4f\x03\xba\x00\x83\x02\xcb\x01\x76\x01\xbd\x00\xe2\x01\xf9\x00\x4e\x00\x71\x03\x4f\x00\x26\x02\x50\x00\x51\x00\x52\x00\xcc\x01\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x14\x03\x97\x01\x86\x00\x14\x03\x14\x03\x84\x00\x5f\x00\x86\x00\x73\x03\x84\x00\x60\x00\x86\x00\x86\x00\xd6\x00\x4b\x00\x4c\x00\x4d\x00\x68\x00\x69\x00\x6a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xf0\x00\x4b\x00\xc8\x01\x63\x00\xc9\x01\x2a\x00\xb6\x00\x84\x00\x98\x01\x86\x00\x4e\x00\x86\x00\x4f\x00\xc9\x00\x50\x00\x51\x00\x52\x00\xbe\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\xaa\x00\xcb\x01\x06\x02\x4f\x03\xaa\x00\x84\x00\x5f\x00\x86\x00\x6a\x03\x84\x00\x60\x00\x86\x00\x55\x03\xcc\x01\x07\x02\xdd\x01\xbd\x00\x68\x00\x69\x00\x6a\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x9c\x00\x39\x03\xab\x00\xfb\x02\xac\x00\xc4\x00\x25\x02\x3b\x03\x84\x00\x98\x01\x86\x00\xad\x00\x5d\x00\x5e\x00\xd7\x00\xe1\x02\xb7\x00\xd3\x02\x26\x02\xe0\x02\x5f\x00\x25\x02\x9d\x01\xae\x00\xc5\x00\x56\x03\xde\x01\x0a\x03\x3c\xfe\xf7\x01\x6d\x03\x0b\x03\xf6\x01\x26\x02\xaf\x00\x62\x00\x63\x00\x64\x00\xb0\x00\x66\x00\x67\x00\x3c\xfe\xd8\x00\xb9\x00\xf7\x01\xd9\x00\x3c\xfe\x68\x00\x69\x00\x6a\x00\xcb\x01\xb5\x00\xda\x00\x5d\x00\x5e\x00\x9e\x01\xbe\x00\xd4\x02\x6e\x03\xe1\x02\x3c\xfe\x5f\x00\xcc\x01\x60\x02\xba\x00\x84\x00\x84\x00\xd7\x00\x86\x00\xf7\x01\xf0\x00\x4b\x00\xb6\x00\xd5\x00\xa1\x00\xdb\x00\x62\x00\x63\x00\x64\x00\xdc\x00\x66\x00\x67\x00\x54\x03\x41\x03\x9f\x01\xd6\x00\xa0\x01\xa2\x00\xae\x00\xb1\x00\x6a\x00\xc6\x00\xa3\x00\xa1\x01\x5d\x00\x5e\x00\x96\x00\x84\x00\xd7\x00\x86\x00\xf9\x01\x19\x03\x5f\x00\xec\x02\xe8\x02\xa2\x01\xa4\x00\x1a\x03\x84\x00\xd7\x00\x86\x00\x42\x03\x84\x00\xd7\x00\x86\x00\xf7\x01\xa3\x01\x62\x00\x63\x00\x64\x00\xa4\x01\x66\x00\x67\x00\x84\x00\xd7\x00\x97\x00\xc3\x00\x98\x00\xc4\x00\xf0\x00\x4b\x00\xdd\x00\x1b\x03\x6c\x00\x99\x00\x5d\x00\x5e\x00\x86\x02\x1d\x03\xb7\x00\xfa\x01\x84\x00\x89\x02\x5f\x00\x28\x03\x6d\x00\x0c\x02\xc5\x00\x84\x00\x98\x01\x86\x00\xf0\x00\x4b\x00\xc1\x02\x80\x02\x6a\x00\xa1\x00\x9a\x00\x62\x00\x63\x00\x64\x00\x9b\x00\x66\x00\x67\x00\x84\x00\xd7\x00\xab\x00\xcb\x01\xac\x00\xa2\x00\xd8\x00\xb9\x00\x9c\x00\xd9\x00\xa3\x00\xad\x00\x5d\x00\x5e\x00\x1c\x03\xcc\x01\xda\x00\x5d\x00\x5e\x00\x67\x02\x5f\x00\x60\x02\x98\x02\xae\x00\xa4\x00\x5f\x00\xda\x01\xdb\x01\xba\x00\x99\x02\x84\x00\xd7\x00\x86\x00\x8c\x02\xaf\x00\x62\x00\x63\x00\xd0\x01\x9a\x02\xdb\x00\x62\x00\x63\x00\xd0\x01\x9f\x01\xa8\x02\xa0\x01\x0d\x02\x8c\x00\x6a\x00\x9c\x00\xc6\x00\x84\x01\xa1\x01\x5d\x00\x5e\x00\x97\x01\xa1\x00\xb4\x02\x84\x01\x68\x02\x84\x00\x5f\x00\x86\x00\xa8\xfe\xa2\x01\xbc\x00\xa8\xfe\xd6\x00\xec\x01\xa2\x00\x6e\x03\x32\x00\x33\x00\xd7\x01\xa3\x00\xa3\x01\x62\x00\x63\x00\xd0\x01\x90\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x25\x02\xbd\x00\x16\x02\xa4\x00\x87\x02\x6a\x00\xa8\xfe\xda\x02\xe1\x01\x84\x00\xdd\x00\x86\x00\x26\x02\xc0\x00\xb9\x00\x37\x03\xb8\x00\xb9\x00\x38\x03\x46\x02\x32\x00\x33\x00\x91\x02\x8d\x02\x19\x02\x48\x02\x49\x02\x4a\x02\x1b\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x1e\x02\xba\x00\xf0\x00\x4b\x00\xba\x00\x4b\x02\xa9\x00\x4f\x00\xaa\x00\x50\x00\x4c\x02\x4d\x02\x9c\x00\x53\x00\x4e\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xe0\x01\xe1\x01\x84\x00\x98\x01\x86\x00\x42\x02\x5f\x00\x20\x02\x70\x01\xbe\x00\x4f\x02\x06\x00\x71\x01\x07\x00\xe2\x01\x08\x00\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\x2f\x02\x39\x00\x84\x00\xd7\x00\x86\x00\x89\x01\x18\x00\x19\x00\xa8\x01\x3a\x00\x92\x00\x63\x00\xe9\x01\xc1\x00\xe5\xff\x06\x00\xbb\x00\x07\x00\x86\x01\x08\x00\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\x84\x01\x39\x00\xe2\x01\x84\x01\x35\x02\xc6\x01\x18\x00\x19\x00\x43\x02\x3a\x00\x68\x00\xc3\x01\x6a\x00\x46\x02\x32\x00\x33\x00\x44\x02\x47\x02\x60\x02\x48\x02\x49\x02\x4a\x02\x3f\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x92\x01\x1a\x02\x95\x00\x6a\x00\x83\x01\x4b\x02\x84\x01\x4f\x00\x40\x01\x50\x00\x4c\x02\x4d\x02\xd6\x00\x53\x00\x4e\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x0d\x01\x70\x03\x8c\x00\x6a\x00\x89\x01\x84\x01\x5f\x00\x86\x01\x84\x01\x99\x01\x4f\x02\xa8\x01\xc6\x01\x97\x01\x82\x01\xea\x02\x23\x02\xcf\x00\xeb\x02\x06\x02\x88\x01\xaa\x00\xc8\x01\x63\x00\xc9\x01\xd6\x00\x8a\x01\x0e\x01\x55\x00\x98\x01\x0f\x01\x07\x02\x10\x01\x84\x01\x11\x01\x5c\x00\x5d\x00\x5e\x00\x84\x01\x9a\x01\x84\x01\x84\x01\xc0\x00\xb9\x00\x5f\x00\x06\x00\x9b\x01\x07\x00\x12\x01\x08\x00\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\xba\x00\x39\x00\x84\x00\xd7\x00\x86\x00\x68\x01\x18\x00\x19\x00\xa7\x01\x3a\x00\x68\x00\xc3\x01\x6a\x00\x9c\x00\xa9\x01\xcf\x01\x62\x00\x63\x00\xd0\x01\x06\x00\xbc\x01\x07\x00\xc5\x01\x08\x00\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\x0d\x01\x14\x01\x84\x00\x98\x01\x86\x00\xc7\x01\x18\x00\x19\x00\x84\x00\xd7\x00\x68\x00\x15\x01\x6a\x00\xf6\x01\x9c\x00\x7d\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x30\x03\xd4\x01\x75\x02\x31\x03\xf7\x01\x76\x02\x0e\x01\x55\x00\xc1\x00\x0f\x01\xd5\x01\x10\x01\x9c\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x0d\x01\x20\x03\x21\x03\x9f\x00\x04\x03\x22\x03\x5f\x00\x2b\x03\x2c\x03\xdd\x02\x12\x01\xae\x00\xde\x02\x2e\x03\xa4\x00\xae\x00\x2b\x02\xce\x00\xcf\x00\x2c\x02\xd1\x00\x9c\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\xe7\x00\x0e\x01\x55\x00\xed\x00\x0f\x01\x69\x01\x10\x01\xfa\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x7e\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x5f\x00\x06\x00\x04\x01\x07\x00\x12\x01\x08\x00\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\x0a\x01\x14\x01\x84\x00\xd7\x00\x2b\x01\x6b\x01\x18\x00\x19\x00\x87\x00\x05\x00\x68\x00\x15\x01\x6a\x00\x2d\x02\x6a\x00\x05\x00\x7f\x02\x80\x02\x6a\x00\x06\x00\x7d\x03\x07\x00\x2a\x00\x08\x00\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\x0d\x01\x14\x01\x38\x02\x62\x00\x63\x00\xd0\x01\x18\x00\x19\x00\xae\x00\x7e\x03\x68\x00\x15\x01\x6a\x00\x2b\x02\xce\x00\xcf\x00\x2c\x02\xd1\x00\x2a\x00\xd1\x01\x62\x00\x63\x00\x64\x00\xb5\x02\xd2\x01\x67\x00\x7f\x03\x0e\x01\x55\x00\x75\x03\x0f\x01\x76\x03\x10\x01\x77\x03\x11\x01\x5c\x00\x5d\x00\x5e\x00\x38\x03\xa6\x00\xa7\x00\xbe\x01\x69\x03\x4f\x00\x5f\x00\x50\x00\xbf\x01\xc0\x01\x12\x01\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5a\x03\x20\x01\x21\x01\x22\x01\x23\x01\x2a\x00\x5f\x00\x65\x01\x13\x01\xaa\x00\xc2\x01\xf0\x00\x4b\x00\x2d\x02\x6a\x00\xf9\x02\x62\x00\x63\x00\xd0\x01\x66\x01\x3d\x03\x3e\x03\x06\x00\x86\x00\x07\x00\x6c\x03\x08\x00\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\x06\x00\x14\x01\x07\x00\x58\x03\x00\x01\x09\x00\x18\x00\x19\x00\xfe\x02\xff\x02\x68\x00\x15\x01\x6a\x00\x97\x00\x86\x00\x98\x00\x00\x03\x01\x03\xee\x01\xfa\x01\x19\x03\x98\x00\x99\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x5d\x03\x99\x00\x5d\x00\x5e\x00\x5f\x00\x5e\x03\x68\x00\xc3\x01\x6a\x00\xbe\x01\x5f\x00\x4f\x00\x60\x03\x50\x00\xbf\x01\xc0\x01\x63\x03\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x17\x02\xfa\x01\x8f\x02\xa2\x01\xf0\x00\x4b\x00\x5f\x00\x26\x02\xa6\x00\xa7\x00\xc2\x01\x49\x03\x8c\x00\x6a\x00\xe5\x01\x62\x00\x63\x00\xd0\x01\xbe\x01\x64\x03\x4f\x00\x65\x03\x50\x00\xbf\x01\xc0\x01\x3d\x00\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x06\x00\x40\x03\x07\x00\x3f\x03\x02\x01\x09\x00\x5f\x00\x9c\x00\x43\x03\x9f\x01\xc2\x01\xa0\x01\x49\x03\x9c\x00\x86\x00\xac\x00\xf0\x00\x4b\x00\xa1\x01\x5d\x00\x5e\x00\x21\x02\xad\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x5f\x00\x1e\x01\x1f\x01\xa2\x01\x5f\x00\x9c\x00\x4f\x03\xae\x00\x86\x00\x68\x00\xc3\x01\x6a\x00\xbe\x01\x51\x03\x4f\x00\x53\x03\x50\x00\xbf\x01\xc0\x01\x86\x01\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x30\x02\x92\x01\xcf\x00\x93\x01\xd1\x00\x9d\x02\x5f\x00\x92\x00\x63\x00\x93\x00\xc2\x01\x94\x00\x67\x00\x24\x01\x25\x01\x68\x00\xc3\x01\x6a\x00\xbe\x01\xe3\x02\x4f\x00\x86\x00\x50\x00\xbf\x01\xc0\x01\xf0\x02\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x9c\x00\xae\x00\xfb\x02\xfc\x02\x6a\x00\xf1\x02\x5f\x00\x4a\x03\x8c\x00\x6a\x00\xc2\x01\xa0\x01\xd1\x01\x62\x00\x63\x00\xd0\x01\x4c\x03\xf4\x02\xa1\x01\x5d\x00\x5e\x00\x36\x02\xf5\x02\x95\x01\x6a\x00\xf0\x00\x4b\x00\x5f\x00\x26\x01\x27\x01\xa2\x01\xf9\x02\x62\x00\x63\x00\xd0\x01\xf6\x02\x68\x00\xc3\x01\x6a\x00\xbe\x01\xf7\x02\x4f\x00\x0a\x03\x50\x00\xbf\x01\xc0\x01\xee\x01\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xbd\x01\x06\x02\x18\x03\xaa\x00\xe4\x00\xe5\x00\x5f\x00\x0d\x03\xd3\x01\x6a\x00\xc2\x01\xe6\x00\xe7\x00\x07\x02\x0e\x03\x68\x00\xc3\x01\x6a\x00\xbe\x01\x0f\x03\x4f\x00\x10\x03\x50\x00\xbf\x01\xc0\x01\x17\x03\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x9c\x00\x6f\x03\x32\x00\x33\x00\xf0\x00\x4b\x00\x5f\x00\xa1\x00\x18\x01\x19\x01\xc2\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xa1\x00\x97\x00\x3d\x00\x98\x00\xa2\x00\x4b\x03\x8c\x00\x6a\x00\x2b\x03\xa3\x00\x99\x00\x5d\x00\x5e\x00\xa2\x00\x45\x03\x32\x00\x33\x00\x1f\x03\xa3\x00\x5f\x00\x68\x00\xc3\x01\x6a\x00\xa4\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x1e\x01\x1f\x01\x86\x00\xa4\x00\x23\x03\xc8\x01\x63\x00\xc9\x01\x26\x03\x84\x00\xd7\x00\x86\x00\x10\x03\x32\x00\x33\x00\x24\x01\x25\x01\x77\x02\xa6\x00\xa7\x00\x78\x02\x79\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xe8\x01\x27\x03\x68\x00\xc3\x01\x6a\x00\xf1\x02\x8c\x00\x6a\x00\x26\x01\x27\x01\x8f\x00\x62\x00\x63\x00\xd0\x01\x06\x00\x7c\x02\x07\x00\x7d\x02\x08\x00\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\x9c\x00\x39\x00\xf2\x02\x8c\x00\x6a\x00\x63\x02\x18\x00\x19\x00\x3e\xfe\x3a\x00\x06\x00\xbc\x01\x07\x00\x8c\x02\x08\x00\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\x92\x02\x39\x00\x68\x00\x91\x00\x6a\x00\x86\x01\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x2a\x00\x08\x00\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\x9c\x02\x39\x00\x95\x02\x32\x00\x33\x00\xa1\x00\x18\x00\x19\x00\x9d\x02\x3a\x00\xa5\x02\xa7\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xee\x01\xa2\x00\xca\x00\xb3\x02\xa2\x01\xb4\x02\xa3\x00\xbc\x02\xbd\x02\x9e\x02\xce\x00\xcf\x00\x96\x02\x32\x00\x33\x00\xe5\x01\x62\x00\x63\x00\xd0\x01\xbf\x02\xa4\x00\xc0\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x2a\x02\xce\x00\xcf\x00\x05\x03\xa6\x00\xa7\x00\xcf\x01\x62\x00\x63\x00\xd0\x01\x86\x00\xd1\x02\x97\x02\x32\x00\x33\x00\x66\x01\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x86\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xcb\x00\xd6\x02\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd7\x02\xd2\x00\x62\x00\x63\x00\x64\x00\xd3\x00\x66\x00\x67\x00\x06\x00\x9c\x00\x07\x00\xda\x02\x08\x00\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\x9c\x00\x39\x00\x26\x02\xa6\x00\xa7\x00\xdc\x02\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\xdf\x02\x08\x00\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\xdf\x01\x39\x00\x23\x03\xa6\x00\xa7\x00\xe0\x01\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\xe5\x01\x08\x00\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\xec\x01\x39\x00\x41\x02\x32\x00\x33\x00\xe4\x01\x18\x00\x19\x00\xee\x01\x3a\x00\xfb\x01\xfc\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x86\x00\x12\x02\xe0\x00\x26\x02\xa6\x00\xa7\x00\xa2\x02\xa6\x00\xa7\x00\x2a\x02\xce\x00\xcf\x00\x52\x02\x32\x00\x33\x00\xcf\x01\x62\x00\x63\x00\xd0\x01\xa3\x02\xa6\x00\xa7\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x7d\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x26\x02\xa6\x00\xa7\x00\xb8\x02\x8c\x00\x6a\x00\x76\x01\x32\x00\x33\x00\xbd\x02\x8c\x00\x6a\x00\xc2\x02\x8c\x00\x6a\x00\xee\x01\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\xe1\x00\x19\x02\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x3d\x00\xd2\x00\x62\x00\x63\x00\x64\x00\xe2\x00\x66\x00\x67\x00\x06\x00\x9c\x00\x07\x00\x20\x02\x08\x00\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\xee\x01\x39\x00\xc3\x02\x8c\x00\x6a\x00\x28\x02\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x29\x02\x08\x00\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\x78\x01\x39\x00\xc4\x02\x8c\x00\x6a\x00\xee\x01\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x34\x02\x08\x00\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\x86\x00\x39\x00\xf1\x00\x32\x00\x33\x00\xee\x01\x18\x00\x19\x00\x3a\x02\x3a\x00\x3b\x02\x3c\x02\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x40\x02\x92\x01\xcf\x00\x93\x01\xd1\x00\x9d\x02\x3d\x02\x92\x00\x63\x00\xe9\x01\x3e\x02\x2a\x00\x31\x00\x32\x00\x33\x00\xcf\x01\x62\x00\x63\x00\xd0\x01\xc8\x02\x8c\x00\x6a\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x7d\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\xc9\x02\x8c\x00\x6a\x00\xbc\x01\x54\x02\x06\x00\x46\x02\x07\x00\x57\x02\x08\x00\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\x55\x02\xea\x00\x56\x02\x79\x01\x95\x01\x6a\x00\x18\x00\x19\x00\xcd\x02\x8c\x00\x6a\x00\x58\x02\x59\x02\x06\x00\x9c\x00\x07\x00\x86\x00\x08\x00\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\x64\x02\x39\x00\xd8\x02\xa6\x00\xa7\x00\x66\x02\x18\x00\x19\x00\x06\x00\x3a\x00\x07\x00\x1b\x01\x08\x00\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\x1a\x01\x39\x00\x85\x02\x4a\x02\x1c\x01\x1d\x01\x18\x00\x19\x00\x69\x02\x3a\x00\x06\x02\x6b\x01\xaa\x00\x5d\x01\x5e\x01\x4b\x02\x68\x01\x4f\x00\x86\x00\x50\x00\x4c\x02\x4d\x02\x07\x02\x53\x00\x4e\x02\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\xa5\x00\xa6\x00\xa7\x00\x74\x01\xd8\x00\xb9\x00\x5f\x00\xd9\x00\x78\x01\x7c\x01\x4f\x02\xe6\x01\xa6\x00\xa7\x00\xda\x00\x5d\x00\x5e\x00\x73\x01\xe7\x01\xa6\x00\xa7\x00\x7e\x01\x86\x00\x5f\x00\x3d\x00\x88\x01\xba\x00\x3d\x00\x3d\xfe\x06\x00\x6c\x00\x07\x00\x86\x01\xf4\x00\x09\x00\x0a\x00\x49\x01\xf7\x01\x62\x00\x63\x00\xd0\x01\x3d\xfe\x6d\x00\xe5\xff\x86\x01\x06\x00\x3d\xfe\x07\x00\x3d\x00\xf4\x00\x09\x00\x03\x01\xa5\x02\x9e\x01\x18\x00\x19\x00\x8e\x01\xce\x00\xcf\x00\x3d\x00\x3d\xfe\xaa\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x84\x00\xd7\x00\x86\x00\xc5\x01\x18\x00\x19\x00\x3f\x01\xcd\x01\x68\x00\xc3\x01\x6a\x00\x6e\x00\x6f\x00\x3d\x00\x70\x00\xcf\x01\x71\x00\x2a\x00\x86\x00\x72\x00\xda\x01\xff\xff\x73\x00\x8a\x00\x74\x00\x75\x00\x76\x00\xdd\x00\xa5\x00\xa6\x00\xa7\x00\x77\x00\x78\x00\x8b\x00\x79\x00\x88\x02\x86\x00\x7a\x00\x7b\x00\x8e\x00\x7c\x00\x7d\x00\x86\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\xe9\x00\x68\x00\x90\x01\x6a\x00\x3d\x00\xff\xff\x84\x00\x85\x00\x86\x00\x87\x00\x1b\x00\x0e\x02\x8c\x00\x6a\x00\x3f\xfe\xfb\xff\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\xea\x00\xed\x00\x23\x00\x26\x02\xa6\x00\xa7\x00\x06\x00\xf3\x00\x07\x00\xf1\x00\xf4\x00\x09\x00\x61\x02\x24\x00\xf4\x00\xcb\x00\xf8\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xfc\x00\xd2\x00\x62\x00\x63\x00\xd0\x01\xfd\x00\x3c\x00\x3d\x00\x18\x00\x19\x00\x25\x00\x3e\x00\x6f\x00\x3f\x00\x70\x00\x40\x00\x71\x00\x3d\xfe\x41\x00\x72\x00\x42\x00\x43\x00\x73\x00\xff\xff\x74\x00\x75\x00\x76\x00\x44\x00\x45\x00\x46\x00\x3d\xfe\x77\x00\x78\x00\xfe\x00\x79\x00\x3d\xfe\x47\x00\x7a\x00\x7b\x00\x26\x00\x7c\x00\x7d\x00\x48\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x49\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x51\x02\x86\x00\x52\x02\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x34\x02\x8c\x00\x6a\x00\xff\x00\x00\x01\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x06\x01\x6f\x00\x23\x00\xff\xff\x17\x01\x06\x00\xa1\x00\x07\x00\x1a\x01\xf4\x00\x09\x00\x0a\x00\x4a\x01\x24\x00\x75\x00\x6f\x01\x8c\x00\x6a\x00\x1b\x01\xa2\x00\x80\x01\x8c\x00\x6a\x00\x79\x00\xa3\x00\x81\x01\x8c\x00\x6a\x00\x1c\x01\x7c\x00\x18\x00\x19\x00\x7e\x00\x25\x00\x80\x00\xd7\xff\x1d\x01\xd7\xff\xa4\x00\xd7\xff\xd7\xff\x00\x00\xd7\xff\x00\x00\x00\x00\xd7\xff\x86\x00\xd7\xff\xd7\xff\xd7\xff\x8b\x01\xa6\x00\xa7\x00\xd7\xff\xd7\xff\xd7\xff\x00\x00\xd7\xff\xd7\xff\x00\x00\xd7\xff\xd7\xff\x26\x00\xd7\xff\xd7\xff\x00\x00\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\xd7\xff\xd7\xff\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\xa5\x00\xa6\x00\xa7\x00\x00\x00\xae\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\xd1\x01\x62\x00\x63\x00\x64\x00\x00\x00\xd2\x01\x67\x00\x3e\x02\x00\x00\x4f\x00\x24\x00\x50\x00\xbf\x01\xc0\x01\x00\x00\x53\x00\xc1\x01\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x8b\x00\x8c\x00\x6a\x00\x25\x00\x00\x00\x6f\x00\x5f\x00\x70\x00\x00\x00\x71\x00\xc2\x01\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\xa5\x00\xa6\x00\xa7\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\xd3\x01\x6a\x00\x7a\x00\x7b\x00\x26\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x85\x00\x86\x00\x52\x02\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\xb4\x00\x8c\x00\x6a\x00\x00\x00\x59\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x68\x00\xc3\x01\x6a\x00\x8d\x01\x47\x03\xaa\x00\x8d\x01\x09\x03\xaa\x00\x24\x00\x5a\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x8d\x01\xa2\x02\xaa\x00\x8d\x01\xa8\x02\xaa\x00\x00\x00\x00\x00\x92\x01\xcf\x00\x3d\x00\x00\x00\x00\x00\x25\x00\x92\x00\x63\x00\xe9\x01\x70\x00\x01\x02\x71\x00\xaa\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x02\x02\x8d\x01\xce\x01\xaa\x00\x77\x00\x78\x00\x68\x00\x5b\x02\x6a\x00\x00\x00\x7a\x00\x7b\x00\x26\x00\x8a\x02\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x85\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x95\x01\x6a\x00\x00\x00\x3c\xfe\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x38\x01\x3c\xfe\x39\x01\x00\x00\x3a\x01\x3b\x01\x3c\xfe\x00\x00\x3c\x01\x3d\x01\x24\x00\x00\x00\xe1\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x3c\xfe\xd2\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x84\x00\x00\x00\x86\x00\x00\x00\x25\x00\x8d\x01\xeb\x01\xaa\x00\x70\x00\x65\x01\x71\x00\xaa\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x66\x01\x28\x01\x29\x01\x2a\x01\x77\x00\x78\x00\xa9\x00\xce\x01\xaa\x00\x00\x00\x7a\x00\x7b\x00\x26\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x85\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x28\x01\x29\x01\x2a\x01\x3c\xfe\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x3c\xfe\xae\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x2b\x02\xce\x00\xcf\x00\x24\x00\x00\x00\x00\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x06\x00\x3c\xfe\x07\x00\x00\x00\xf4\x00\x09\x00\x46\x01\x3c\x00\x3d\x00\x86\x00\x00\x00\x25\x00\x3e\x00\x00\x00\x3f\x00\x00\x00\x40\x00\x00\x00\x00\x00\x41\x00\x00\x00\x42\x00\x43\x00\x8e\x00\x00\x00\x18\x00\x19\x00\x00\x00\x44\x00\x45\x00\x46\x00\x00\x00\x00\x00\x8f\x00\x62\x00\x63\x00\x64\x00\x47\x00\x90\x00\x67\x00\x26\x00\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x01\x02\x00\x00\xaa\x00\x06\x03\x6a\x00\x49\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x02\x02\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xbb\x02\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x91\x00\x6a\x00\x00\x00\x24\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x25\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\xa1\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa2\x00\x65\x01\x00\x00\xaa\x00\x00\x00\xa3\x00\x84\x00\x9f\x00\x86\x00\x26\x00\x3c\xfe\x00\x00\x06\x00\x66\x01\x07\x00\x00\x00\xf4\x00\x09\x00\x47\x01\xa4\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x16\x02\x00\x00\x00\x00\x23\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x24\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x25\x00\xb3\x00\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\xa1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb4\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\xa2\x00\xaa\x00\x00\x00\x25\x02\x00\x00\xa3\x00\xa1\x02\x00\x00\x00\x00\x26\x00\x3d\xfe\x02\x02\x92\x00\x63\x00\x93\x00\x26\x02\x94\x00\x67\x00\xf7\x01\xa4\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\xaf\x01\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\xa1\x00\x06\x00\x00\x00\x07\x00\xa1\x00\x06\x01\x09\x00\xa1\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x95\x00\x6a\x00\x00\x00\xa2\x00\xa3\x00\x00\x00\xa2\x00\x00\x00\xa3\x00\x00\x00\x00\x00\xa3\x00\x18\x00\x19\x00\x25\x00\x06\x00\x00\x00\x07\x00\xa4\x00\x08\x01\x09\x00\x3d\xfe\xa4\x00\x00\x00\x84\x00\xa4\x00\x86\x00\x00\x00\x84\x00\xd7\x00\x86\x00\x84\x00\xd7\x00\x86\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x18\x00\x19\x00\x00\x00\x26\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2f\x02\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x75\x02\x00\x00\xd6\x00\x76\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x4b\x01\x1b\x00\x24\x00\x75\x02\x00\x00\x00\x00\x76\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x18\x00\x19\x00\x77\x02\x66\x03\xa1\x00\x25\x00\x00\x00\x06\x00\x00\x00\x07\x00\x24\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x4d\x01\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x34\x03\x00\x00\x25\x00\x00\x00\x18\x00\x19\x00\x26\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xd7\x00\x86\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x51\x01\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x11\x02\x00\x00\x00\x00\x23\x00\x00\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x22\x02\x00\x00\x92\x00\x63\x00\x93\x00\x24\x00\x94\x00\x67\x00\x06\x00\x1b\x00\x07\x00\x75\x02\x0b\x01\x09\x00\x76\x02\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x18\x00\x19\x00\x24\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x48\x01\x00\x00\x3c\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3c\xfe\x00\x00\x77\x02\x00\x00\x26\x00\x25\x00\x95\x01\x6a\x00\x00\x00\x65\x01\x00\x00\xaa\x00\x18\x00\x19\x00\x3c\xfe\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x66\x01\x86\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x52\x01\x27\x00\x28\x00\x29\x00\x2a\x00\x4a\x00\x4b\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x18\x00\x19\x00\xa1\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x06\x00\x00\x00\x07\x00\x24\x00\xf4\x00\x09\x00\x03\x01\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x86\x00\x00\x00\x23\x00\x25\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x06\x00\x24\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x4e\x01\x00\x00\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x77\x02\x00\x00\x26\x00\x25\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\xa2\x01\x00\x00\x00\x00\x00\x00\x26\x00\x9e\x02\xce\x00\xcf\x00\x9f\x02\xd1\x00\x00\x00\xe5\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\xcb\x01\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\xe6\x02\x00\x00\x00\x00\xcc\x01\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x4c\x01\x1b\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x9c\x00\x00\x00\x23\x00\x18\x00\x19\x00\x00\x00\x00\x00\xa1\x00\x25\x00\x00\x00\x06\x00\x00\x00\x07\x00\x24\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x4f\x01\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\x00\x00\x00\x00\x25\x00\x00\x00\x18\x00\x19\x00\x26\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\x86\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x50\x01\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x22\x02\x00\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x24\x00\x1b\x00\x45\x01\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x63\x02\x00\x00\x06\x00\x25\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x2a\x01\x00\x00\x24\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x18\x00\x19\x00\x00\x00\x25\x00\x00\x00\x26\x00\x95\x01\x6a\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x59\x01\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x25\x00\x00\x00\x26\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x0c\x01\x09\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x26\x00\x18\x00\x19\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x29\x02\x00\x00\x92\x00\x63\x00\xe9\x01\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\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\x02\x01\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x95\x01\x6a\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x25\x00\xd1\x02\x00\x00\x00\x00\x26\x00\x8e\x01\xce\x00\xcf\x00\x8f\x01\xd1\x00\x24\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x90\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x08\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x07\x03\x00\x00\x92\x00\x63\x00\xe9\x01\x0a\x01\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x25\x00\x00\x00\x00\x00\x00\x00\x26\x00\x95\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x24\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x26\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x01\x00\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x66\x01\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x6d\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x1b\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x00\x00\x00\x00\x23\x00\x00\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x24\x00\x6e\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x3d\xfe\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x86\x00\x00\x00\x25\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x06\x02\x00\x00\xaa\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x87\x00\x26\x00\x00\x00\x07\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x2d\x01\x2e\x01\x2f\x01\x30\x01\x31\x01\x32\x01\x33\x01\x34\x01\x35\x01\x36\x01\x37\x01\x00\x00\x01\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x02\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x01\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x02\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x85\x00\x86\x00\x01\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x02\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xa7\x01\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xa7\x01\x86\x00\xcb\x01\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\xcc\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\x65\x01\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x66\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xa7\x01\x86\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xb3\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xb4\x00\x86\x00\x06\x02\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x07\x02\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xdf\x00\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\xe0\x00\x86\x00\x65\x01\x6f\x00\xaa\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x66\x01\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\xcb\x01\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x00\x00\x6f\x00\x00\x00\x70\x00\xcc\x01\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x6c\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x9f\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x6d\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x6d\x00\x72\x00\x00\x00\xcb\x01\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\xcc\x01\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x01\x02\xfb\x02\xaa\x00\x00\x00\x00\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x00\x00\xa1\x00\x00\x00\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\xa2\x00\x71\x00\x00\x00\x00\x00\x72\x00\xa3\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\xa4\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x84\x00\x7d\x00\x86\x00\x00\x00\x9e\x00\x3d\xfe\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x9f\x00\x86\x00\x3d\xfe\x00\x00\x00\x00\xb0\x01\xb1\x01\x3d\xfe\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x84\x00\x00\x00\x86\x00\xb5\x01\x00\x00\x00\x00\x00\x00\x00\x00\x92\x01\xcf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\x5c\x02\xa6\x00\xa7\x00\x5d\x02\x5e\x02\x00\x00\x00\x00\x00\x00\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x29\x02\x5f\x00\x92\x00\x63\x00\x93\x00\xb5\x01\x94\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xc7\x02\x6a\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\x5c\x02\xa6\x00\xa7\x00\x5d\x02\x5e\x02\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x95\x01\x6a\x00\xb5\x01\x92\x01\xcf\x00\x93\x01\xd1\x00\x94\x01\x00\x00\x92\x00\x63\x00\xe9\x01\x00\x00\x68\x00\xcc\x02\x6a\x00\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\x5c\x02\xa6\x00\xa7\x00\x5d\x02\x5e\x02\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x92\x01\xcf\x00\x93\x01\xd1\x00\x94\x01\x5f\x00\x92\x00\x63\x00\x93\x00\xb5\x01\x94\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x95\x01\x6a\x00\x00\x00\x68\x00\x5f\x02\x6a\x00\x00\x00\x00\x00\x00\x00\xb6\x01\xb7\x01\xb8\x01\xb9\x01\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\xb5\x01\x95\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\xba\x01\x6a\x00\xb6\x01\xb7\x01\xb8\x01\x00\x00\x00\x00\x00\x00\xb0\x01\xb1\x01\x00\x00\x53\x00\xb2\x01\x55\x00\x56\x00\x57\x00\xb3\x01\xb4\x01\x5a\x00\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x00\x00\xd8\x00\xb9\x00\x00\x00\xd9\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\xb5\x01\xda\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\xab\x00\xba\x00\xac\x00\x00\x00\x68\x00\xba\x01\x6a\x00\xce\x02\x00\x00\xad\x00\x5d\x00\x5e\x00\x07\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x08\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\xfc\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfd\x01\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x68\x00\xba\x01\x6a\x00\x00\x00\x97\x00\x00\x00\x98\x00\x00\x00\xab\x00\x00\x00\xac\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\xdd\x00\xad\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\xae\x00\x00\x00\x23\x02\xcf\x00\x00\x00\x00\x00\xfe\x01\xff\x01\xc8\x01\x63\x00\xc9\x01\xf2\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x02\xa6\x00\xa7\x00\x78\x02\x79\x02\x97\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x9f\x01\x00\x00\xa0\x01\x00\x00\x00\x00\x00\x00\x97\x00\x00\x00\x98\x00\xa1\x01\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\x5f\x00\x9c\x00\x00\x00\xa2\x01\xf3\x01\x6a\x00\x5f\x00\x00\x00\x77\x02\xa6\x00\xa7\x00\x78\x02\x79\x02\x00\x00\xd4\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\xf1\x01\x62\x00\x63\x00\xd0\x01\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0e\x01\x55\x00\x5f\x00\x0f\x01\x00\x00\x10\x01\x12\x01\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb6\x02\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x06\x00\x81\x02\x07\x00\x00\x00\x08\x00\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\x00\x00\xb7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x55\x01\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\xef\x01\x11\x01\x5c\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x06\x00\x12\x01\x07\x00\x00\x00\x08\x00\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\x00\x00\xf0\x01\x00\x00\x1c\x02\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x1d\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x54\x01\x00\x00\x0e\x01\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x31\x02\x11\x01\x5c\x00\x5d\x00\x5e\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x06\x00\x12\x01\x07\x00\x00\x00\x08\x00\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\x00\x00\x32\x02\x00\x00\xd7\x01\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\xd8\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\xa9\x02\x55\x00\x00\x00\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\xf7\x02\xab\x02\xac\x02\xa9\x02\x55\x00\x5f\x00\x0f\x01\x00\x00\x10\x01\xad\x02\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\xaa\x02\xab\x02\xac\x02\x0e\x01\x55\x00\x5f\x00\x0f\x01\x00\x00\x10\x01\xad\x02\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x0e\x01\x55\x00\x12\x01\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\x00\x00\x84\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\x68\x00\xae\x02\x6a\x00\x00\x00\x0e\x01\x55\x00\x6d\x01\x0f\x01\x00\x00\x10\x01\x00\x00\x11\x01\x5c\x00\x5d\x00\x5e\x00\x68\x00\xae\x02\x6a\x00\x00\x00\xac\x00\x00\x00\x5f\x00\x00\x00\x00\x00\x00\x00\x12\x01\xad\x00\x5d\x00\x5e\x00\xae\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x5f\x00\x00\x00\x00\x00\xae\x00\x00\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x6e\x01\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x7e\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x00\x00\x5e\x01\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x98\x00\x00\x00\x00\x00\xae\x00\x00\x00\x00\x00\x00\x00\x99\x00\x5d\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x02\x5f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x68\x00\x15\x01\x6a\x00\x00\x00\x00\x00\x7f\x02\xec\x02\x6a\x00\xf9\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x62\x01\x63\x01\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\xab\x01\xa2\x01\x00\x00\x00\x00\x00\x00\x12\x02\x00\x00\x18\x00\x19\x00\x00\x00\x8d\x01\x13\x02\x14\x02\x6a\x00\x8e\x01\xce\x00\xcf\x00\x8f\x01\xd1\x00\x00\x00\x8f\x00\x62\x00\x63\x00\x64\x00\x00\x00\x90\x00\x67\x00\x00\x00\x00\x00\x9c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\xab\x01\xaa\x01\x00\x00\x00\x00\xae\x00\xb9\x02\x00\x00\x18\x00\x19\x00\x2b\x02\xce\x00\xcf\x00\x00\x00\x9c\x00\x00\x00\xd1\x01\x62\x00\x63\x00\xd0\x01\x68\x00\x90\x01\x6a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7e\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\xac\x01\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x68\x00\xad\x01\x6a\x00\xc5\x02\x7f\x02\xed\x02\x6a\x00\x8e\x01\xce\x00\xcf\x00\xca\x02\x9f\x00\x00\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x8f\x00\x62\x00\x63\x00\xd0\x01\x00\x00\x5a\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x5a\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\xc0\x02\x00\x00\x68\x00\xc6\x02\x6a\x00\x00\x00\x00\x00\x18\x00\x19\x00\x68\x00\xcb\x02\x6a\x00\xb0\x02\x00\x00\x05\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\xb0\x02\x00\x00\xb1\x02\x00\x00\x00\x00\x85\x00\x86\x00\xb2\x02\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\xc0\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x00\x00\x00\x85\x00\x86\x00\xb2\x02\xc3\x00\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x6f\x00\x00\x00\xa2\x00\x00\x00\x00\x00\xa1\x00\x79\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x75\x00\x00\x00\x7e\x00\x00\x00\x80\x00\xa2\x00\x00\x00\x00\x00\xa4\x00\x79\x00\xa3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x86\x00\x00\x00\x7e\x00\x00\x00\x80\x00\x3d\x00\x00\x00\x00\x00\xa4\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\x02\x85\x00\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbc\x01\x85\x00\x86\x00\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\xfe\x3b\xfe\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\xa6\x01\x80\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x01\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x3d\xfe\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x3d\xfe\x77\x00\x78\x00\x00\x00\x79\x00\x3d\xfe\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x3d\xfe\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x85\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x9e\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\x9f\x00\x86\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x79\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\x6f\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x00\x00\x75\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x79\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x7c\x00\x00\x00\x00\x00\x7e\x00\x00\x00\x80\x00\x00\x00\x82\x00\x83\x00\xa4\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x00\x00\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x85\x00\x86\x00\xb2\x02\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x00\x00\x00\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\xa7\x01\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\xb3\x00\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x3b\xfe\xb4\x00\x86\x00\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x00\x00\x00\x00\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x00\x00\x3b\xfe\x00\x00\x3b\xfe\x3b\xfe\x3b\xfe\x3b\xfe\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x3b\xfe\x3b\xfe\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\xa6\x01\x00\x00\x81\x00\x82\x00\x83\x00\xa4\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\xa7\x01\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x85\x00\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x9e\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x70\x00\x00\x00\x71\x00\x00\x00\x00\x00\x72\x00\x9f\x00\x86\x00\x73\x00\x00\x00\x74\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x00\x78\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x7f\x00\x00\x00\x81\x00\x82\x00\x83\x00\x00\x00\x70\x00\x00\x00\x71\x00\xa1\x00\x00\x00\x72\x00\x85\x00\x86\x00\x73\x00\x00\x00\x00\x00\x00\x00\x76\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x77\x00\x78\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x7a\x00\x7b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x83\x00\xa4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x02\x86\x00\x27\x03\x6e\x02\x6f\x02\x70\x02\x71\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x6c\x02\x73\x02\x6d\x02\x6e\x02\x6f\x02\x70\x02\x71\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x31\x03\x73\x02\x00\x00\x32\x03\x6f\x02\x70\x02\x71\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x73\x02\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe3\x02\x18\x00\x19\x00\x00\x00\x67\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe4\x02\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x72\x02\x00\x00\x2e\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x72\x02\x00\x00\xd7\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x72\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\xab\x01\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x02\x00\x00\x18\x00\x19\x00\x00\x00\x06\x00\x00\x00\x07\x00\x9c\x00\x08\x00\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\x00\x00\xea\x00\x00\x00\x43\x03\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\xea\x00\x00\x00\x44\x03\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\xea\x00\x00\x00\x93\x02\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\xea\x00\x00\x00\x94\x02\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\xea\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x77\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x78\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x61\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x3a\x03\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x92\x02\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x41\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x42\x01\x08\x00\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\x43\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x57\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x5a\x01\x00\x00\x00\x00\x5b\x01\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x7a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x7c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x7e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x7f\x01\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x56\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x58\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x66\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x47\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x51\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x02\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\xee\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x29\x03\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x69\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x6b\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x02\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x45\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\x08\x00\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\x6c\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\xf5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf6\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x6a\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x64\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x59\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x56\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x06\x00\x00\x00\x07\x00\x00\x00\xf4\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x53\x01\x02\x02\xce\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x03\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x04\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x09\x02\xce\x00\xcf\x00\x00\x00\x00\x00\x00\x00\x0a\x02\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x59\x03\x0b\x02\x5f\x01\xa6\x00\xa7\x00\x60\x01\x61\x01\x02\x03\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x01\x03\xf4\x01\x62\x00\x63\x00\xd0\x01\x00\x00\x00\x00\x02\x03\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\xcb\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\xe1\x00\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\x01\x37\x02\x00\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\x00\x00\xf4\x01\x62\x00\x63\x00\xd0\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"#
-
-happyReduceArr = array (4, 463) [
-    (4 , happyReduce_4),
-    (5 , happyReduce_5),
-    (6 , happyReduce_6),
-    (7 , happyReduce_7),
-    (8 , happyReduce_8),
-    (9 , happyReduce_9),
-    (10 , happyReduce_10),
-    (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)
-    ]
-
-happy_n_terms = 102 :: Int
-happy_n_nonterms = 125 :: Int
-
-happyReduce_4 = happyMonadReduce 1# 0# happyReduction_4
-happyReduction_4 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut8 happy_x_1 of { happy_var_1 ->
-    ( let decls = reverse happy_var_1 in
-                       case decls of
-                           []     -> do{ n <- getNewName; p <- getCurrentPosition; return $ CTranslUnit decls (mkNodeInfo' p (p,0) n) }
-                           (d:ds) -> withNodeInfo d $ CTranslUnit decls)}
-    ) (\r -> happyReturn (happyIn7 r))
-
-happyReduce_5 = happySpecReduce_0  1# happyReduction_5
-happyReduction_5  =  happyIn8
-         (empty
-    )
-
-happyReduce_6 = happySpecReduce_2  1# happyReduction_6
-happyReduction_6 happy_x_2
-    happy_x_1
-     =  case happyOut8 happy_x_1 of { happy_var_1 ->
-    happyIn8
-         (happy_var_1
-    )}
-
-happyReduce_7 = happySpecReduce_2  1# happyReduction_7
-happyReduction_7 happy_x_2
-    happy_x_1
-     =  case happyOut8 happy_x_1 of { happy_var_1 ->
-    case happyOut9 happy_x_2 of { happy_var_2 ->
-    happyIn8
-         (happy_var_1 `snoc` happy_var_2
-    )}}
-
-happyReduce_8 = happySpecReduce_1  2# happyReduction_8
-happyReduction_8 happy_x_1
-     =  case happyOut10 happy_x_1 of { happy_var_1 ->
-    happyIn9
-         (CFDefExt happy_var_1
-    )}
-
-happyReduce_9 = happySpecReduce_1  2# happyReduction_9
-happyReduction_9 happy_x_1
-     =  case happyOut32 happy_x_1 of { happy_var_1 ->
-    happyIn9
-         (CDeclExt happy_var_1
-    )}
-
-happyReduce_10 = happySpecReduce_2  2# happyReduction_10
-happyReduction_10 happy_x_2
-    happy_x_1
-     =  case happyOut9 happy_x_2 of { happy_var_2 ->
-    happyIn9
-         (happy_var_2
-    )}
-
-happyReduce_11 = happyMonadReduce 5# 2# happyReduction_11
-happyReduction_11 (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 happyOut123 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CAsmExt happy_var_3)}}
-    ) (\r -> happyReturn (happyIn9 r))
-
-happyReduce_12 = happyMonadReduce 2# 3# happyReduction_12
-happyReduction_12 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut11 happy_x_1 of { happy_var_1 ->
-    case happyOut14 happy_x_2 of { happy_var_2 ->
-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef [] happy_var_1 [] happy_var_2))}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_13 = happyMonadReduce 3# 3# happyReduction_13
-happyReduction_13 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->
-    case happyOut11 happy_x_2 of { happy_var_2 ->
-    case happyOut14 happy_x_3 of { happy_var_3 ->
-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftCAttrs happy_var_1) happy_var_2 [] happy_var_3))}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_14 = happyMonadReduce 3# 3# happyReduction_14
-happyReduction_14 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->
-    case happyOut11 happy_x_2 of { happy_var_2 ->
-    case happyOut14 happy_x_3 of { happy_var_3 ->
-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_15 = happyMonadReduce 3# 3# happyReduction_15
-happyReduction_15 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->
-    case happyOut11 happy_x_2 of { happy_var_2 ->
-    case happyOut14 happy_x_3 of { happy_var_3 ->
-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_16 = happyMonadReduce 3# 3# happyReduction_16
-happyReduction_16 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOut11 happy_x_2 of { happy_var_2 ->
-    case happyOut14 happy_x_3 of { happy_var_3 ->
-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (reverse happy_var_1) happy_var_2 [] happy_var_3))}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_17 = happyMonadReduce 3# 3# happyReduction_17
-happyReduction_17 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut11 happy_x_2 of { happy_var_2 ->
-    case happyOut14 happy_x_3 of { happy_var_3 ->
-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1) happy_var_2 [] happy_var_3))}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_18 = happyMonadReduce 4# 3# happyReduction_18
-happyReduction_18 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut11 happy_x_3 of { happy_var_3 ->
-    case happyOut14 happy_x_4 of { happy_var_4 ->
-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) happy_var_3 [] happy_var_4))}}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_19 = happyMonadReduce 3# 3# happyReduction_19
-happyReduction_19 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut76 happy_x_1 of { happy_var_1 ->
-    case happyOut33 happy_x_2 of { happy_var_2 ->
-    case happyOut14 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CFunDef [] happy_var_1 (reverse happy_var_2) happy_var_3)}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_20 = happyMonadReduce 4# 3# happyReduction_20
-happyReduction_20 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->
-    case happyOut76 happy_x_2 of { happy_var_2 ->
-    case happyOut33 happy_x_3 of { happy_var_3 ->
-    case happyOut14 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_2 $ CFunDef (liftCAttrs happy_var_1) happy_var_2 (reverse happy_var_3) happy_var_4)}}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_21 = happyMonadReduce 4# 3# happyReduction_21
-happyReduction_21 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->
-    case happyOut76 happy_x_2 of { happy_var_2 ->
-    case happyOut33 happy_x_3 of { happy_var_3 ->
-    case happyOut14 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 (reverse happy_var_3) happy_var_4)}}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_22 = happyMonadReduce 4# 3# happyReduction_22
-happyReduction_22 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->
-    case happyOut76 happy_x_2 of { happy_var_2 ->
-    case happyOut33 happy_x_3 of { happy_var_3 ->
-    case happyOut14 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 (reverse happy_var_3) happy_var_4)}}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_23 = happyMonadReduce 4# 3# happyReduction_23
-happyReduction_23 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOut76 happy_x_2 of { happy_var_2 ->
-    case happyOut33 happy_x_3 of { happy_var_3 ->
-    case happyOut14 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CFunDef (reverse happy_var_1) happy_var_2 (reverse happy_var_3) happy_var_4)}}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_24 = happyMonadReduce 4# 3# happyReduction_24
-happyReduction_24 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut76 happy_x_2 of { happy_var_2 ->
-    case happyOut33 happy_x_3 of { happy_var_3 ->
-    case happyOut14 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1) happy_var_2 (reverse happy_var_3) happy_var_4)}}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_25 = happyMonadReduce 5# 3# happyReduction_25
-happyReduction_25 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut76 happy_x_3 of { happy_var_3 ->
-    case happyOut33 happy_x_4 of { happy_var_4 ->
-    case happyOut14 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1  ++ liftCAttrs happy_var_2) happy_var_3 (reverse happy_var_4) happy_var_5)}}}}}
-    ) (\r -> happyReturn (happyIn10 r))
-
-happyReduce_26 = happyMonadReduce 1# 4# happyReduction_26
-happyReduction_26 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut72 happy_x_1 of { happy_var_1 ->
-    ( let declr = reverseDeclr happy_var_1 in
-       enterScope >> doFuncParamDeclIdent declr >> return declr)}
-    ) (\r -> happyReturn (happyIn11 r))
-
-happyReduce_27 = happySpecReduce_1  5# happyReduction_27
-happyReduction_27 happy_x_1
-     =  case happyOut13 happy_x_1 of { happy_var_1 ->
-    happyIn12
-         (happy_var_1
-    )}
-
-happyReduce_28 = happySpecReduce_1  5# happyReduction_28
-happyReduction_28 happy_x_1
-     =  case happyOut14 happy_x_1 of { happy_var_1 ->
-    happyIn12
-         (happy_var_1
-    )}
-
-happyReduce_29 = happySpecReduce_1  5# happyReduction_29
-happyReduction_29 happy_x_1
-     =  case happyOut22 happy_x_1 of { happy_var_1 ->
-    happyIn12
-         (happy_var_1
-    )}
-
-happyReduce_30 = happySpecReduce_1  5# happyReduction_30
-happyReduction_30 happy_x_1
-     =  case happyOut23 happy_x_1 of { happy_var_1 ->
-    happyIn12
-         (happy_var_1
-    )}
-
-happyReduce_31 = happySpecReduce_1  5# happyReduction_31
-happyReduction_31 happy_x_1
-     =  case happyOut24 happy_x_1 of { happy_var_1 ->
-    happyIn12
-         (happy_var_1
-    )}
-
-happyReduce_32 = happySpecReduce_1  5# happyReduction_32
-happyReduction_32 happy_x_1
-     =  case happyOut25 happy_x_1 of { happy_var_1 ->
-    happyIn12
-         (happy_var_1
-    )}
-
-happyReduce_33 = happyMonadReduce 1# 5# happyReduction_33
-happyReduction_33 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut26 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 (CAsm happy_var_1))}
-    ) (\r -> happyReturn (happyIn12 r))
-
-happyReduce_34 = happyMonadReduce 4# 6# happyReduction_34
-happyReduction_34 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut125 happy_x_1 of { happy_var_1 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    case happyOut12 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CLabel happy_var_1 happy_var_4 happy_var_3)}}}
-    ) (\r -> happyReturn (happyIn13 r))
-
-happyReduce_35 = happyMonadReduce 4# 6# happyReduction_35
-happyReduction_35 (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 happyOut121 happy_x_2 of { happy_var_2 ->
-    case happyOut12 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CCase happy_var_2 happy_var_4)}}}
-    ) (\r -> happyReturn (happyIn13 r))
-
-happyReduce_36 = happyMonadReduce 3# 6# happyReduction_36
-happyReduction_36 (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 happyOut12 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CDefault happy_var_3)}}
-    ) (\r -> happyReturn (happyIn13 r))
-
-happyReduce_37 = happyMonadReduce 6# 6# happyReduction_37
-happyReduction_37 (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 happyOut121 happy_x_2 of { happy_var_2 ->
-    case happyOut121 happy_x_4 of { happy_var_4 ->
-    case happyOut12 happy_x_6 of { happy_var_6 ->
-    ( withNodeInfo happy_var_1 $ CCases happy_var_2 happy_var_4 happy_var_6)}}}}
-    ) (\r -> happyReturn (happyIn13 r))
-
-happyReduce_38 = happyMonadReduce 5# 7# happyReduction_38
-happyReduction_38 (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 happyOut17 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CCompound [] (reverse happy_var_3))}}
-    ) (\r -> happyReturn (happyIn14 r))
-
-happyReduce_39 = happyMonadReduce 6# 7# happyReduction_39
-happyReduction_39 (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 happyOut21 happy_x_3 of { happy_var_3 ->
-    case happyOut17 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CCompound (reverse happy_var_3) (reverse happy_var_4))}}}
-    ) (\r -> happyReturn (happyIn14 r))
-
-happyReduce_40 = happyMonadReduce 0# 8# happyReduction_40
-happyReduction_40 (happyRest) tk
-     = happyThen (( enterScope)
-    ) (\r -> happyReturn (happyIn15 r))
-
-happyReduce_41 = happyMonadReduce 0# 9# happyReduction_41
-happyReduction_41 (happyRest) tk
-     = happyThen (( leaveScope)
-    ) (\r -> happyReturn (happyIn16 r))
-
-happyReduce_42 = happySpecReduce_0  10# happyReduction_42
-happyReduction_42  =  happyIn17
-         (empty
-    )
-
-happyReduce_43 = happySpecReduce_2  10# happyReduction_43
-happyReduction_43 happy_x_2
-    happy_x_1
-     =  case happyOut17 happy_x_1 of { happy_var_1 ->
-    case happyOut18 happy_x_2 of { happy_var_2 ->
-    happyIn17
-         (happy_var_1 `snoc` happy_var_2
-    )}}
-
-happyReduce_44 = happySpecReduce_1  11# happyReduction_44
-happyReduction_44 happy_x_1
-     =  case happyOut12 happy_x_1 of { happy_var_1 ->
-    happyIn18
-         (CBlockStmt happy_var_1
-    )}
-
-happyReduce_45 = happySpecReduce_1  11# happyReduction_45
-happyReduction_45 happy_x_1
-     =  case happyOut19 happy_x_1 of { happy_var_1 ->
-    happyIn18
-         (happy_var_1
-    )}
-
-happyReduce_46 = happySpecReduce_1  12# happyReduction_46
-happyReduction_46 happy_x_1
-     =  case happyOut32 happy_x_1 of { happy_var_1 ->
-    happyIn19
-         (CBlockDecl happy_var_1
-    )}
-
-happyReduce_47 = happySpecReduce_1  12# happyReduction_47
-happyReduction_47 happy_x_1
-     =  case happyOut20 happy_x_1 of { happy_var_1 ->
-    happyIn19
-         (CNestedFunDef happy_var_1
-    )}
-
-happyReduce_48 = happySpecReduce_2  12# happyReduction_48
-happyReduction_48 happy_x_2
-    happy_x_1
-     =  case happyOut19 happy_x_2 of { happy_var_2 ->
-    happyIn19
-         (happy_var_2
-    )}
-
-happyReduce_49 = happyMonadReduce 3# 13# happyReduction_49
-happyReduction_49 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->
-    case happyOut11 happy_x_2 of { happy_var_2 ->
-    case happyOut14 happy_x_3 of { happy_var_3 ->
-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}
-    ) (\r -> happyReturn (happyIn20 r))
-
-happyReduce_50 = happyMonadReduce 3# 13# happyReduction_50
-happyReduction_50 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->
-    case happyOut11 happy_x_2 of { happy_var_2 ->
-    case happyOut14 happy_x_3 of { happy_var_3 ->
-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef happy_var_1 happy_var_2 [] happy_var_3))}}}
-    ) (\r -> happyReturn (happyIn20 r))
-
-happyReduce_51 = happyMonadReduce 3# 13# happyReduction_51
-happyReduction_51 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOut11 happy_x_2 of { happy_var_2 ->
-    case happyOut14 happy_x_3 of { happy_var_3 ->
-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (reverse happy_var_1) happy_var_2 [] happy_var_3))}}}
-    ) (\r -> happyReturn (happyIn20 r))
-
-happyReduce_52 = happyMonadReduce 3# 13# happyReduction_52
-happyReduction_52 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut11 happy_x_2 of { happy_var_2 ->
-    case happyOut14 happy_x_3 of { happy_var_3 ->
-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1) happy_var_2 [] happy_var_3))}}}
-    ) (\r -> happyReturn (happyIn20 r))
-
-happyReduce_53 = happyMonadReduce 4# 13# happyReduction_53
-happyReduction_53 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut11 happy_x_3 of { happy_var_3 ->
-    case happyOut14 happy_x_4 of { happy_var_4 ->
-    ( leaveScope >> (withNodeInfo happy_var_1 $ CFunDef (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) happy_var_3 [] happy_var_4))}}}}
-    ) (\r -> happyReturn (happyIn20 r))
-
-happyReduce_54 = happySpecReduce_3  14# happyReduction_54
-happyReduction_54 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut82 happy_x_2 of { happy_var_2 ->
-    happyIn21
-         (happy_var_2
-    )}
-
-happyReduce_55 = happyReduce 4# 14# happyReduction_55
-happyReduction_55 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut21 happy_x_1 of { happy_var_1 ->
-    case happyOut82 happy_x_3 of { happy_var_3 ->
-    happyIn21
-         (happy_var_1 `rappendr` happy_var_3
-    ) `HappyStk` happyRest}}
-
-happyReduce_56 = happyMonadReduce 1# 15# happyReduction_56
-happyReduction_56 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CExpr Nothing)}
-    ) (\r -> happyReturn (happyIn22 r))
-
-happyReduce_57 = happyMonadReduce 2# 15# happyReduction_57
-happyReduction_57 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut117 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CExpr (Just happy_var_1))}
-    ) (\r -> happyReturn (happyIn22 r))
-
-happyReduce_58 = happyMonadReduce 5# 16# happyReduction_58
-happyReduction_58 (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 happyOut117 happy_x_3 of { happy_var_3 ->
-    case happyOut12 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CIf happy_var_3 happy_var_5 Nothing)}}}
-    ) (\r -> happyReturn (happyIn23 r))
-
-happyReduce_59 = happyMonadReduce 7# 16# happyReduction_59
-happyReduction_59 (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 { happy_var_1 ->
-    case happyOut117 happy_x_3 of { happy_var_3 ->
-    case happyOut12 happy_x_5 of { happy_var_5 ->
-    case happyOut12 happy_x_7 of { happy_var_7 ->
-    ( withNodeInfo happy_var_1 $ CIf happy_var_3 happy_var_5 (Just happy_var_7))}}}}
-    ) (\r -> happyReturn (happyIn23 r))
-
-happyReduce_60 = happyMonadReduce 5# 16# happyReduction_60
-happyReduction_60 (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 happyOut117 happy_x_3 of { happy_var_3 ->
-    case happyOut12 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CSwitch happy_var_3 happy_var_5)}}}
-    ) (\r -> happyReturn (happyIn23 r))
-
-happyReduce_61 = happyMonadReduce 5# 17# happyReduction_61
-happyReduction_61 (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 happyOut117 happy_x_3 of { happy_var_3 ->
-    case happyOut12 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CWhile happy_var_3 happy_var_5 False)}}}
-    ) (\r -> happyReturn (happyIn24 r))
-
-happyReduce_62 = happyMonadReduce 7# 17# happyReduction_62
-happyReduction_62 (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 { happy_var_1 ->
-    case happyOut12 happy_x_2 of { happy_var_2 ->
-    case happyOut117 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CWhile happy_var_5 happy_var_2 True)}}}
-    ) (\r -> happyReturn (happyIn24 r))
-
-happyReduce_63 = happyMonadReduce 9# 17# happyReduction_63
-happyReduction_63 (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 { happy_var_1 ->
-    case happyOut119 happy_x_3 of { happy_var_3 ->
-    case happyOut119 happy_x_5 of { happy_var_5 ->
-    case happyOut119 happy_x_7 of { happy_var_7 ->
-    case happyOut12 happy_x_9 of { happy_var_9 ->
-    ( withNodeInfo happy_var_1 $ CFor (Left happy_var_3) happy_var_5 happy_var_7 happy_var_9)}}}}}
-    ) (\r -> happyReturn (happyIn24 r))
-
-happyReduce_64 = happyMonadReduce 10# 17# happyReduction_64
-happyReduction_64 (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 { happy_var_1 ->
-    case happyOut32 happy_x_4 of { happy_var_4 ->
-    case happyOut119 happy_x_5 of { happy_var_5 ->
-    case happyOut119 happy_x_7 of { happy_var_7 ->
-    case happyOut12 happy_x_9 of { happy_var_9 ->
-    ( withNodeInfo happy_var_1 $ CFor (Right happy_var_4) happy_var_5 happy_var_7 happy_var_9)}}}}}
-    ) (\r -> happyReturn (happyIn24 r))
-
-happyReduce_65 = happyMonadReduce 3# 18# happyReduction_65
-happyReduction_65 (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 happyOut125 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CGoto happy_var_2)}}
-    ) (\r -> happyReturn (happyIn25 r))
-
-happyReduce_66 = happyMonadReduce 4# 18# happyReduction_66
-happyReduction_66 (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 happyOut117 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CGotoPtr happy_var_3)}}
-    ) (\r -> happyReturn (happyIn25 r))
-
-happyReduce_67 = happyMonadReduce 2# 18# happyReduction_67
-happyReduction_67 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CCont)}
-    ) (\r -> happyReturn (happyIn25 r))
-
-happyReduce_68 = happyMonadReduce 2# 18# happyReduction_68
-happyReduction_68 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CBreak)}
-    ) (\r -> happyReturn (happyIn25 r))
-
-happyReduce_69 = happyMonadReduce 3# 18# happyReduction_69
-happyReduction_69 (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 happyOut119 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CReturn happy_var_2)}}
-    ) (\r -> happyReturn (happyIn25 r))
-
-happyReduce_70 = happyMonadReduce 6# 19# happyReduction_70
-happyReduction_70 (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 happyOut27 happy_x_2 of { happy_var_2 ->
-    case happyOut123 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 [] [] [])}}}
-    ) (\r -> happyReturn (happyIn26 r))
-
-happyReduce_71 = happyMonadReduce 8# 19# happyReduction_71
-happyReduction_71 (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 { happy_var_1 ->
-    case happyOut27 happy_x_2 of { happy_var_2 ->
-    case happyOut123 happy_x_4 of { happy_var_4 ->
-    case happyOut28 happy_x_6 of { happy_var_6 ->
-    ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 happy_var_6 [] [])}}}}
-    ) (\r -> happyReturn (happyIn26 r))
-
-happyReduce_72 = happyMonadReduce 10# 19# happyReduction_72
-happyReduction_72 (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 { happy_var_1 ->
-    case happyOut27 happy_x_2 of { happy_var_2 ->
-    case happyOut123 happy_x_4 of { happy_var_4 ->
-    case happyOut28 happy_x_6 of { happy_var_6 ->
-    case happyOut28 happy_x_8 of { happy_var_8 ->
-    ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 happy_var_6 happy_var_8 [])}}}}}
-    ) (\r -> happyReturn (happyIn26 r))
-
-happyReduce_73 = happyMonadReduce 12# 19# happyReduction_73
-happyReduction_73 (happy_x_12 `HappyStk`
-    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) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut27 happy_x_2 of { happy_var_2 ->
-    case happyOut123 happy_x_4 of { happy_var_4 ->
-    case happyOut28 happy_x_6 of { happy_var_6 ->
-    case happyOut28 happy_x_8 of { happy_var_8 ->
-    case happyOut31 happy_x_10 of { happy_var_10 ->
-    ( withNodeInfo happy_var_1 $ CAsmStmt happy_var_2 happy_var_4 happy_var_6 happy_var_8 (reverse happy_var_10))}}}}}}
-    ) (\r -> happyReturn (happyIn26 r))
-
-happyReduce_74 = happySpecReduce_0  20# happyReduction_74
-happyReduction_74  =  happyIn27
-         (Nothing
-    )
-
-happyReduce_75 = happySpecReduce_1  20# happyReduction_75
-happyReduction_75 happy_x_1
-     =  case happyOut61 happy_x_1 of { happy_var_1 ->
-    happyIn27
-         (Just happy_var_1
-    )}
-
-happyReduce_76 = happySpecReduce_0  21# happyReduction_76
-happyReduction_76  =  happyIn28
-         ([]
-    )
-
-happyReduce_77 = happySpecReduce_1  21# happyReduction_77
-happyReduction_77 happy_x_1
-     =  case happyOut29 happy_x_1 of { happy_var_1 ->
-    happyIn28
-         (reverse happy_var_1
-    )}
-
-happyReduce_78 = happySpecReduce_1  22# happyReduction_78
-happyReduction_78 happy_x_1
-     =  case happyOut30 happy_x_1 of { happy_var_1 ->
-    happyIn29
-         (singleton happy_var_1
-    )}
-
-happyReduce_79 = happySpecReduce_3  22# happyReduction_79
-happyReduction_79 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut29 happy_x_1 of { happy_var_1 ->
-    case happyOut30 happy_x_3 of { happy_var_3 ->
-    happyIn29
-         (happy_var_1 `snoc` happy_var_3
-    )}}
-
-happyReduce_80 = happyMonadReduce 4# 23# happyReduction_80
-happyReduction_80 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut123 happy_x_1 of { happy_var_1 ->
-    case happyOut117 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CAsmOperand Nothing happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn30 r))
-
-happyReduce_81 = happyMonadReduce 7# 23# happyReduction_81
-happyReduction_81 (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 { happy_var_1 ->
-    case happyOutTok happy_x_2 of { (CTokIdent  _ happy_var_2) ->
-    case happyOut123 happy_x_4 of { happy_var_4 ->
-    case happyOut117 happy_x_6 of { happy_var_6 ->
-    ( withNodeInfo happy_var_1 $ CAsmOperand (Just happy_var_2) happy_var_4 happy_var_6)}}}}
-    ) (\r -> happyReturn (happyIn30 r))
-
-happyReduce_82 = happyMonadReduce 7# 23# happyReduction_82
-happyReduction_82 (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 { happy_var_1 ->
-    case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->
-    case happyOut123 happy_x_4 of { happy_var_4 ->
-    case happyOut117 happy_x_6 of { happy_var_6 ->
-    ( withNodeInfo happy_var_1 $ CAsmOperand (Just happy_var_2) happy_var_4 happy_var_6)}}}}
-    ) (\r -> happyReturn (happyIn30 r))
-
-happyReduce_83 = happySpecReduce_1  24# happyReduction_83
-happyReduction_83 happy_x_1
-     =  case happyOut123 happy_x_1 of { happy_var_1 ->
-    happyIn31
-         (singleton happy_var_1
-    )}
-
-happyReduce_84 = happySpecReduce_3  24# happyReduction_84
-happyReduction_84 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut31 happy_x_1 of { happy_var_1 ->
-    case happyOut123 happy_x_3 of { happy_var_3 ->
-    happyIn31
-         (happy_var_1 `snoc` happy_var_3
-    )}}
-
-happyReduce_85 = happyMonadReduce 2# 25# happyReduction_85
-happyReduction_85 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut45 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [])}
-    ) (\r -> happyReturn (happyIn32 r))
-
-happyReduce_86 = happyMonadReduce 2# 25# happyReduction_86
-happyReduction_86 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut46 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [])}
-    ) (\r -> happyReturn (happyIn32 r))
-
-happyReduce_87 = happyMonadReduce 2# 25# happyReduction_87
-happyReduction_87 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut36 happy_x_1 of { happy_var_1 ->
-    ( case happy_var_1 of CDecl declspecs dies at -> withLength at (CDecl declspecs (List.reverse dies)))}
-    ) (\r -> happyReturn (happyIn32 r))
-
-happyReduce_88 = happyMonadReduce 2# 25# happyReduction_88
-happyReduction_88 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut34 happy_x_1 of { happy_var_1 ->
-    ( case happy_var_1 of CDecl declspecs dies at -> withLength at (CDecl declspecs (List.reverse dies)))}
-    ) (\r -> happyReturn (happyIn32 r))
-
-happyReduce_89 = happySpecReduce_0  26# happyReduction_89
-happyReduction_89  =  happyIn33
-         (empty
-    )
-
-happyReduce_90 = happySpecReduce_2  26# happyReduction_90
-happyReduction_90 happy_x_2
-    happy_x_1
-     =  case happyOut33 happy_x_1 of { happy_var_1 ->
-    case happyOut32 happy_x_2 of { happy_var_2 ->
-    happyIn33
-         (happy_var_1 `snoc` happy_var_2
-    )}}
-
-happyReduce_91 = happyMonadReduce 4# 27# happyReduction_91
-happyReduction_91 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOut72 happy_x_2 of { happy_var_2 ->
-    case happyOut35 happy_x_3 of { happy_var_3 ->
-    case happyOut91 happy_x_4 of { happy_var_4 ->
-    ( let declspecs = reverse happy_var_1 in
-       do{ declr <- withAsmNameAttrs happy_var_3 happy_var_2
-           ; doDeclIdent declspecs declr
-           ; withNodeInfo happy_var_1 $
-                CDecl declspecs [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}
-    ) (\r -> happyReturn (happyIn34 r))
-
-happyReduce_92 = happyMonadReduce 4# 27# happyReduction_92
-happyReduction_92 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut72 happy_x_2 of { happy_var_2 ->
-    case happyOut35 happy_x_3 of { happy_var_3 ->
-    case happyOut91 happy_x_4 of { happy_var_4 ->
-    ( let declspecs = liftTypeQuals happy_var_1 in
-       do{ declr <- withAsmNameAttrs happy_var_3 happy_var_2
-           ; doDeclIdent declspecs declr
-           ; withNodeInfo happy_var_1 $ CDecl declspecs [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}
-    ) (\r -> happyReturn (happyIn34 r))
-
-happyReduce_93 = happyMonadReduce 5# 27# happyReduction_93
-happyReduction_93 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut72 happy_x_3 of { happy_var_3 ->
-    case happyOut35 happy_x_4 of { happy_var_4 ->
-    case happyOut91 happy_x_5 of { happy_var_5 ->
-    ( let declspecs = liftTypeQuals happy_var_1 in
-       do{ declr <- withAsmNameAttrs happy_var_4 happy_var_3
-           ; doDeclIdent declspecs declr
-           ; withNodeInfo happy_var_1 $ CDecl (declspecs ++ liftCAttrs happy_var_2) [(Just (reverseDeclr declr), happy_var_5, Nothing)] })}}}}}
-    ) (\r -> happyReturn (happyIn34 r))
-
-happyReduce_94 = happyMonadReduce 4# 27# happyReduction_94
-happyReduction_94 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->
-    case happyOut72 happy_x_2 of { happy_var_2 ->
-    case happyOut35 happy_x_3 of { happy_var_3 ->
-    case happyOut91 happy_x_4 of { happy_var_4 ->
-    ( let declspecs = liftCAttrs happy_var_1 in
-       do{ declr <- withAsmNameAttrs happy_var_3 happy_var_2
-           ; doDeclIdent declspecs declr
-           ; withNodeInfo happy_var_1 $ CDecl declspecs [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}
-    ) (\r -> happyReturn (happyIn34 r))
-
-happyReduce_95 = happyMonadReduce 6# 27# happyReduction_95
-happyReduction_95 (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 happyOut34 happy_x_1 of { happy_var_1 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    case happyOut72 happy_x_4 of { happy_var_4 ->
-    case happyOut35 happy_x_5 of { happy_var_5 ->
-    case happyOut91 happy_x_6 of { happy_var_6 ->
-    ( case happy_var_1 of
-             CDecl declspecs dies at -> do
-               declr <- withAsmNameAttrs (fst happy_var_5, snd happy_var_5 ++ happy_var_3) happy_var_4
-               doDeclIdent declspecs declr
-               withLength at $ CDecl declspecs ((Just (reverseDeclr declr), happy_var_6, Nothing) : dies))}}}}}
-    ) (\r -> happyReturn (happyIn34 r))
-
-happyReduce_96 = happySpecReduce_2  28# happyReduction_96
-happyReduction_96 happy_x_2
-    happy_x_1
-     =  case happyOut64 happy_x_1 of { happy_var_1 ->
-    case happyOut126 happy_x_2 of { happy_var_2 ->
-    happyIn35
-         ((happy_var_1,happy_var_2)
-    )}}
-
-happyReduce_97 = happyMonadReduce 4# 29# happyReduction_97
-happyReduction_97 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->
-    case happyOut63 happy_x_2 of { happy_var_2 ->
-    case happyOut35 happy_x_3 of { happy_var_3 ->
-    case happyOut91 happy_x_4 of { happy_var_4 ->
-    ( do{
-       declr <- withAsmNameAttrs happy_var_3 happy_var_2;
-       doDeclIdent happy_var_1 declr;
-       withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}
-    ) (\r -> happyReturn (happyIn36 r))
-
-happyReduce_98 = happyMonadReduce 4# 29# happyReduction_98
-happyReduction_98 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->
-    case happyOut63 happy_x_2 of { happy_var_2 ->
-    case happyOut35 happy_x_3 of { happy_var_3 ->
-    case happyOut91 happy_x_4 of { happy_var_4 ->
-    ( do{
-       declr <- withAsmNameAttrs happy_var_3 happy_var_2;
-       doDeclIdent happy_var_1 declr;
-       withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr declr), happy_var_4, Nothing)] })}}}}
-    ) (\r -> happyReturn (happyIn36 r))
-
-happyReduce_99 = happyMonadReduce 6# 29# happyReduction_99
-happyReduction_99 (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 happyOut36 happy_x_1 of { happy_var_1 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    case happyOut63 happy_x_4 of { happy_var_4 ->
-    case happyOut35 happy_x_5 of { happy_var_5 ->
-    case happyOut91 happy_x_6 of { happy_var_6 ->
-    ( case happy_var_1 of
-             CDecl declspecs dies at -> do
-               declr <- withAsmNameAttrs (fst happy_var_5, snd happy_var_5 ++ happy_var_3) happy_var_4
-               doDeclIdent declspecs declr
-               return (CDecl declspecs ((Just (reverseDeclr declr), happy_var_6, Nothing) : dies) at))}}}}}
-    ) (\r -> happyReturn (happyIn36 r))
-
-happyReduce_100 = happySpecReduce_1  30# happyReduction_100
-happyReduction_100 happy_x_1
-     =  case happyOut43 happy_x_1 of { happy_var_1 ->
-    happyIn37
-         (reverse happy_var_1
-    )}
-
-happyReduce_101 = happySpecReduce_1  30# happyReduction_101
-happyReduction_101 happy_x_1
-     =  case happyOut45 happy_x_1 of { happy_var_1 ->
-    happyIn37
-         (reverse happy_var_1
-    )}
-
-happyReduce_102 = happySpecReduce_1  30# happyReduction_102
-happyReduction_102 happy_x_1
-     =  case happyOut47 happy_x_1 of { happy_var_1 ->
-    happyIn37
-         (reverse happy_var_1
-    )}
-
-happyReduce_103 = happySpecReduce_1  31# happyReduction_103
-happyReduction_103 happy_x_1
-     =  case happyOut40 happy_x_1 of { happy_var_1 ->
-    happyIn38
-         (singleton (CStorageSpec happy_var_1)
-    )}
-
-happyReduce_104 = happySpecReduce_2  31# happyReduction_104
-happyReduction_104 happy_x_2
-    happy_x_1
-     =  case happyOut127 happy_x_1 of { happy_var_1 ->
-    case happyOut40 happy_x_2 of { happy_var_2 ->
-    happyIn38
-         (reverseList (liftCAttrs happy_var_1) `snoc` (CStorageSpec happy_var_2)
-    )}}
-
-happyReduce_105 = happySpecReduce_2  31# happyReduction_105
-happyReduction_105 happy_x_2
-    happy_x_1
-     =  case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut40 happy_x_2 of { happy_var_2 ->
-    happyIn38
-         (rmap CTypeQual happy_var_1 `snoc` CStorageSpec happy_var_2
-    )}}
-
-happyReduce_106 = happySpecReduce_3  31# happyReduction_106
-happyReduction_106 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut40 happy_x_3 of { happy_var_3 ->
-    happyIn38
-         ((rmap CTypeQual happy_var_1 `rappend` liftCAttrs happy_var_2) `snoc` CStorageSpec happy_var_3
-    )}}}
-
-happyReduce_107 = happySpecReduce_2  31# happyReduction_107
-happyReduction_107 happy_x_2
-    happy_x_1
-     =  case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOut39 happy_x_2 of { happy_var_2 ->
-    happyIn38
-         (happy_var_1 `snoc` happy_var_2
-    )}}
-
-happyReduce_108 = happySpecReduce_2  31# happyReduction_108
-happyReduction_108 happy_x_2
-    happy_x_1
-     =  case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOut128 happy_x_2 of { happy_var_2 ->
-    happyIn38
-         (addTrailingAttrs happy_var_1 happy_var_2
-    )}}
-
-happyReduce_109 = happySpecReduce_1  32# happyReduction_109
-happyReduction_109 happy_x_1
-     =  case happyOut40 happy_x_1 of { happy_var_1 ->
-    happyIn39
-         (CStorageSpec happy_var_1
-    )}
-
-happyReduce_110 = happySpecReduce_1  32# happyReduction_110
-happyReduction_110 happy_x_1
-     =  case happyOut61 happy_x_1 of { happy_var_1 ->
-    happyIn39
-         (CTypeQual happy_var_1
-    )}
-
-happyReduce_111 = happyMonadReduce 1# 33# happyReduction_111
-happyReduction_111 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CTypedef)}
-    ) (\r -> happyReturn (happyIn40 r))
-
-happyReduce_112 = happyMonadReduce 1# 33# happyReduction_112
-happyReduction_112 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CExtern)}
-    ) (\r -> happyReturn (happyIn40 r))
-
-happyReduce_113 = happyMonadReduce 1# 33# happyReduction_113
-happyReduction_113 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CStatic)}
-    ) (\r -> happyReturn (happyIn40 r))
-
-happyReduce_114 = happyMonadReduce 1# 33# happyReduction_114
-happyReduction_114 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CAuto)}
-    ) (\r -> happyReturn (happyIn40 r))
-
-happyReduce_115 = happyMonadReduce 1# 33# happyReduction_115
-happyReduction_115 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CRegister)}
-    ) (\r -> happyReturn (happyIn40 r))
-
-happyReduce_116 = happyMonadReduce 1# 33# happyReduction_116
-happyReduction_116 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CThread)}
-    ) (\r -> happyReturn (happyIn40 r))
-
-happyReduce_117 = happySpecReduce_1  34# happyReduction_117
-happyReduction_117 happy_x_1
-     =  case happyOut44 happy_x_1 of { happy_var_1 ->
-    happyIn41
-         (reverse happy_var_1
-    )}
-
-happyReduce_118 = happySpecReduce_1  34# happyReduction_118
-happyReduction_118 happy_x_1
-     =  case happyOut46 happy_x_1 of { happy_var_1 ->
-    happyIn41
-         (reverse happy_var_1
-    )}
-
-happyReduce_119 = happySpecReduce_1  34# happyReduction_119
-happyReduction_119 happy_x_1
-     =  case happyOut48 happy_x_1 of { happy_var_1 ->
-    happyIn41
-         (reverse happy_var_1
-    )}
-
-happyReduce_120 = happyMonadReduce 1# 35# happyReduction_120
-happyReduction_120 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CVoidType)}
-    ) (\r -> happyReturn (happyIn42 r))
-
-happyReduce_121 = happyMonadReduce 1# 35# happyReduction_121
-happyReduction_121 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CCharType)}
-    ) (\r -> happyReturn (happyIn42 r))
-
-happyReduce_122 = happyMonadReduce 1# 35# happyReduction_122
-happyReduction_122 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CShortType)}
-    ) (\r -> happyReturn (happyIn42 r))
-
-happyReduce_123 = happyMonadReduce 1# 35# happyReduction_123
-happyReduction_123 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CIntType)}
-    ) (\r -> happyReturn (happyIn42 r))
-
-happyReduce_124 = happyMonadReduce 1# 35# happyReduction_124
-happyReduction_124 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CLongType)}
-    ) (\r -> happyReturn (happyIn42 r))
-
-happyReduce_125 = happyMonadReduce 1# 35# happyReduction_125
-happyReduction_125 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CFloatType)}
-    ) (\r -> happyReturn (happyIn42 r))
-
-happyReduce_126 = happyMonadReduce 1# 35# happyReduction_126
-happyReduction_126 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CDoubleType)}
-    ) (\r -> happyReturn (happyIn42 r))
-
-happyReduce_127 = happyMonadReduce 1# 35# happyReduction_127
-happyReduction_127 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CSignedType)}
-    ) (\r -> happyReturn (happyIn42 r))
-
-happyReduce_128 = happyMonadReduce 1# 35# happyReduction_128
-happyReduction_128 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CUnsigType)}
-    ) (\r -> happyReturn (happyIn42 r))
-
-happyReduce_129 = happyMonadReduce 1# 35# happyReduction_129
-happyReduction_129 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CBoolType)}
-    ) (\r -> happyReturn (happyIn42 r))
-
-happyReduce_130 = happyMonadReduce 1# 35# happyReduction_130
-happyReduction_130 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CComplexType)}
-    ) (\r -> happyReturn (happyIn42 r))
-
-happyReduce_131 = happySpecReduce_2  36# happyReduction_131
-happyReduction_131 happy_x_2
-    happy_x_1
-     =  case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOut42 happy_x_2 of { happy_var_2 ->
-    happyIn43
-         (happy_var_1 `snoc` CTypeSpec happy_var_2
-    )}}
-
-happyReduce_132 = happySpecReduce_2  36# happyReduction_132
-happyReduction_132 happy_x_2
-    happy_x_1
-     =  case happyOut44 happy_x_1 of { happy_var_1 ->
-    case happyOut40 happy_x_2 of { happy_var_2 ->
-    happyIn43
-         (happy_var_1 `snoc` CStorageSpec happy_var_2
-    )}}
-
-happyReduce_133 = happySpecReduce_2  36# happyReduction_133
-happyReduction_133 happy_x_2
-    happy_x_1
-     =  case happyOut43 happy_x_1 of { happy_var_1 ->
-    case happyOut39 happy_x_2 of { happy_var_2 ->
-    happyIn43
-         (happy_var_1 `snoc` happy_var_2
-    )}}
-
-happyReduce_134 = happySpecReduce_2  36# happyReduction_134
-happyReduction_134 happy_x_2
-    happy_x_1
-     =  case happyOut43 happy_x_1 of { happy_var_1 ->
-    case happyOut42 happy_x_2 of { happy_var_2 ->
-    happyIn43
-         (happy_var_1 `snoc` CTypeSpec happy_var_2
-    )}}
-
-happyReduce_135 = happySpecReduce_2  36# happyReduction_135
-happyReduction_135 happy_x_2
-    happy_x_1
-     =  case happyOut43 happy_x_1 of { happy_var_1 ->
-    case happyOut128 happy_x_2 of { happy_var_2 ->
-    happyIn43
-         (addTrailingAttrs happy_var_1 happy_var_2
-    )}}
-
-happyReduce_136 = happySpecReduce_1  37# happyReduction_136
-happyReduction_136 happy_x_1
-     =  case happyOut42 happy_x_1 of { happy_var_1 ->
-    happyIn44
-         (singleton (CTypeSpec happy_var_1)
-    )}
-
-happyReduce_137 = happySpecReduce_2  37# happyReduction_137
-happyReduction_137 happy_x_2
-    happy_x_1
-     =  case happyOut127 happy_x_1 of { happy_var_1 ->
-    case happyOut42 happy_x_2 of { happy_var_2 ->
-    happyIn44
-         ((reverseList $ liftCAttrs happy_var_1) `snoc` (CTypeSpec happy_var_2)
-    )}}
-
-happyReduce_138 = happySpecReduce_2  37# happyReduction_138
-happyReduction_138 happy_x_2
-    happy_x_1
-     =  case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut42 happy_x_2 of { happy_var_2 ->
-    happyIn44
-         (rmap CTypeQual happy_var_1 `snoc` CTypeSpec happy_var_2
-    )}}
-
-happyReduce_139 = happySpecReduce_3  37# happyReduction_139
-happyReduction_139 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut42 happy_x_3 of { happy_var_3 ->
-    happyIn44
-         (rmap CTypeQual happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec happy_var_3
-    )}}}
-
-happyReduce_140 = happySpecReduce_2  37# happyReduction_140
-happyReduction_140 happy_x_2
-    happy_x_1
-     =  case happyOut44 happy_x_1 of { happy_var_1 ->
-    case happyOut61 happy_x_2 of { happy_var_2 ->
-    happyIn44
-         (happy_var_1 `snoc` CTypeQual happy_var_2
-    )}}
-
-happyReduce_141 = happySpecReduce_2  37# happyReduction_141
-happyReduction_141 happy_x_2
-    happy_x_1
-     =  case happyOut44 happy_x_1 of { happy_var_1 ->
-    case happyOut42 happy_x_2 of { happy_var_2 ->
-    happyIn44
-         (happy_var_1 `snoc` CTypeSpec happy_var_2
-    )}}
-
-happyReduce_142 = happySpecReduce_2  37# happyReduction_142
-happyReduction_142 happy_x_2
-    happy_x_1
-     =  case happyOut44 happy_x_1 of { happy_var_1 ->
-    case happyOut128 happy_x_2 of { happy_var_2 ->
-    happyIn44
-         (addTrailingAttrs happy_var_1 happy_var_2
-    )}}
-
-happyReduce_143 = happySpecReduce_2  38# happyReduction_143
-happyReduction_143 happy_x_2
-    happy_x_1
-     =  case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOut49 happy_x_2 of { happy_var_2 ->
-    happyIn45
-         (happy_var_1 `snoc` CTypeSpec happy_var_2
-    )}}
-
-happyReduce_144 = happySpecReduce_2  38# happyReduction_144
-happyReduction_144 happy_x_2
-    happy_x_1
-     =  case happyOut46 happy_x_1 of { happy_var_1 ->
-    case happyOut40 happy_x_2 of { happy_var_2 ->
-    happyIn45
-         (happy_var_1 `snoc` CStorageSpec happy_var_2
-    )}}
-
-happyReduce_145 = happySpecReduce_2  38# happyReduction_145
-happyReduction_145 happy_x_2
-    happy_x_1
-     =  case happyOut45 happy_x_1 of { happy_var_1 ->
-    case happyOut39 happy_x_2 of { happy_var_2 ->
-    happyIn45
-         (happy_var_1 `snoc` happy_var_2
-    )}}
-
-happyReduce_146 = happySpecReduce_2  38# happyReduction_146
-happyReduction_146 happy_x_2
-    happy_x_1
-     =  case happyOut45 happy_x_1 of { happy_var_1 ->
-    case happyOut128 happy_x_2 of { happy_var_2 ->
-    happyIn45
-         (addTrailingAttrs happy_var_1 happy_var_2
-    )}}
-
-happyReduce_147 = happySpecReduce_1  39# happyReduction_147
-happyReduction_147 happy_x_1
-     =  case happyOut49 happy_x_1 of { happy_var_1 ->
-    happyIn46
-         (singleton (CTypeSpec happy_var_1)
-    )}
-
-happyReduce_148 = happySpecReduce_2  39# happyReduction_148
-happyReduction_148 happy_x_2
-    happy_x_1
-     =  case happyOut127 happy_x_1 of { happy_var_1 ->
-    case happyOut49 happy_x_2 of { happy_var_2 ->
-    happyIn46
-         ((reverseList $ liftCAttrs happy_var_1) `snoc` (CTypeSpec happy_var_2)
-    )}}
-
-happyReduce_149 = happySpecReduce_2  39# happyReduction_149
-happyReduction_149 happy_x_2
-    happy_x_1
-     =  case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut49 happy_x_2 of { happy_var_2 ->
-    happyIn46
-         (rmap CTypeQual happy_var_1 `snoc` CTypeSpec happy_var_2
-    )}}
-
-happyReduce_150 = happySpecReduce_3  39# happyReduction_150
-happyReduction_150 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut49 happy_x_3 of { happy_var_3 ->
-    happyIn46
-         (rmap CTypeQual  happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec happy_var_3
-    )}}}
-
-happyReduce_151 = happySpecReduce_2  39# happyReduction_151
-happyReduction_151 happy_x_2
-    happy_x_1
-     =  case happyOut46 happy_x_1 of { happy_var_1 ->
-    case happyOut61 happy_x_2 of { happy_var_2 ->
-    happyIn46
-         (happy_var_1 `snoc` CTypeQual happy_var_2
-    )}}
-
-happyReduce_152 = happySpecReduce_2  39# happyReduction_152
-happyReduction_152 happy_x_2
-    happy_x_1
-     =  case happyOut46 happy_x_1 of { happy_var_1 ->
-    case happyOut128 happy_x_2 of { happy_var_2 ->
-    happyIn46
-         (addTrailingAttrs happy_var_1 happy_var_2
-    )}}
-
-happyReduce_153 = happySpecReduce_2  40# happyReduction_153
-happyReduction_153 happy_x_2
-    happy_x_1
-     =  case happyOut48 happy_x_1 of { happy_var_1 ->
-    case happyOut40 happy_x_2 of { happy_var_2 ->
-    happyIn47
-         (happy_var_1 `snoc` CStorageSpec happy_var_2
-    )}}
-
-happyReduce_154 = happyMonadReduce 2# 40# happyReduction_154
-happyReduction_154 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->
-    ( withNodeInfo happy_var_2 $ \at -> happy_var_1 `snoc` CTypeSpec (CTypeDef happy_var_2 at))}}
-    ) (\r -> happyReturn (happyIn47 r))
-
-happyReduce_155 = happyMonadReduce 5# 40# happyReduction_155
-happyReduction_155 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOutTok happy_x_2 of { happy_var_2 ->
-    case happyOut117 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_2 $ \at -> happy_var_1 `snoc` CTypeSpec (CTypeOfExpr happy_var_4 at))}}}
-    ) (\r -> happyReturn (happyIn47 r))
-
-happyReduce_156 = happyMonadReduce 5# 40# happyReduction_156
-happyReduction_156 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOutTok happy_x_2 of { happy_var_2 ->
-    case happyOut83 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_2 $ \at -> happy_var_1 `snoc` CTypeSpec (CTypeOfType happy_var_4 at))}}}
-    ) (\r -> happyReturn (happyIn47 r))
-
-happyReduce_157 = happySpecReduce_2  40# happyReduction_157
-happyReduction_157 happy_x_2
-    happy_x_1
-     =  case happyOut47 happy_x_1 of { happy_var_1 ->
-    case happyOut39 happy_x_2 of { happy_var_2 ->
-    happyIn47
-         (happy_var_1 `snoc` happy_var_2
-    )}}
-
-happyReduce_158 = happySpecReduce_2  40# happyReduction_158
-happyReduction_158 happy_x_2
-    happy_x_1
-     =  case happyOut47 happy_x_1 of { happy_var_1 ->
-    case happyOut128 happy_x_2 of { happy_var_2 ->
-    happyIn47
-         (addTrailingAttrs happy_var_1 happy_var_2
-    )}}
-
-happyReduce_159 = happyMonadReduce 1# 41# happyReduction_159
-happyReduction_159 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->
-    ( withNodeInfo happy_var_1 $ \at -> singleton (CTypeSpec (CTypeDef happy_var_1 at)))}
-    ) (\r -> happyReturn (happyIn48 r))
-
-happyReduce_160 = happyMonadReduce 4# 41# happyReduction_160
-happyReduction_160 (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 happyOut117 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ \at -> singleton (CTypeSpec (CTypeOfExpr happy_var_3 at)))}}
-    ) (\r -> happyReturn (happyIn48 r))
-
-happyReduce_161 = happyMonadReduce 4# 41# happyReduction_161
-happyReduction_161 (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 happyOut83 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ \at -> singleton (CTypeSpec (CTypeOfType happy_var_3 at)))}}
-    ) (\r -> happyReturn (happyIn48 r))
-
-happyReduce_162 = happyMonadReduce 2# 41# happyReduction_162
-happyReduction_162 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->
-    ( withNodeInfo happy_var_2 $ \at -> rmap CTypeQual  happy_var_1 `snoc` CTypeSpec (CTypeDef happy_var_2 at))}}
-    ) (\r -> happyReturn (happyIn48 r))
-
-happyReduce_163 = happyMonadReduce 5# 41# happyReduction_163
-happyReduction_163 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOutTok happy_x_2 of { happy_var_2 ->
-    case happyOut117 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_2 $ \at -> rmap CTypeQual  happy_var_1 `snoc` CTypeSpec (CTypeOfExpr happy_var_4 at))}}}
-    ) (\r -> happyReturn (happyIn48 r))
-
-happyReduce_164 = happyMonadReduce 5# 41# happyReduction_164
-happyReduction_164 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOutTok happy_x_2 of { happy_var_2 ->
-    case happyOut83 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_2 $ \at -> rmap CTypeQual  happy_var_1 `snoc` CTypeSpec (CTypeOfType happy_var_4 at))}}}
-    ) (\r -> happyReturn (happyIn48 r))
-
-happyReduce_165 = happyMonadReduce 2# 41# happyReduction_165
-happyReduction_165 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->
-    case happyOutTok happy_x_2 of { (CTokTyIdent _ happy_var_2) ->
-    ( withNodeInfo happy_var_2 $ \at -> reverseList (liftCAttrs happy_var_1) `snoc` (CTypeSpec (CTypeDef happy_var_2 at)))}}
-    ) (\r -> happyReturn (happyIn48 r))
-
-happyReduce_166 = happyMonadReduce 5# 41# happyReduction_166
-happyReduction_166 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->
-    case happyOut117 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ \at -> reverseList (liftCAttrs happy_var_1) `snoc`  (CTypeSpec (CTypeOfExpr happy_var_4 at)))}}
-    ) (\r -> happyReturn (happyIn48 r))
-
-happyReduce_167 = happyMonadReduce 5# 41# happyReduction_167
-happyReduction_167 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->
-    case happyOutTok happy_x_2 of { happy_var_2 ->
-    case happyOut83 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_2 $ \at -> reverseList (liftCAttrs happy_var_1) `snoc`  (CTypeSpec (CTypeOfType happy_var_4 at)))}}}
-    ) (\r -> happyReturn (happyIn48 r))
-
-happyReduce_168 = happyMonadReduce 3# 41# happyReduction_168
-happyReduction_168 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOutTok happy_x_3 of { (CTokTyIdent _ happy_var_3) ->
-    ( withNodeInfo happy_var_3 $ \at -> rmap CTypeQual  happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec (CTypeDef happy_var_3 at))}}}
-    ) (\r -> happyReturn (happyIn48 r))
-
-happyReduce_169 = happyMonadReduce 6# 41# happyReduction_169
-happyReduction_169 (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 happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOutTok happy_x_3 of { happy_var_3 ->
-    case happyOut117 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_3 $ \at -> rmap CTypeQual  happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec (CTypeOfExpr happy_var_5 at))}}}}
-    ) (\r -> happyReturn (happyIn48 r))
-
-happyReduce_170 = happyMonadReduce 6# 41# happyReduction_170
-happyReduction_170 (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 happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOutTok happy_x_3 of { happy_var_3 ->
-    case happyOut83 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_3 $ \at -> rmap CTypeQual  happy_var_1 `rappend` (liftCAttrs happy_var_2) `snoc` CTypeSpec (CTypeOfType happy_var_5 at))}}}}
-    ) (\r -> happyReturn (happyIn48 r))
-
-happyReduce_171 = happySpecReduce_2  41# happyReduction_171
-happyReduction_171 happy_x_2
-    happy_x_1
-     =  case happyOut48 happy_x_1 of { happy_var_1 ->
-    case happyOut61 happy_x_2 of { happy_var_2 ->
-    happyIn48
-         (happy_var_1 `snoc` CTypeQual happy_var_2
-    )}}
-
-happyReduce_172 = happySpecReduce_2  41# happyReduction_172
-happyReduction_172 happy_x_2
-    happy_x_1
-     =  case happyOut48 happy_x_1 of { happy_var_1 ->
-    case happyOut128 happy_x_2 of { happy_var_2 ->
-    happyIn48
-         (addTrailingAttrs happy_var_1 happy_var_2
-    )}}
-
-happyReduce_173 = happyMonadReduce 1# 42# happyReduction_173
-happyReduction_173 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut50 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CSUType happy_var_1)}
-    ) (\r -> happyReturn (happyIn49 r))
-
-happyReduce_174 = happyMonadReduce 1# 42# happyReduction_174
-happyReduction_174 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut58 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CEnumType happy_var_1)}
-    ) (\r -> happyReturn (happyIn49 r))
-
-happyReduce_175 = happyMonadReduce 6# 43# happyReduction_175
-happyReduction_175 (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 happyOut51 happy_x_1 of { happy_var_1 ->
-    case happyOut126 happy_x_2 of { happy_var_2 ->
-    case happyOut125 happy_x_3 of { happy_var_3 ->
-    case happyOut52 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CStruct (unL happy_var_1) (Just happy_var_3) (Just$ reverse happy_var_5) happy_var_2)}}}}
-    ) (\r -> happyReturn (happyIn50 r))
-
-happyReduce_176 = happyMonadReduce 5# 43# happyReduction_176
-happyReduction_176 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut51 happy_x_1 of { happy_var_1 ->
-    case happyOut126 happy_x_2 of { happy_var_2 ->
-    case happyOut52 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CStruct (unL happy_var_1) Nothing   (Just$ reverse happy_var_4) happy_var_2)}}}
-    ) (\r -> happyReturn (happyIn50 r))
-
-happyReduce_177 = happyMonadReduce 3# 43# happyReduction_177
-happyReduction_177 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut51 happy_x_1 of { happy_var_1 ->
-    case happyOut126 happy_x_2 of { happy_var_2 ->
-    case happyOut125 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CStruct (unL happy_var_1) (Just happy_var_3) Nothing happy_var_2)}}}
-    ) (\r -> happyReturn (happyIn50 r))
-
-happyReduce_178 = happySpecReduce_1  44# happyReduction_178
-happyReduction_178 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn51
-         (L CStructTag (posOf happy_var_1)
-    )}
-
-happyReduce_179 = happySpecReduce_1  44# happyReduction_179
-happyReduction_179 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn51
-         (L CUnionTag (posOf happy_var_1)
-    )}
-
-happyReduce_180 = happySpecReduce_0  45# happyReduction_180
-happyReduction_180  =  happyIn52
-         (empty
-    )
-
-happyReduce_181 = happySpecReduce_2  45# happyReduction_181
-happyReduction_181 happy_x_2
-    happy_x_1
-     =  case happyOut52 happy_x_1 of { happy_var_1 ->
-    happyIn52
-         (happy_var_1
-    )}
-
-happyReduce_182 = happySpecReduce_2  45# happyReduction_182
-happyReduction_182 happy_x_2
-    happy_x_1
-     =  case happyOut52 happy_x_1 of { happy_var_1 ->
-    case happyOut53 happy_x_2 of { happy_var_2 ->
-    happyIn52
-         (happy_var_1 `snoc` happy_var_2
-    )}}
-
-happyReduce_183 = happySpecReduce_2  46# happyReduction_183
-happyReduction_183 happy_x_2
-    happy_x_1
-     =  case happyOut55 happy_x_1 of { happy_var_1 ->
-    happyIn53
-         (case happy_var_1 of CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at
-    )}
-
-happyReduce_184 = happySpecReduce_2  46# happyReduction_184
-happyReduction_184 happy_x_2
-    happy_x_1
-     =  case happyOut54 happy_x_1 of { happy_var_1 ->
-    happyIn53
-         (case happy_var_1 of CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at
-    )}
-
-happyReduce_185 = happySpecReduce_2  46# happyReduction_185
-happyReduction_185 happy_x_2
-    happy_x_1
-     =  case happyOut53 happy_x_2 of { happy_var_2 ->
-    happyIn53
-         (happy_var_2
-    )}
-
-happyReduce_186 = happyMonadReduce 3# 47# happyReduction_186
-happyReduction_186 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut126 happy_x_2 of { happy_var_2 ->
-    case happyOut57 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ case happy_var_3 of (d,s) -> CDecl (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) [(d,Nothing,s)])}}}
-    ) (\r -> happyReturn (happyIn54 r))
-
-happyReduce_187 = happyMonadReduce 2# 47# happyReduction_187
-happyReduction_187 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut127 happy_x_1 of { happy_var_1 ->
-    case happyOut57 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ case happy_var_2 of (d,s) -> CDecl (liftCAttrs happy_var_1) [(d,Nothing,s)])}}
-    ) (\r -> happyReturn (happyIn54 r))
-
-happyReduce_188 = happyReduce 4# 47# happyReduction_188
-happyReduction_188 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut54 happy_x_1 of { happy_var_1 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    case happyOut57 happy_x_4 of { happy_var_4 ->
-    happyIn54
-         (case happy_var_1 of
-            CDecl declspecs dies at ->
-              case happy_var_4 of
-                (Just d,s) -> CDecl declspecs ((Just $ appendObjAttrs happy_var_3 d,Nothing,s) : dies) at
-                (Nothing,s) -> CDecl declspecs ((Nothing,Nothing,s) : dies) at
-    ) `HappyStk` happyRest}}}
-
-happyReduce_189 = happyMonadReduce 3# 48# happyReduction_189
-happyReduction_189 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->
-    case happyOut56 happy_x_2 of { happy_var_2 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ case happy_var_2 of { (Just d,s)  -> CDecl happy_var_1 [(Just $! appendObjAttrs happy_var_3 d,Nothing,s)]
-                                    ; (Nothing,s) -> CDecl happy_var_1 [(Nothing,Nothing,s)]  })}}}
-    ) (\r -> happyReturn (happyIn55 r))
-
-happyReduce_190 = happyReduce 5# 48# happyReduction_190
-happyReduction_190 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut55 happy_x_1 of { happy_var_1 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    case happyOut56 happy_x_4 of { happy_var_4 ->
-    case happyOut126 happy_x_5 of { happy_var_5 ->
-    happyIn55
-         (case happy_var_1 of
-            CDecl declspecs dies attr ->
-              case happy_var_4 of
-                (Just d,s) -> CDecl declspecs ((Just$ appendObjAttrs (happy_var_3++happy_var_5) d,Nothing,s) : dies) attr
-                (Nothing,s) -> CDecl declspecs ((Nothing,Nothing,s) : dies) attr
-    ) `HappyStk` happyRest}}}}
-
-happyReduce_191 = happyMonadReduce 1# 48# happyReduction_191
-happyReduction_191 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}
-    ) (\r -> happyReturn (happyIn55 r))
-
-happyReduce_192 = happySpecReduce_1  49# happyReduction_192
-happyReduction_192 happy_x_1
-     =  case happyOut63 happy_x_1 of { happy_var_1 ->
-    happyIn56
-         ((Just (reverseDeclr happy_var_1), Nothing)
-    )}
-
-happyReduce_193 = happySpecReduce_2  49# happyReduction_193
-happyReduction_193 happy_x_2
-    happy_x_1
-     =  case happyOut121 happy_x_2 of { happy_var_2 ->
-    happyIn56
-         ((Nothing, Just happy_var_2)
-    )}
-
-happyReduce_194 = happySpecReduce_3  49# happyReduction_194
-happyReduction_194 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut63 happy_x_1 of { happy_var_1 ->
-    case happyOut121 happy_x_3 of { happy_var_3 ->
-    happyIn56
-         ((Just (reverseDeclr happy_var_1), Just happy_var_3)
-    )}}
-
-happyReduce_195 = happySpecReduce_1  50# happyReduction_195
-happyReduction_195 happy_x_1
-     =  case happyOut72 happy_x_1 of { happy_var_1 ->
-    happyIn57
-         ((Just (reverseDeclr happy_var_1), Nothing)
-    )}
-
-happyReduce_196 = happySpecReduce_2  50# happyReduction_196
-happyReduction_196 happy_x_2
-    happy_x_1
-     =  case happyOut121 happy_x_2 of { happy_var_2 ->
-    happyIn57
-         ((Nothing, Just happy_var_2)
-    )}
-
-happyReduce_197 = happySpecReduce_3  50# happyReduction_197
-happyReduction_197 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut72 happy_x_1 of { happy_var_1 ->
-    case happyOut121 happy_x_3 of { happy_var_3 ->
-    happyIn57
-         ((Just (reverseDeclr happy_var_1), Just happy_var_3)
-    )}}
-
-happyReduce_198 = happySpecReduce_2  50# happyReduction_198
-happyReduction_198 happy_x_2
-    happy_x_1
-     =  case happyOut57 happy_x_1 of { happy_var_1 ->
-    case happyOut128 happy_x_2 of { happy_var_2 ->
-    happyIn57
-         (case happy_var_1 of {   (Nothing,expr) -> (Nothing,expr) {- FIXME -}
-                    ; (Just (CDeclr name derived asmname attrs node), bsz) ->
-                                        (Just (CDeclr name derived asmname (attrs++happy_var_2) node),bsz)
-                  }
-    )}}
-
-happyReduce_199 = happyMonadReduce 5# 51# happyReduction_199
-happyReduction_199 (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 happyOut126 happy_x_2 of { happy_var_2 ->
-    case happyOut59 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CEnum Nothing   (Just$ reverse happy_var_4) happy_var_2)}}}
-    ) (\r -> happyReturn (happyIn58 r))
-
-happyReduce_200 = happyMonadReduce 6# 51# happyReduction_200
-happyReduction_200 (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 happyOut126 happy_x_2 of { happy_var_2 ->
-    case happyOut59 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CEnum Nothing   (Just$ reverse happy_var_4) happy_var_2)}}}
-    ) (\r -> happyReturn (happyIn58 r))
-
-happyReduce_201 = happyMonadReduce 6# 51# happyReduction_201
-happyReduction_201 (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 happyOut126 happy_x_2 of { happy_var_2 ->
-    case happyOut125 happy_x_3 of { happy_var_3 ->
-    case happyOut59 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CEnum (Just happy_var_3) (Just$ reverse happy_var_5) happy_var_2)}}}}
-    ) (\r -> happyReturn (happyIn58 r))
-
-happyReduce_202 = happyMonadReduce 7# 51# happyReduction_202
-happyReduction_202 (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 { happy_var_1 ->
-    case happyOut126 happy_x_2 of { happy_var_2 ->
-    case happyOut125 happy_x_3 of { happy_var_3 ->
-    case happyOut59 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CEnum (Just happy_var_3) (Just$ reverse happy_var_5) happy_var_2)}}}}
-    ) (\r -> happyReturn (happyIn58 r))
-
-happyReduce_203 = happyMonadReduce 3# 51# happyReduction_203
-happyReduction_203 (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 happyOut126 happy_x_2 of { happy_var_2 ->
-    case happyOut125 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CEnum (Just happy_var_3) Nothing happy_var_2)}}}
-    ) (\r -> happyReturn (happyIn58 r))
-
-happyReduce_204 = happySpecReduce_1  52# happyReduction_204
-happyReduction_204 happy_x_1
-     =  case happyOut60 happy_x_1 of { happy_var_1 ->
-    happyIn59
-         (singleton happy_var_1
-    )}
-
-happyReduce_205 = happySpecReduce_3  52# happyReduction_205
-happyReduction_205 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut59 happy_x_1 of { happy_var_1 ->
-    case happyOut60 happy_x_3 of { happy_var_3 ->
-    happyIn59
-         (happy_var_1 `snoc` happy_var_3
-    )}}
-
-happyReduce_206 = happySpecReduce_1  53# happyReduction_206
-happyReduction_206 happy_x_1
-     =  case happyOut125 happy_x_1 of { happy_var_1 ->
-    happyIn60
-         ((happy_var_1, Nothing)
-    )}
-
-happyReduce_207 = happySpecReduce_3  53# happyReduction_207
-happyReduction_207 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut125 happy_x_1 of { happy_var_1 ->
-    case happyOut121 happy_x_3 of { happy_var_3 ->
-    happyIn60
-         ((happy_var_1, Just happy_var_3)
-    )}}
-
-happyReduce_208 = happyMonadReduce 1# 54# happyReduction_208
-happyReduction_208 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CConstQual)}
-    ) (\r -> happyReturn (happyIn61 r))
-
-happyReduce_209 = happyMonadReduce 1# 54# happyReduction_209
-happyReduction_209 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CVolatQual)}
-    ) (\r -> happyReturn (happyIn61 r))
-
-happyReduce_210 = happyMonadReduce 1# 54# happyReduction_210
-happyReduction_210 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CRestrQual)}
-    ) (\r -> happyReturn (happyIn61 r))
-
-happyReduce_211 = happyMonadReduce 1# 54# happyReduction_211
-happyReduction_211 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CInlineQual)}
-    ) (\r -> happyReturn (happyIn61 r))
-
-happyReduce_212 = happySpecReduce_2  55# happyReduction_212
-happyReduction_212 happy_x_2
-    happy_x_1
-     =  case happyOut126 happy_x_1 of { happy_var_1 ->
-    case happyOut61 happy_x_2 of { happy_var_2 ->
-    happyIn62
-         (reverseList (map CAttrQual happy_var_1) `snoc` happy_var_2
-    )}}
-
-happyReduce_213 = happySpecReduce_2  55# happyReduction_213
-happyReduction_213 happy_x_2
-    happy_x_1
-     =  case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut61 happy_x_2 of { happy_var_2 ->
-    happyIn62
-         (happy_var_1 `snoc` happy_var_2
-    )}}
-
-happyReduce_214 = happySpecReduce_3  55# happyReduction_214
-happyReduction_214 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut61 happy_x_3 of { happy_var_3 ->
-    happyIn62
-         ((happy_var_1 `rappend` map CAttrQual happy_var_2) `snoc` happy_var_3
-    )}}}
-
-happyReduce_215 = happySpecReduce_1  56# happyReduction_215
-happyReduction_215 happy_x_1
-     =  case happyOut72 happy_x_1 of { happy_var_1 ->
-    happyIn63
-         (happy_var_1
-    )}
-
-happyReduce_216 = happySpecReduce_1  56# happyReduction_216
-happyReduction_216 happy_x_1
-     =  case happyOut65 happy_x_1 of { happy_var_1 ->
-    happyIn63
-         (happy_var_1
-    )}
-
-happyReduce_217 = happySpecReduce_0  57# happyReduction_217
-happyReduction_217  =  happyIn64
-         (Nothing
-    )
-
-happyReduce_218 = happyReduce 4# 57# happyReduction_218
-happyReduction_218 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut123 happy_x_3 of { happy_var_3 ->
-    happyIn64
-         (Just happy_var_3
-    ) `HappyStk` happyRest}
-
-happyReduce_219 = happySpecReduce_1  58# happyReduction_219
-happyReduction_219 happy_x_1
-     =  case happyOut69 happy_x_1 of { happy_var_1 ->
-    happyIn65
-         (happy_var_1
-    )}
-
-happyReduce_220 = happySpecReduce_1  58# happyReduction_220
-happyReduction_220 happy_x_1
-     =  case happyOut66 happy_x_1 of { happy_var_1 ->
-    happyIn65
-         (happy_var_1
-    )}
-
-happyReduce_221 = happyMonadReduce 1# 59# happyReduction_221
-happyReduction_221 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->
-    ( withNodeInfo happy_var_1 $ mkVarDeclr happy_var_1)}
-    ) (\r -> happyReturn (happyIn66 r))
-
-happyReduce_222 = happyMonadReduce 2# 59# happyReduction_222
-happyReduction_222 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->
-    case happyOut85 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ \at -> happy_var_2 (mkVarDeclr happy_var_1 at))}}
-    ) (\r -> happyReturn (happyIn66 r))
-
-happyReduce_223 = happySpecReduce_1  59# happyReduction_223
-happyReduction_223 happy_x_1
-     =  case happyOut67 happy_x_1 of { happy_var_1 ->
-    happyIn66
-         (happy_var_1
-    )}
-
-happyReduce_224 = happySpecReduce_1  60# happyReduction_224
-happyReduction_224 happy_x_1
-     =  case happyOut68 happy_x_1 of { happy_var_1 ->
-    happyIn67
-         (happy_var_1
-    )}
-
-happyReduce_225 = happyMonadReduce 2# 60# happyReduction_225
-happyReduction_225 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut66 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}
-    ) (\r -> happyReturn (happyIn67 r))
-
-happyReduce_226 = happyMonadReduce 3# 60# happyReduction_226
-happyReduction_226 (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 happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut66 happy_x_3 of { happy_var_3 ->
-    ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr happy_var_3 [])}}}
-    ) (\r -> happyReturn (happyIn67 r))
-
-happyReduce_227 = happyMonadReduce 3# 60# happyReduction_227
-happyReduction_227 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut66 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}
-    ) (\r -> happyReturn (happyIn67 r))
-
-happyReduce_228 = happyMonadReduce 4# 60# happyReduction_228
-happyReduction_228 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut127 happy_x_3 of { happy_var_3 ->
-    case happyOut66 happy_x_4 of { happy_var_4 ->
-    ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}}
-    ) (\r -> happyReturn (happyIn67 r))
-
-happyReduce_229 = happySpecReduce_3  61# happyReduction_229
-happyReduction_229 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut67 happy_x_2 of { happy_var_2 ->
-    happyIn68
-         (happy_var_2
-    )}
-
-happyReduce_230 = happyReduce 4# 61# happyReduction_230
-happyReduction_230 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut67 happy_x_2 of { happy_var_2 ->
-    case happyOut85 happy_x_4 of { happy_var_4 ->
-    happyIn68
-         (happy_var_4 happy_var_2
-    ) `HappyStk` happyRest}}
-
-happyReduce_231 = happyReduce 4# 61# happyReduction_231
-happyReduction_231 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut67 happy_x_3 of { happy_var_3 ->
-    happyIn68
-         (appendDeclrAttrs happy_var_2 happy_var_3
-    ) `HappyStk` happyRest}}
-
-happyReduce_232 = happyReduce 5# 61# happyReduction_232
-happyReduction_232 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut67 happy_x_3 of { happy_var_3 ->
-    case happyOut85 happy_x_5 of { happy_var_5 ->
-    happyIn68
-         (appendDeclrAttrs happy_var_2 (happy_var_5 happy_var_3)
-    ) `HappyStk` happyRest}}}
-
-happyReduce_233 = happySpecReduce_1  62# happyReduction_233
-happyReduction_233 happy_x_1
-     =  case happyOut70 happy_x_1 of { happy_var_1 ->
-    happyIn69
-         (happy_var_1
-    )}
-
-happyReduce_234 = happyMonadReduce 4# 62# happyReduction_234
-happyReduction_234 (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 happyOut71 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 [])}}
-    ) (\r -> happyReturn (happyIn69 r))
-
-happyReduce_235 = happyMonadReduce 5# 62# happyReduction_235
-happyReduction_235 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut71 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}
-    ) (\r -> happyReturn (happyIn69 r))
-
-happyReduce_236 = happyMonadReduce 6# 62# happyReduction_236
-happyReduction_236 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut127 happy_x_3 of { happy_var_3 ->
-    case happyOut71 happy_x_5 of { happy_var_5 ->
-    ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_5 (reverse happy_var_2))}}}}
-    ) (\r -> happyReturn (happyIn69 r))
-
-happyReduce_237 = happyMonadReduce 2# 62# happyReduction_237
-happyReduction_237 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut69 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}
-    ) (\r -> happyReturn (happyIn69 r))
-
-happyReduce_238 = happyMonadReduce 3# 62# happyReduction_238
-happyReduction_238 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut69 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}
-    ) (\r -> happyReturn (happyIn69 r))
-
-happyReduce_239 = happyMonadReduce 4# 62# happyReduction_239
-happyReduction_239 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut127 happy_x_3 of { happy_var_3 ->
-    case happyOut69 happy_x_4 of { happy_var_4 ->
-    ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}}
-    ) (\r -> happyReturn (happyIn69 r))
-
-happyReduce_240 = happySpecReduce_3  63# happyReduction_240
-happyReduction_240 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut69 happy_x_2 of { happy_var_2 ->
-    happyIn70
-         (happy_var_2
-    )}
-
-happyReduce_241 = happyReduce 4# 63# happyReduction_241
-happyReduction_241 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut71 happy_x_2 of { happy_var_2 ->
-    case happyOut85 happy_x_3 of { happy_var_3 ->
-    happyIn70
-         (happy_var_3 happy_var_2
-    ) `HappyStk` happyRest}}
-
-happyReduce_242 = happyReduce 4# 63# happyReduction_242
-happyReduction_242 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut69 happy_x_2 of { happy_var_2 ->
-    case happyOut85 happy_x_4 of { happy_var_4 ->
-    happyIn70
-         (happy_var_4 happy_var_2
-    ) `HappyStk` happyRest}}
-
-happyReduce_243 = happyMonadReduce 1# 64# happyReduction_243
-happyReduction_243 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->
-    ( withNodeInfo happy_var_1 $ mkVarDeclr happy_var_1)}
-    ) (\r -> happyReturn (happyIn71 r))
-
-happyReduce_244 = happySpecReduce_3  64# happyReduction_244
-happyReduction_244 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut71 happy_x_2 of { happy_var_2 ->
-    happyIn71
-         (happy_var_2
-    )}
-
-happyReduce_245 = happySpecReduce_1  65# happyReduction_245
-happyReduction_245 happy_x_1
-     =  case happyOut73 happy_x_1 of { happy_var_1 ->
-    happyIn72
-         (happy_var_1
-    )}
-
-happyReduce_246 = happySpecReduce_1  65# happyReduction_246
-happyReduction_246 happy_x_1
-     =  case happyOut75 happy_x_1 of { happy_var_1 ->
-    happyIn72
-         (happy_var_1
-    )}
-
-happyReduce_247 = happySpecReduce_1  66# happyReduction_247
-happyReduction_247 happy_x_1
-     =  case happyOut74 happy_x_1 of { happy_var_1 ->
-    happyIn73
-         (happy_var_1
-    )}
-
-happyReduce_248 = happyMonadReduce 2# 66# happyReduction_248
-happyReduction_248 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut72 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}
-    ) (\r -> happyReturn (happyIn73 r))
-
-happyReduce_249 = happyMonadReduce 3# 66# happyReduction_249
-happyReduction_249 (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 happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut72 happy_x_3 of { happy_var_3 ->
-    ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr happy_var_3 [])}}}
-    ) (\r -> happyReturn (happyIn73 r))
-
-happyReduce_250 = happyMonadReduce 3# 66# happyReduction_250
-happyReduction_250 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut72 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}
-    ) (\r -> happyReturn (happyIn73 r))
-
-happyReduce_251 = happyMonadReduce 4# 66# happyReduction_251
-happyReduction_251 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut127 happy_x_3 of { happy_var_3 ->
-    case happyOut72 happy_x_4 of { happy_var_4 ->
-    ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr happy_var_4 (reverse happy_var_2))}}}}
-    ) (\r -> happyReturn (happyIn73 r))
-
-happyReduce_252 = happySpecReduce_2  67# happyReduction_252
-happyReduction_252 happy_x_2
-    happy_x_1
-     =  case happyOut75 happy_x_1 of { happy_var_1 ->
-    case happyOut85 happy_x_2 of { happy_var_2 ->
-    happyIn74
-         (happy_var_2 happy_var_1
-    )}}
-
-happyReduce_253 = happySpecReduce_3  67# happyReduction_253
-happyReduction_253 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut73 happy_x_2 of { happy_var_2 ->
-    happyIn74
-         (happy_var_2
-    )}
-
-happyReduce_254 = happyReduce 4# 67# happyReduction_254
-happyReduction_254 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut73 happy_x_2 of { happy_var_2 ->
-    case happyOut85 happy_x_4 of { happy_var_4 ->
-    happyIn74
-         (happy_var_4 happy_var_2
-    ) `HappyStk` happyRest}}
-
-happyReduce_255 = happyReduce 4# 67# happyReduction_255
-happyReduction_255 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut73 happy_x_3 of { happy_var_3 ->
-    happyIn74
-         (appendDeclrAttrs happy_var_2 happy_var_3
-    ) `HappyStk` happyRest}}
-
-happyReduce_256 = happyReduce 5# 67# happyReduction_256
-happyReduction_256 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut73 happy_x_3 of { happy_var_3 ->
-    case happyOut85 happy_x_5 of { happy_var_5 ->
-    happyIn74
-         (appendDeclrAttrs happy_var_2 (happy_var_5 happy_var_3)
-    ) `HappyStk` happyRest}}}
-
-happyReduce_257 = happyMonadReduce 1# 68# happyReduction_257
-happyReduction_257 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->
-    ( withNodeInfo happy_var_1 $ mkVarDeclr happy_var_1)}
-    ) (\r -> happyReturn (happyIn75 r))
-
-happyReduce_258 = happySpecReduce_3  68# happyReduction_258
-happyReduction_258 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut75 happy_x_2 of { happy_var_2 ->
-    happyIn75
-         (happy_var_2
-    )}
-
-happyReduce_259 = happyReduce 4# 68# happyReduction_259
-happyReduction_259 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut75 happy_x_3 of { happy_var_3 ->
-    happyIn75
-         (appendDeclrAttrs happy_var_2 happy_var_3
-    ) `HappyStk` happyRest}}
-
-happyReduce_260 = happySpecReduce_1  69# happyReduction_260
-happyReduction_260 happy_x_1
-     =  case happyOut77 happy_x_1 of { happy_var_1 ->
-    happyIn76
-         (reverseDeclr happy_var_1
-    )}
-
-happyReduce_261 = happySpecReduce_1  70# happyReduction_261
-happyReduction_261 happy_x_1
-     =  case happyOut78 happy_x_1 of { happy_var_1 ->
-    happyIn77
-         (happy_var_1
-    )}
-
-happyReduce_262 = happyMonadReduce 2# 70# happyReduction_262
-happyReduction_262 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut77 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}
-    ) (\r -> happyReturn (happyIn77 r))
-
-happyReduce_263 = happyMonadReduce 3# 70# happyReduction_263
-happyReduction_263 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut77 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}
-    ) (\r -> happyReturn (happyIn77 r))
-
-happyReduce_264 = happyMonadReduce 4# 71# happyReduction_264
-happyReduction_264 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut75 happy_x_1 of { happy_var_1 ->
-    case happyOut82 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ funDeclr happy_var_1 (Left $ reverse happy_var_3) [])}}
-    ) (\r -> happyReturn (happyIn78 r))
-
-happyReduce_265 = happySpecReduce_3  71# happyReduction_265
-happyReduction_265 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut77 happy_x_2 of { happy_var_2 ->
-    happyIn78
-         (happy_var_2
-    )}
-
-happyReduce_266 = happyReduce 4# 71# happyReduction_266
-happyReduction_266 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut77 happy_x_2 of { happy_var_2 ->
-    case happyOut85 happy_x_4 of { happy_var_4 ->
-    happyIn78
-         (happy_var_4 happy_var_2
-    ) `HappyStk` happyRest}}
-
-happyReduce_267 = happySpecReduce_0  72# happyReduction_267
-happyReduction_267  =  happyIn79
-         (([], False)
-    )
-
-happyReduce_268 = happySpecReduce_1  72# happyReduction_268
-happyReduction_268 happy_x_1
-     =  case happyOut80 happy_x_1 of { happy_var_1 ->
-    happyIn79
-         ((reverse happy_var_1, False)
-    )}
-
-happyReduce_269 = happySpecReduce_3  72# happyReduction_269
-happyReduction_269 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut80 happy_x_1 of { happy_var_1 ->
-    happyIn79
-         ((reverse happy_var_1, True)
-    )}
-
-happyReduce_270 = happySpecReduce_1  73# happyReduction_270
-happyReduction_270 happy_x_1
-     =  case happyOut81 happy_x_1 of { happy_var_1 ->
-    happyIn80
-         (singleton happy_var_1
-    )}
-
-happyReduce_271 = happySpecReduce_3  73# happyReduction_271
-happyReduction_271 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut80 happy_x_1 of { happy_var_1 ->
-    case happyOut81 happy_x_3 of { happy_var_3 ->
-    happyIn80
-         (happy_var_1 `snoc` happy_var_3
-    )}}
-
-happyReduce_272 = happyMonadReduce 1# 74# happyReduction_272
-happyReduction_272 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_273 = happyMonadReduce 2# 74# happyReduction_273
-happyReduction_273 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->
-    case happyOut84 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_274 = happyMonadReduce 3# 74# happyReduction_274
-happyReduction_274 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->
-    case happyOut72 happy_x_2 of { happy_var_2 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_275 = happyMonadReduce 3# 74# happyReduction_275
-happyReduction_275 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut37 happy_x_1 of { happy_var_1 ->
-    case happyOut66 happy_x_2 of { happy_var_2 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_276 = happyMonadReduce 1# 74# happyReduction_276
-happyReduction_276 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [])}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_277 = happyMonadReduce 2# 74# happyReduction_277
-happyReduction_277 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOut84 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_278 = happyMonadReduce 3# 74# happyReduction_278
-happyReduction_278 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut38 happy_x_1 of { happy_var_1 ->
-    case happyOut72 happy_x_2 of { happy_var_2 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CDecl (reverse happy_var_1) [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_279 = happyMonadReduce 1# 74# happyReduction_279
-happyReduction_279 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_280 = happyMonadReduce 2# 74# happyReduction_280
-happyReduction_280 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->
-    case happyOut84 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_281 = happyMonadReduce 3# 74# happyReduction_281
-happyReduction_281 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->
-    case happyOut72 happy_x_2 of { happy_var_2 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_282 = happyMonadReduce 3# 74# happyReduction_282
-happyReduction_282 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->
-    case happyOut66 happy_x_2 of { happy_var_2 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr $! appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_283 = happyMonadReduce 1# 74# happyReduction_283
-happyReduction_283 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [])}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_284 = happyMonadReduce 2# 74# happyReduction_284
-happyReduction_284 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut128 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) [])}}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_285 = happyMonadReduce 2# 74# happyReduction_285
-happyReduction_285 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut84 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_286 = happyMonadReduce 3# 74# happyReduction_286
-happyReduction_286 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut72 happy_x_2 of { happy_var_2 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [(Just (reverseDeclr$ appendDeclrAttrs happy_var_3 happy_var_2), Nothing, Nothing)])}}}
-    ) (\r -> happyReturn (happyIn81 r))
-
-happyReduce_287 = happySpecReduce_1  75# happyReduction_287
-happyReduction_287 happy_x_1
-     =  case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->
-    happyIn82
-         (singleton happy_var_1
-    )}
-
-happyReduce_288 = happySpecReduce_3  75# happyReduction_288
-happyReduction_288 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut82 happy_x_1 of { happy_var_1 ->
-    case happyOutTok happy_x_3 of { (CTokIdent  _ happy_var_3) ->
-    happyIn82
-         (happy_var_1 `snoc` happy_var_3
-    )}}
-
-happyReduce_289 = happyMonadReduce 1# 76# happyReduction_289
-happyReduction_289 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [])}
-    ) (\r -> happyReturn (happyIn83 r))
-
-happyReduce_290 = happyMonadReduce 2# 76# happyReduction_290
-happyReduction_290 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut41 happy_x_1 of { happy_var_1 ->
-    case happyOut84 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CDecl happy_var_1 [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}
-    ) (\r -> happyReturn (happyIn83 r))
-
-happyReduce_291 = happyMonadReduce 2# 76# happyReduction_291
-happyReduction_291 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut128 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1 ++ liftCAttrs happy_var_2) [])}}
-    ) (\r -> happyReturn (happyIn83 r))
-
-happyReduce_292 = happyMonadReduce 2# 76# happyReduction_292
-happyReduction_292 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut62 happy_x_1 of { happy_var_1 ->
-    case happyOut84 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CDecl (liftTypeQuals happy_var_1) [(Just (reverseDeclr happy_var_2), Nothing, Nothing)])}}
-    ) (\r -> happyReturn (happyIn83 r))
-
-happyReduce_293 = happySpecReduce_1  77# happyReduction_293
-happyReduction_293 happy_x_1
-     =  case happyOut88 happy_x_1 of { happy_var_1 ->
-    happyIn84
-         (happy_var_1
-    )}
-
-happyReduce_294 = happySpecReduce_1  77# happyReduction_294
-happyReduction_294 happy_x_1
-     =  case happyOut89 happy_x_1 of { happy_var_1 ->
-    happyIn84
-         (happy_var_1
-    )}
-
-happyReduce_295 = happySpecReduce_1  77# happyReduction_295
-happyReduction_295 happy_x_1
-     =  case happyOut85 happy_x_1 of { happy_var_1 ->
-    happyIn84
-         (happy_var_1 emptyDeclr
-    )}
-
-happyReduce_296 = happySpecReduce_1  78# happyReduction_296
-happyReduction_296 happy_x_1
-     =  case happyOut86 happy_x_1 of { happy_var_1 ->
-    happyIn85
-         (happy_var_1
-    )}
-
-happyReduce_297 = happyMonadReduce 3# 78# happyReduction_297
-happyReduction_297 (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 happyOut79 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ \at declr -> case happy_var_2 of
-             (params, variadic) -> funDeclr declr (Right (params,variadic)) [] at)}}
-    ) (\r -> happyReturn (happyIn85 r))
-
-happyReduce_298 = happySpecReduce_1  79# happyReduction_298
-happyReduction_298 happy_x_1
-     =  case happyOut87 happy_x_1 of { happy_var_1 ->
-    happyIn86
-         (happy_var_1
-    )}
-
-happyReduce_299 = happySpecReduce_2  79# happyReduction_299
-happyReduction_299 happy_x_2
-    happy_x_1
-     =  case happyOut86 happy_x_1 of { happy_var_1 ->
-    case happyOut87 happy_x_2 of { happy_var_2 ->
-    happyIn86
-         (\decl -> happy_var_2 (happy_var_1 decl)
-    )}}
-
-happyReduce_300 = happyMonadReduce 3# 80# happyReduction_300
-happyReduction_300 (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 happyOut120 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ \at declr -> arrDeclr declr [] False False happy_var_2 at)}}
-    ) (\r -> happyReturn (happyIn87 r))
-
-happyReduce_301 = happyMonadReduce 4# 80# happyReduction_301
-happyReduction_301 (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 happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut120 happy_x_3 of { happy_var_3 ->
-    ( withAttributePF happy_var_1 happy_var_2 $ \at declr -> arrDeclr declr [] False False happy_var_3 at)}}}
-    ) (\r -> happyReturn (happyIn87 r))
-
-happyReduce_302 = happyMonadReduce 4# 80# happyReduction_302
-happyReduction_302 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut120 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ \at declr -> arrDeclr declr (reverse happy_var_2) False False happy_var_3 at)}}}
-    ) (\r -> happyReturn (happyIn87 r))
-
-happyReduce_303 = happyMonadReduce 5# 80# happyReduction_303
-happyReduction_303 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut127 happy_x_3 of { happy_var_3 ->
-    case happyOut120 happy_x_4 of { happy_var_4 ->
-    ( withAttributePF happy_var_1 happy_var_3 $ \at declr -> arrDeclr declr (reverse happy_var_2) False False happy_var_4 at)}}}}
-    ) (\r -> happyReturn (happyIn87 r))
-
-happyReduce_304 = happyMonadReduce 5# 80# happyReduction_304
-happyReduction_304 (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 happyOut126 happy_x_3 of { happy_var_3 ->
-    case happyOut115 happy_x_4 of { happy_var_4 ->
-    ( withAttributePF happy_var_1 happy_var_3 $ \at declr -> arrDeclr declr [] False True (Just happy_var_4) at)}}}
-    ) (\r -> happyReturn (happyIn87 r))
-
-happyReduce_305 = happyMonadReduce 6# 80# happyReduction_305
-happyReduction_305 (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 happyOut62 happy_x_3 of { happy_var_3 ->
-    case happyOut126 happy_x_4 of { happy_var_4 ->
-    case happyOut115 happy_x_5 of { happy_var_5 ->
-    ( withAttributePF happy_var_1 happy_var_4 $ \at declr -> arrDeclr declr (reverse happy_var_3) False True (Just happy_var_5) at)}}}}
-    ) (\r -> happyReturn (happyIn87 r))
-
-happyReduce_306 = happyMonadReduce 7# 80# happyReduction_306
-happyReduction_306 (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 { happy_var_1 ->
-    case happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    case happyOut126 happy_x_5 of { happy_var_5 ->
-    case happyOut115 happy_x_6 of { happy_var_6 ->
-    ( withAttributePF happy_var_1 (happy_var_3 ++ happy_var_5) $ \at declr -> arrDeclr declr (reverse happy_var_2) False True  (Just happy_var_6) at)}}}}}
-    ) (\r -> happyReturn (happyIn87 r))
-
-happyReduce_307 = happyMonadReduce 4# 80# happyReduction_307
-happyReduction_307 (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 happyOut126 happy_x_3 of { happy_var_3 ->
-    ( withAttributePF happy_var_1 happy_var_3 $ \at declr -> arrDeclr declr [] True False Nothing at)}}
-    ) (\r -> happyReturn (happyIn87 r))
-
-happyReduce_308 = happyMonadReduce 5# 80# happyReduction_308
-happyReduction_308 (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 happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut126 happy_x_4 of { happy_var_4 ->
-    ( withAttributePF happy_var_1 (happy_var_2 ++ happy_var_4) $ \at declr -> arrDeclr declr [] True False Nothing at)}}}
-    ) (\r -> happyReturn (happyIn87 r))
-
-happyReduce_309 = happyMonadReduce 5# 80# happyReduction_309
-happyReduction_309 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut126 happy_x_4 of { happy_var_4 ->
-    ( withAttributePF happy_var_1 happy_var_4 $ \at declr -> arrDeclr declr (reverse happy_var_2) True False Nothing at)}}}
-    ) (\r -> happyReturn (happyIn87 r))
-
-happyReduce_310 = happyMonadReduce 6# 80# happyReduction_310
-happyReduction_310 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut127 happy_x_3 of { happy_var_3 ->
-    case happyOut126 happy_x_5 of { happy_var_5 ->
-    ( withAttributePF happy_var_1 (happy_var_3 ++ happy_var_5) $ \at declr -> arrDeclr declr (reverse happy_var_2) True False Nothing at)}}}}
-    ) (\r -> happyReturn (happyIn87 r))
-
-happyReduce_311 = happyMonadReduce 1# 81# happyReduction_311
-happyReduction_311 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr emptyDeclr [])}
-    ) (\r -> happyReturn (happyIn88 r))
-
-happyReduce_312 = happyMonadReduce 3# 81# happyReduction_312
-happyReduction_312 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut126 happy_x_3 of { happy_var_3 ->
-    ( withAttribute happy_var_1 happy_var_3 $ ptrDeclr emptyDeclr (reverse happy_var_2))}}}
-    ) (\r -> happyReturn (happyIn88 r))
-
-happyReduce_313 = happyMonadReduce 2# 81# happyReduction_313
-happyReduction_313 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut84 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_2 [])}}
-    ) (\r -> happyReturn (happyIn88 r))
-
-happyReduce_314 = happyMonadReduce 3# 81# happyReduction_314
-happyReduction_314 (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 happyOut62 happy_x_2 of { happy_var_2 ->
-    case happyOut84 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ ptrDeclr happy_var_3 (reverse happy_var_2))}}}
-    ) (\r -> happyReturn (happyIn88 r))
-
-happyReduce_315 = happyMonadReduce 2# 81# happyReduction_315
-happyReduction_315 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut127 happy_x_2 of { happy_var_2 ->
-    ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr emptyDeclr [])}}
-    ) (\r -> happyReturn (happyIn88 r))
-
-happyReduce_316 = happyMonadReduce 3# 81# happyReduction_316
-happyReduction_316 (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 happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut84 happy_x_3 of { happy_var_3 ->
-    ( withAttribute happy_var_1 happy_var_2 $ ptrDeclr happy_var_3 [])}}}
-    ) (\r -> happyReturn (happyIn88 r))
-
-happyReduce_317 = happySpecReduce_3  82# happyReduction_317
-happyReduction_317 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut88 happy_x_2 of { happy_var_2 ->
-    happyIn89
-         (happy_var_2
-    )}
-
-happyReduce_318 = happySpecReduce_3  82# happyReduction_318
-happyReduction_318 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut89 happy_x_2 of { happy_var_2 ->
-    happyIn89
-         (happy_var_2
-    )}
-
-happyReduce_319 = happySpecReduce_3  82# happyReduction_319
-happyReduction_319 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut85 happy_x_2 of { happy_var_2 ->
-    happyIn89
-         (happy_var_2 emptyDeclr
-    )}
-
-happyReduce_320 = happyReduce 4# 82# happyReduction_320
-happyReduction_320 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut88 happy_x_2 of { happy_var_2 ->
-    case happyOut85 happy_x_4 of { happy_var_4 ->
-    happyIn89
-         (happy_var_4 happy_var_2
-    ) `HappyStk` happyRest}}
-
-happyReduce_321 = happyReduce 4# 82# happyReduction_321
-happyReduction_321 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut88 happy_x_3 of { happy_var_3 ->
-    happyIn89
-         (appendDeclrAttrs happy_var_2 happy_var_3
-    ) `HappyStk` happyRest}}
-
-happyReduce_322 = happyReduce 4# 82# happyReduction_322
-happyReduction_322 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut89 happy_x_3 of { happy_var_3 ->
-    happyIn89
-         (appendDeclrAttrs happy_var_2 happy_var_3
-    ) `HappyStk` happyRest}}
-
-happyReduce_323 = happyReduce 4# 82# happyReduction_323
-happyReduction_323 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut85 happy_x_3 of { happy_var_3 ->
-    happyIn89
-         (appendDeclrAttrs happy_var_2 (happy_var_3 emptyDeclr)
-    ) `HappyStk` happyRest}}
-
-happyReduce_324 = happyReduce 5# 82# happyReduction_324
-happyReduction_324 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut127 happy_x_2 of { happy_var_2 ->
-    case happyOut88 happy_x_3 of { happy_var_3 ->
-    case happyOut85 happy_x_5 of { happy_var_5 ->
-    happyIn89
-         (appendDeclrAttrs happy_var_2 (happy_var_5 happy_var_3)
-    ) `HappyStk` happyRest}}}
-
-happyReduce_325 = happySpecReduce_2  82# happyReduction_325
-happyReduction_325 happy_x_2
-    happy_x_1
-     =  case happyOut89 happy_x_1 of { happy_var_1 ->
-    case happyOut128 happy_x_2 of { happy_var_2 ->
-    happyIn89
-         (appendDeclrAttrs happy_var_2 happy_var_1
-    )}}
-
-happyReduce_326 = happyMonadReduce 1# 83# happyReduction_326
-happyReduction_326 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut115 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CInitExpr happy_var_1)}
-    ) (\r -> happyReturn (happyIn90 r))
-
-happyReduce_327 = happyMonadReduce 3# 83# happyReduction_327
-happyReduction_327 (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 happyOut92 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CInitList (reverse happy_var_2))}}
-    ) (\r -> happyReturn (happyIn90 r))
-
-happyReduce_328 = happyMonadReduce 4# 83# happyReduction_328
-happyReduction_328 (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 happyOut92 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CInitList (reverse happy_var_2))}}
-    ) (\r -> happyReturn (happyIn90 r))
-
-happyReduce_329 = happySpecReduce_0  84# happyReduction_329
-happyReduction_329  =  happyIn91
-         (Nothing
-    )
-
-happyReduce_330 = happySpecReduce_2  84# happyReduction_330
-happyReduction_330 happy_x_2
-    happy_x_1
-     =  case happyOut90 happy_x_2 of { happy_var_2 ->
-    happyIn91
-         (Just happy_var_2
-    )}
-
-happyReduce_331 = happySpecReduce_0  85# happyReduction_331
-happyReduction_331  =  happyIn92
-         (empty
-    )
-
-happyReduce_332 = happySpecReduce_1  85# happyReduction_332
-happyReduction_332 happy_x_1
-     =  case happyOut90 happy_x_1 of { happy_var_1 ->
-    happyIn92
-         (singleton ([],happy_var_1)
-    )}
-
-happyReduce_333 = happySpecReduce_2  85# happyReduction_333
-happyReduction_333 happy_x_2
-    happy_x_1
-     =  case happyOut93 happy_x_1 of { happy_var_1 ->
-    case happyOut90 happy_x_2 of { happy_var_2 ->
-    happyIn92
-         (singleton (happy_var_1,happy_var_2)
-    )}}
-
-happyReduce_334 = happySpecReduce_3  85# happyReduction_334
-happyReduction_334 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut92 happy_x_1 of { happy_var_1 ->
-    case happyOut90 happy_x_3 of { happy_var_3 ->
-    happyIn92
-         (happy_var_1 `snoc` ([],happy_var_3)
-    )}}
-
-happyReduce_335 = happyReduce 4# 85# happyReduction_335
-happyReduction_335 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest)
-     = case happyOut92 happy_x_1 of { happy_var_1 ->
-    case happyOut93 happy_x_3 of { happy_var_3 ->
-    case happyOut90 happy_x_4 of { happy_var_4 ->
-    happyIn92
-         (happy_var_1 `snoc` (happy_var_3,happy_var_4)
-    ) `HappyStk` happyRest}}}
-
-happyReduce_336 = happySpecReduce_2  86# happyReduction_336
-happyReduction_336 happy_x_2
-    happy_x_1
-     =  case happyOut94 happy_x_1 of { happy_var_1 ->
-    happyIn93
-         (reverse happy_var_1
-    )}
-
-happyReduce_337 = happyMonadReduce 2# 86# happyReduction_337
-happyReduction_337 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut125 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ \at -> [CMemberDesig happy_var_1 at])}
-    ) (\r -> happyReturn (happyIn93 r))
-
-happyReduce_338 = happySpecReduce_1  86# happyReduction_338
-happyReduction_338 happy_x_1
-     =  case happyOut96 happy_x_1 of { happy_var_1 ->
-    happyIn93
-         ([happy_var_1]
-    )}
-
-happyReduce_339 = happySpecReduce_1  87# happyReduction_339
-happyReduction_339 happy_x_1
-     =  case happyOut95 happy_x_1 of { happy_var_1 ->
-    happyIn94
-         (singleton happy_var_1
-    )}
-
-happyReduce_340 = happySpecReduce_2  87# happyReduction_340
-happyReduction_340 happy_x_2
-    happy_x_1
-     =  case happyOut94 happy_x_1 of { happy_var_1 ->
-    case happyOut95 happy_x_2 of { happy_var_2 ->
-    happyIn94
-         (happy_var_1 `snoc` happy_var_2
-    )}}
-
-happyReduce_341 = happyMonadReduce 3# 88# happyReduction_341
-happyReduction_341 (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 happyOut121 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CArrDesig happy_var_2)}}
-    ) (\r -> happyReturn (happyIn95 r))
-
-happyReduce_342 = happyMonadReduce 2# 88# happyReduction_342
-happyReduction_342 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut125 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CMemberDesig happy_var_2)}}
-    ) (\r -> happyReturn (happyIn95 r))
-
-happyReduce_343 = happySpecReduce_1  88# happyReduction_343
-happyReduction_343 happy_x_1
-     =  case happyOut96 happy_x_1 of { happy_var_1 ->
-    happyIn95
-         (happy_var_1
-    )}
-
-happyReduce_344 = happyMonadReduce 5# 89# happyReduction_344
-happyReduction_344 (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 happyOut121 happy_x_2 of { happy_var_2 ->
-    case happyOut121 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CRangeDesig happy_var_2 happy_var_4)}}}
-    ) (\r -> happyReturn (happyIn96 r))
-
-happyReduce_345 = happyMonadReduce 1# 90# happyReduction_345
-happyReduction_345 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->
-    ( withNodeInfo happy_var_1 $ CVar happy_var_1)}
-    ) (\r -> happyReturn (happyIn97 r))
-
-happyReduce_346 = happySpecReduce_1  90# happyReduction_346
-happyReduction_346 happy_x_1
-     =  case happyOut122 happy_x_1 of { happy_var_1 ->
-    happyIn97
-         (CConst happy_var_1
-    )}
-
-happyReduce_347 = happySpecReduce_1  90# happyReduction_347
-happyReduction_347 happy_x_1
-     =  case happyOut123 happy_x_1 of { happy_var_1 ->
-    happyIn97
-         (CConst (liftStrLit happy_var_1)
-    )}
-
-happyReduce_348 = happySpecReduce_3  90# happyReduction_348
-happyReduction_348 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut117 happy_x_2 of { happy_var_2 ->
-    happyIn97
-         (happy_var_2
-    )}
-
-happyReduce_349 = happyMonadReduce 3# 90# happyReduction_349
-happyReduction_349 (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 happyOut14 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CStatExpr happy_var_2)}}
-    ) (\r -> happyReturn (happyIn97 r))
-
-happyReduce_350 = happyMonadReduce 6# 90# happyReduction_350
-happyReduction_350 (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 happyOut115 happy_x_3 of { happy_var_3 ->
-    case happyOut83 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CBuiltinExpr . CBuiltinVaArg happy_var_3 happy_var_5)}}}
-    ) (\r -> happyReturn (happyIn97 r))
-
-happyReduce_351 = happyMonadReduce 6# 90# happyReduction_351
-happyReduction_351 (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 happyOut83 happy_x_3 of { happy_var_3 ->
-    case happyOut98 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CBuiltinExpr . CBuiltinOffsetOf happy_var_3 (reverse happy_var_5))}}}
-    ) (\r -> happyReturn (happyIn97 r))
-
-happyReduce_352 = happyMonadReduce 6# 90# happyReduction_352
-happyReduction_352 (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 happyOut83 happy_x_3 of { happy_var_3 ->
-    case happyOut83 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CBuiltinExpr . CBuiltinTypesCompatible happy_var_3 happy_var_5)}}}
-    ) (\r -> happyReturn (happyIn97 r))
-
-happyReduce_353 = happyMonadReduce 1# 91# happyReduction_353
-happyReduction_353 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut125 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ singleton . CMemberDesig happy_var_1)}
-    ) (\r -> happyReturn (happyIn98 r))
-
-happyReduce_354 = happyMonadReduce 3# 91# happyReduction_354
-happyReduction_354 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut98 happy_x_1 of { happy_var_1 ->
-    case happyOut125 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_3 $ (happy_var_1 `snoc`) . CMemberDesig happy_var_3)}}
-    ) (\r -> happyReturn (happyIn98 r))
-
-happyReduce_355 = happyMonadReduce 4# 91# happyReduction_355
-happyReduction_355 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut98 happy_x_1 of { happy_var_1 ->
-    case happyOut117 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_3 $ (happy_var_1 `snoc`) . CArrDesig happy_var_3)}}
-    ) (\r -> happyReturn (happyIn98 r))
-
-happyReduce_356 = happySpecReduce_1  92# happyReduction_356
-happyReduction_356 happy_x_1
-     =  case happyOut97 happy_x_1 of { happy_var_1 ->
-    happyIn99
-         (happy_var_1
-    )}
-
-happyReduce_357 = happyMonadReduce 4# 92# happyReduction_357
-happyReduction_357 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->
-    case happyOut117 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CIndex happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn99 r))
-
-happyReduce_358 = happyMonadReduce 3# 92# happyReduction_358
-happyReduction_358 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CCall happy_var_1 [])}
-    ) (\r -> happyReturn (happyIn99 r))
-
-happyReduce_359 = happyMonadReduce 4# 92# happyReduction_359
-happyReduction_359 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->
-    case happyOut100 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CCall happy_var_1 (reverse happy_var_3))}}
-    ) (\r -> happyReturn (happyIn99 r))
-
-happyReduce_360 = happyMonadReduce 3# 92# happyReduction_360
-happyReduction_360 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->
-    case happyOut125 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CMember happy_var_1 happy_var_3 False)}}
-    ) (\r -> happyReturn (happyIn99 r))
-
-happyReduce_361 = happyMonadReduce 3# 92# happyReduction_361
-happyReduction_361 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->
-    case happyOut125 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CMember happy_var_1 happy_var_3 True)}}
-    ) (\r -> happyReturn (happyIn99 r))
-
-happyReduce_362 = happyMonadReduce 2# 92# happyReduction_362
-happyReduction_362 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CUnary CPostIncOp happy_var_1)}
-    ) (\r -> happyReturn (happyIn99 r))
-
-happyReduce_363 = happyMonadReduce 2# 92# happyReduction_363
-happyReduction_363 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut99 happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ CUnary CPostDecOp happy_var_1)}
-    ) (\r -> happyReturn (happyIn99 r))
-
-happyReduce_364 = happyMonadReduce 6# 92# happyReduction_364
-happyReduction_364 (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 happyOut83 happy_x_2 of { happy_var_2 ->
-    case happyOut92 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CCompoundLit happy_var_2 (reverse happy_var_5))}}}
-    ) (\r -> happyReturn (happyIn99 r))
-
-happyReduce_365 = happyMonadReduce 7# 92# happyReduction_365
-happyReduction_365 (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 { happy_var_1 ->
-    case happyOut83 happy_x_2 of { happy_var_2 ->
-    case happyOut92 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CCompoundLit happy_var_2 (reverse happy_var_5))}}}
-    ) (\r -> happyReturn (happyIn99 r))
-
-happyReduce_366 = happySpecReduce_1  93# happyReduction_366
-happyReduction_366 happy_x_1
-     =  case happyOut115 happy_x_1 of { happy_var_1 ->
-    happyIn100
-         (singleton happy_var_1
-    )}
-
-happyReduce_367 = happySpecReduce_3  93# happyReduction_367
-happyReduction_367 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut100 happy_x_1 of { happy_var_1 ->
-    case happyOut115 happy_x_3 of { happy_var_3 ->
-    happyIn100
-         (happy_var_1 `snoc` happy_var_3
-    )}}
-
-happyReduce_368 = happySpecReduce_1  94# happyReduction_368
-happyReduction_368 happy_x_1
-     =  case happyOut99 happy_x_1 of { happy_var_1 ->
-    happyIn101
-         (happy_var_1
-    )}
-
-happyReduce_369 = happyMonadReduce 2# 94# happyReduction_369
-happyReduction_369 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut101 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CUnary CPreIncOp happy_var_2)}}
-    ) (\r -> happyReturn (happyIn101 r))
-
-happyReduce_370 = happyMonadReduce 2# 94# happyReduction_370
-happyReduction_370 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut101 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CUnary CPreDecOp happy_var_2)}}
-    ) (\r -> happyReturn (happyIn101 r))
-
-happyReduce_371 = happySpecReduce_2  94# happyReduction_371
-happyReduction_371 happy_x_2
-    happy_x_1
-     =  case happyOut103 happy_x_2 of { happy_var_2 ->
-    happyIn101
-         (happy_var_2
-    )}
-
-happyReduce_372 = happyMonadReduce 2# 94# happyReduction_372
-happyReduction_372 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut102 happy_x_1 of { happy_var_1 ->
-    case happyOut103 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CUnary (unL happy_var_1) happy_var_2)}}
-    ) (\r -> happyReturn (happyIn101 r))
-
-happyReduce_373 = happyMonadReduce 2# 94# happyReduction_373
-happyReduction_373 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut101 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CSizeofExpr happy_var_2)}}
-    ) (\r -> happyReturn (happyIn101 r))
-
-happyReduce_374 = happyMonadReduce 4# 94# 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 { happy_var_1 ->
-    case happyOut83 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CSizeofType happy_var_3)}}
-    ) (\r -> happyReturn (happyIn101 r))
-
-happyReduce_375 = happyMonadReduce 2# 94# happyReduction_375
-happyReduction_375 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut101 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CAlignofExpr happy_var_2)}}
-    ) (\r -> happyReturn (happyIn101 r))
-
-happyReduce_376 = happyMonadReduce 4# 94# happyReduction_376
-happyReduction_376 (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 happyOut83 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CAlignofType happy_var_3)}}
-    ) (\r -> happyReturn (happyIn101 r))
-
-happyReduce_377 = happyMonadReduce 2# 94# happyReduction_377
-happyReduction_377 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut101 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CComplexReal happy_var_2)}}
-    ) (\r -> happyReturn (happyIn101 r))
-
-happyReduce_378 = happyMonadReduce 2# 94# happyReduction_378
-happyReduction_378 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut101 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CComplexImag happy_var_2)}}
-    ) (\r -> happyReturn (happyIn101 r))
-
-happyReduce_379 = happyMonadReduce 2# 94# happyReduction_379
-happyReduction_379 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut125 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ CLabAddrExpr happy_var_2)}}
-    ) (\r -> happyReturn (happyIn101 r))
-
-happyReduce_380 = happySpecReduce_1  95# happyReduction_380
-happyReduction_380 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn102
-         (L CAdrOp  (posOf happy_var_1)
-    )}
-
-happyReduce_381 = happySpecReduce_1  95# happyReduction_381
-happyReduction_381 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn102
-         (L CIndOp  (posOf happy_var_1)
-    )}
-
-happyReduce_382 = happySpecReduce_1  95# happyReduction_382
-happyReduction_382 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn102
-         (L CPlusOp (posOf happy_var_1)
-    )}
-
-happyReduce_383 = happySpecReduce_1  95# happyReduction_383
-happyReduction_383 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn102
-         (L CMinOp  (posOf happy_var_1)
-    )}
-
-happyReduce_384 = happySpecReduce_1  95# happyReduction_384
-happyReduction_384 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn102
-         (L CCompOp (posOf happy_var_1)
-    )}
-
-happyReduce_385 = happySpecReduce_1  95# happyReduction_385
-happyReduction_385 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn102
-         (L CNegOp  (posOf happy_var_1)
-    )}
-
-happyReduce_386 = happySpecReduce_1  96# happyReduction_386
-happyReduction_386 happy_x_1
-     =  case happyOut101 happy_x_1 of { happy_var_1 ->
-    happyIn103
-         (happy_var_1
-    )}
-
-happyReduce_387 = happyMonadReduce 4# 96# 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 { happy_var_1 ->
-    case happyOut83 happy_x_2 of { happy_var_2 ->
-    case happyOut103 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CCast happy_var_2 happy_var_4)}}}
-    ) (\r -> happyReturn (happyIn103 r))
-
-happyReduce_388 = happySpecReduce_1  97# happyReduction_388
-happyReduction_388 happy_x_1
-     =  case happyOut103 happy_x_1 of { happy_var_1 ->
-    happyIn104
-         (happy_var_1
-    )}
-
-happyReduce_389 = happyMonadReduce 3# 97# happyReduction_389
-happyReduction_389 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut104 happy_x_1 of { happy_var_1 ->
-    case happyOut103 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CMulOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn104 r))
-
-happyReduce_390 = happyMonadReduce 3# 97# happyReduction_390
-happyReduction_390 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut104 happy_x_1 of { happy_var_1 ->
-    case happyOut103 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CDivOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn104 r))
-
-happyReduce_391 = happyMonadReduce 3# 97# happyReduction_391
-happyReduction_391 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut104 happy_x_1 of { happy_var_1 ->
-    case happyOut103 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CRmdOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn104 r))
-
-happyReduce_392 = happySpecReduce_1  98# happyReduction_392
-happyReduction_392 happy_x_1
-     =  case happyOut104 happy_x_1 of { happy_var_1 ->
-    happyIn105
-         (happy_var_1
-    )}
-
-happyReduce_393 = happyMonadReduce 3# 98# happyReduction_393
-happyReduction_393 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut105 happy_x_1 of { happy_var_1 ->
-    case happyOut104 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CAddOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn105 r))
-
-happyReduce_394 = happyMonadReduce 3# 98# happyReduction_394
-happyReduction_394 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut105 happy_x_1 of { happy_var_1 ->
-    case happyOut104 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CSubOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn105 r))
-
-happyReduce_395 = happySpecReduce_1  99# happyReduction_395
-happyReduction_395 happy_x_1
-     =  case happyOut105 happy_x_1 of { happy_var_1 ->
-    happyIn106
-         (happy_var_1
-    )}
-
-happyReduce_396 = happyMonadReduce 3# 99# happyReduction_396
-happyReduction_396 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut106 happy_x_1 of { happy_var_1 ->
-    case happyOut105 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CShlOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn106 r))
-
-happyReduce_397 = happyMonadReduce 3# 99# happyReduction_397
-happyReduction_397 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut106 happy_x_1 of { happy_var_1 ->
-    case happyOut105 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CShrOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn106 r))
-
-happyReduce_398 = happySpecReduce_1  100# happyReduction_398
-happyReduction_398 happy_x_1
-     =  case happyOut106 happy_x_1 of { happy_var_1 ->
-    happyIn107
-         (happy_var_1
-    )}
-
-happyReduce_399 = happyMonadReduce 3# 100# happyReduction_399
-happyReduction_399 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->
-    case happyOut106 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CLeOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn107 r))
-
-happyReduce_400 = happyMonadReduce 3# 100# happyReduction_400
-happyReduction_400 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->
-    case happyOut106 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CGrOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn107 r))
-
-happyReduce_401 = happyMonadReduce 3# 100# happyReduction_401
-happyReduction_401 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->
-    case happyOut106 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CLeqOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn107 r))
-
-happyReduce_402 = happyMonadReduce 3# 100# happyReduction_402
-happyReduction_402 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut107 happy_x_1 of { happy_var_1 ->
-    case happyOut106 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CGeqOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn107 r))
-
-happyReduce_403 = happySpecReduce_1  101# happyReduction_403
-happyReduction_403 happy_x_1
-     =  case happyOut107 happy_x_1 of { happy_var_1 ->
-    happyIn108
-         (happy_var_1
-    )}
-
-happyReduce_404 = happyMonadReduce 3# 101# happyReduction_404
-happyReduction_404 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut108 happy_x_1 of { happy_var_1 ->
-    case happyOut107 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CEqOp  happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn108 r))
-
-happyReduce_405 = happyMonadReduce 3# 101# happyReduction_405
-happyReduction_405 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut108 happy_x_1 of { happy_var_1 ->
-    case happyOut107 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CNeqOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn108 r))
-
-happyReduce_406 = happySpecReduce_1  102# happyReduction_406
-happyReduction_406 happy_x_1
-     =  case happyOut108 happy_x_1 of { happy_var_1 ->
-    happyIn109
-         (happy_var_1
-    )}
-
-happyReduce_407 = happyMonadReduce 3# 102# happyReduction_407
-happyReduction_407 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut109 happy_x_1 of { happy_var_1 ->
-    case happyOut108 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CAndOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn109 r))
-
-happyReduce_408 = happySpecReduce_1  103# happyReduction_408
-happyReduction_408 happy_x_1
-     =  case happyOut109 happy_x_1 of { happy_var_1 ->
-    happyIn110
-         (happy_var_1
-    )}
-
-happyReduce_409 = happyMonadReduce 3# 103# happyReduction_409
-happyReduction_409 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut110 happy_x_1 of { happy_var_1 ->
-    case happyOut109 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CXorOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn110 r))
-
-happyReduce_410 = happySpecReduce_1  104# happyReduction_410
-happyReduction_410 happy_x_1
-     =  case happyOut110 happy_x_1 of { happy_var_1 ->
-    happyIn111
-         (happy_var_1
-    )}
-
-happyReduce_411 = happyMonadReduce 3# 104# happyReduction_411
-happyReduction_411 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut111 happy_x_1 of { happy_var_1 ->
-    case happyOut110 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary COrOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn111 r))
-
-happyReduce_412 = happySpecReduce_1  105# happyReduction_412
-happyReduction_412 happy_x_1
-     =  case happyOut111 happy_x_1 of { happy_var_1 ->
-    happyIn112
-         (happy_var_1
-    )}
-
-happyReduce_413 = happyMonadReduce 3# 105# happyReduction_413
-happyReduction_413 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut112 happy_x_1 of { happy_var_1 ->
-    case happyOut111 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CLndOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn112 r))
-
-happyReduce_414 = happySpecReduce_1  106# happyReduction_414
-happyReduction_414 happy_x_1
-     =  case happyOut112 happy_x_1 of { happy_var_1 ->
-    happyIn113
-         (happy_var_1
-    )}
-
-happyReduce_415 = happyMonadReduce 3# 106# happyReduction_415
-happyReduction_415 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut113 happy_x_1 of { happy_var_1 ->
-    case happyOut112 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CBinary CLorOp happy_var_1 happy_var_3)}}
-    ) (\r -> happyReturn (happyIn113 r))
-
-happyReduce_416 = happySpecReduce_1  107# happyReduction_416
-happyReduction_416 happy_x_1
-     =  case happyOut113 happy_x_1 of { happy_var_1 ->
-    happyIn114
-         (happy_var_1
-    )}
-
-happyReduce_417 = happyMonadReduce 5# 107# happyReduction_417
-happyReduction_417 (happy_x_5 `HappyStk`
-    happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut113 happy_x_1 of { happy_var_1 ->
-    case happyOut117 happy_x_3 of { happy_var_3 ->
-    case happyOut114 happy_x_5 of { happy_var_5 ->
-    ( withNodeInfo happy_var_1 $ CCond happy_var_1 (Just happy_var_3) happy_var_5)}}}
-    ) (\r -> happyReturn (happyIn114 r))
-
-happyReduce_418 = happyMonadReduce 4# 107# happyReduction_418
-happyReduction_418 (happy_x_4 `HappyStk`
-    happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut113 happy_x_1 of { happy_var_1 ->
-    case happyOut114 happy_x_4 of { happy_var_4 ->
-    ( withNodeInfo happy_var_1 $ CCond happy_var_1 Nothing happy_var_4)}}
-    ) (\r -> happyReturn (happyIn114 r))
-
-happyReduce_419 = happySpecReduce_1  108# happyReduction_419
-happyReduction_419 happy_x_1
-     =  case happyOut114 happy_x_1 of { happy_var_1 ->
-    happyIn115
-         (happy_var_1
-    )}
-
-happyReduce_420 = happyMonadReduce 3# 108# happyReduction_420
-happyReduction_420 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut101 happy_x_1 of { happy_var_1 ->
-    case happyOut116 happy_x_2 of { happy_var_2 ->
-    case happyOut115 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ CAssign (unL happy_var_2) happy_var_1 happy_var_3)}}}
-    ) (\r -> happyReturn (happyIn115 r))
-
-happyReduce_421 = happySpecReduce_1  109# happyReduction_421
-happyReduction_421 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn116
-         (L CAssignOp (posOf happy_var_1)
-    )}
-
-happyReduce_422 = happySpecReduce_1  109# happyReduction_422
-happyReduction_422 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn116
-         (L CMulAssOp (posOf happy_var_1)
-    )}
-
-happyReduce_423 = happySpecReduce_1  109# happyReduction_423
-happyReduction_423 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn116
-         (L CDivAssOp (posOf happy_var_1)
-    )}
-
-happyReduce_424 = happySpecReduce_1  109# happyReduction_424
-happyReduction_424 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn116
-         (L CRmdAssOp (posOf happy_var_1)
-    )}
-
-happyReduce_425 = happySpecReduce_1  109# happyReduction_425
-happyReduction_425 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn116
-         (L CAddAssOp (posOf happy_var_1)
-    )}
-
-happyReduce_426 = happySpecReduce_1  109# happyReduction_426
-happyReduction_426 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn116
-         (L CSubAssOp (posOf happy_var_1)
-    )}
-
-happyReduce_427 = happySpecReduce_1  109# happyReduction_427
-happyReduction_427 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn116
-         (L CShlAssOp (posOf happy_var_1)
-    )}
-
-happyReduce_428 = happySpecReduce_1  109# happyReduction_428
-happyReduction_428 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn116
-         (L CShrAssOp (posOf happy_var_1)
-    )}
-
-happyReduce_429 = happySpecReduce_1  109# happyReduction_429
-happyReduction_429 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn116
-         (L CAndAssOp (posOf happy_var_1)
-    )}
-
-happyReduce_430 = happySpecReduce_1  109# happyReduction_430
-happyReduction_430 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn116
-         (L CXorAssOp (posOf happy_var_1)
-    )}
-
-happyReduce_431 = happySpecReduce_1  109# happyReduction_431
-happyReduction_431 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn116
-         (L COrAssOp  (posOf happy_var_1)
-    )}
-
-happyReduce_432 = happySpecReduce_1  110# happyReduction_432
-happyReduction_432 happy_x_1
-     =  case happyOut115 happy_x_1 of { happy_var_1 ->
-    happyIn117
-         (happy_var_1
-    )}
-
-happyReduce_433 = happyMonadReduce 3# 110# happyReduction_433
-happyReduction_433 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOut115 happy_x_1 of { happy_var_1 ->
-    case happyOut118 happy_x_3 of { happy_var_3 ->
-    ( let es = reverse happy_var_3 in withNodeInfo es $ CComma (happy_var_1:es))}}
-    ) (\r -> happyReturn (happyIn117 r))
-
-happyReduce_434 = happySpecReduce_1  111# happyReduction_434
-happyReduction_434 happy_x_1
-     =  case happyOut115 happy_x_1 of { happy_var_1 ->
-    happyIn118
-         (singleton happy_var_1
-    )}
-
-happyReduce_435 = happySpecReduce_3  111# happyReduction_435
-happyReduction_435 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut118 happy_x_1 of { happy_var_1 ->
-    case happyOut115 happy_x_3 of { happy_var_3 ->
-    happyIn118
-         (happy_var_1 `snoc` happy_var_3
-    )}}
-
-happyReduce_436 = happySpecReduce_0  112# happyReduction_436
-happyReduction_436  =  happyIn119
-         (Nothing
-    )
-
-happyReduce_437 = happySpecReduce_1  112# happyReduction_437
-happyReduction_437 happy_x_1
-     =  case happyOut117 happy_x_1 of { happy_var_1 ->
-    happyIn119
-         (Just happy_var_1
-    )}
-
-happyReduce_438 = happySpecReduce_0  113# happyReduction_438
-happyReduction_438  =  happyIn120
-         (Nothing
-    )
-
-happyReduce_439 = happySpecReduce_1  113# happyReduction_439
-happyReduction_439 happy_x_1
-     =  case happyOut115 happy_x_1 of { happy_var_1 ->
-    happyIn120
-         (Just happy_var_1
-    )}
-
-happyReduce_440 = happySpecReduce_1  114# happyReduction_440
-happyReduction_440 happy_x_1
-     =  case happyOut114 happy_x_1 of { happy_var_1 ->
-    happyIn121
-         (happy_var_1
-    )}
-
-happyReduce_441 = happyMonadReduce 1# 115# happyReduction_441
-happyReduction_441 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokILit _ i -> CIntConst i)}
-    ) (\r -> happyReturn (happyIn122 r))
-
-happyReduce_442 = happyMonadReduce 1# 115# happyReduction_442
-happyReduction_442 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokCLit _ c -> CCharConst c)}
-    ) (\r -> happyReturn (happyIn122 r))
-
-happyReduce_443 = happyMonadReduce 1# 115# happyReduction_443
-happyReduction_443 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokFLit _ f -> CFloatConst f)}
-    ) (\r -> happyReturn (happyIn122 r))
-
-happyReduce_444 = happyMonadReduce 1# 116# happyReduction_444
-happyReduction_444 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokSLit _ s -> CStrLit s)}
-    ) (\r -> happyReturn (happyIn123 r))
-
-happyReduce_445 = happyMonadReduce 2# 116# happyReduction_445
-happyReduction_445 (happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    case happyOut124 happy_x_2 of { happy_var_2 ->
-    ( withNodeInfo happy_var_1 $ case happy_var_1 of CTokSLit _ s -> CStrLit (concatCStrings (s : reverse happy_var_2)))}}
-    ) (\r -> happyReturn (happyIn123 r))
-
-happyReduce_446 = happySpecReduce_1  117# happyReduction_446
-happyReduction_446 happy_x_1
-     =  case happyOutTok happy_x_1 of { happy_var_1 ->
-    happyIn124
-         (case happy_var_1 of CTokSLit _ s -> singleton s
-    )}
-
-happyReduce_447 = happySpecReduce_2  117# happyReduction_447
-happyReduction_447 happy_x_2
-    happy_x_1
-     =  case happyOut124 happy_x_1 of { happy_var_1 ->
-    case happyOutTok happy_x_2 of { happy_var_2 ->
-    happyIn124
-         (case happy_var_2 of CTokSLit _ s -> happy_var_1 `snoc` s
-    )}}
-
-happyReduce_448 = happySpecReduce_1  118# happyReduction_448
-happyReduction_448 happy_x_1
-     =  case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->
-    happyIn125
-         (happy_var_1
-    )}
-
-happyReduce_449 = happySpecReduce_1  118# happyReduction_449
-happyReduction_449 happy_x_1
-     =  case happyOutTok happy_x_1 of { (CTokTyIdent _ happy_var_1) ->
-    happyIn125
-         (happy_var_1
-    )}
-
-happyReduce_450 = happySpecReduce_0  119# happyReduction_450
-happyReduction_450  =  happyIn126
-         ([]
-    )
-
-happyReduce_451 = happySpecReduce_1  119# happyReduction_451
-happyReduction_451 happy_x_1
-     =  case happyOut127 happy_x_1 of { happy_var_1 ->
-    happyIn126
-         (happy_var_1
-    )}
-
-happyReduce_452 = happySpecReduce_1  120# happyReduction_452
-happyReduction_452 happy_x_1
-     =  case happyOut128 happy_x_1 of { happy_var_1 ->
-    happyIn127
-         (happy_var_1
-    )}
-
-happyReduce_453 = happySpecReduce_2  120# happyReduction_453
-happyReduction_453 happy_x_2
-    happy_x_1
-     =  case happyOut127 happy_x_1 of { happy_var_1 ->
-    case happyOut128 happy_x_2 of { happy_var_2 ->
-    happyIn127
-         (happy_var_1 ++ happy_var_2
-    )}}
-
-happyReduce_454 = happyReduce 6# 121# happyReduction_454
-happyReduction_454 (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 happyOut129 happy_x_4 of { happy_var_4 ->
-    happyIn128
-         (reverse happy_var_4
-    ) `HappyStk` happyRest}
-
-happyReduce_455 = happySpecReduce_1  122# happyReduction_455
-happyReduction_455 happy_x_1
-     =  case happyOut130 happy_x_1 of { happy_var_1 ->
-    happyIn129
-         (case happy_var_1 of Nothing -> empty; Just attr -> singleton attr
-    )}
-
-happyReduce_456 = happySpecReduce_3  122# happyReduction_456
-happyReduction_456 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut129 happy_x_1 of { happy_var_1 ->
-    case happyOut130 happy_x_3 of { happy_var_3 ->
-    happyIn129
-         ((maybe id (flip snoc) happy_var_3) happy_var_1
-    )}}
-
-happyReduce_457 = happySpecReduce_0  123# happyReduction_457
-happyReduction_457  =  happyIn130
-         (Nothing
-    )
-
-happyReduce_458 = happyMonadReduce 1# 123# happyReduction_458
-happyReduction_458 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->
-    ( withNodeInfo happy_var_1 $ Just . CAttr happy_var_1  [])}
-    ) (\r -> happyReturn (happyIn130 r))
-
-happyReduce_459 = happyMonadReduce 1# 123# happyReduction_459
-happyReduction_459 (happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { happy_var_1 ->
-    ( withNodeInfo happy_var_1 $ Just . CAttr (internalIdent "const") [])}
-    ) (\r -> happyReturn (happyIn130 r))
-
-happyReduce_460 = happyMonadReduce 4# 123# happyReduction_460
-happyReduction_460 (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 { (CTokIdent  _ happy_var_1) ->
-    case happyOut131 happy_x_3 of { happy_var_3 ->
-    ( withNodeInfo happy_var_1 $ Just . CAttr happy_var_1 (reverse happy_var_3))}}
-    ) (\r -> happyReturn (happyIn130 r))
-
-happyReduce_461 = happyMonadReduce 3# 123# happyReduction_461
-happyReduction_461 (happy_x_3 `HappyStk`
-    happy_x_2 `HappyStk`
-    happy_x_1 `HappyStk`
-    happyRest) tk
-     = happyThen (case happyOutTok happy_x_1 of { (CTokIdent  _ happy_var_1) ->
-    ( withNodeInfo happy_var_1 $ Just . CAttr happy_var_1 [])}
-    ) (\r -> happyReturn (happyIn130 r))
-
-happyReduce_462 = happySpecReduce_1  124# happyReduction_462
-happyReduction_462 happy_x_1
-     =  case happyOut121 happy_x_1 of { happy_var_1 ->
-    happyIn131
-         (singleton happy_var_1
-    )}
-
-happyReduce_463 = happySpecReduce_3  124# happyReduction_463
-happyReduction_463 happy_x_3
-    happy_x_2
-    happy_x_1
-     =  case happyOut131 happy_x_1 of { happy_var_1 ->
-    case happyOut121 happy_x_3 of { happy_var_3 ->
-    happyIn131
-         (happy_var_1 `snoc` happy_var_3
-    )}}
-
-happyNewToken action sts stk
-    = lexC(\tk ->
-    let cont i = happyDoAction i tk action sts stk in
-    case tk of {
-    CTokEof -> happyDoAction 101# tk action sts stk;
-    CTokLParen  _ -> cont 1#;
-    CTokRParen  _ -> cont 2#;
-    CTokLBracket    _ -> cont 3#;
-    CTokRBracket    _ -> cont 4#;
-    CTokArrow   _ -> cont 5#;
-    CTokDot _ -> cont 6#;
-    CTokExclam  _ -> cont 7#;
-    CTokTilde   _ -> cont 8#;
-    CTokInc _ -> cont 9#;
-    CTokDec _ -> cont 10#;
-    CTokPlus    _ -> cont 11#;
-    CTokMinus   _ -> cont 12#;
-    CTokStar    _ -> cont 13#;
-    CTokSlash   _ -> cont 14#;
-    CTokPercent _ -> cont 15#;
-    CTokAmper   _ -> cont 16#;
-    CTokShiftL  _ -> cont 17#;
-    CTokShiftR  _ -> cont 18#;
-    CTokLess    _ -> cont 19#;
-    CTokLessEq  _ -> cont 20#;
-    CTokHigh    _ -> cont 21#;
-    CTokHighEq  _ -> cont 22#;
-    CTokEqual   _ -> cont 23#;
-    CTokUnequal _ -> cont 24#;
-    CTokHat _ -> cont 25#;
-    CTokBar _ -> cont 26#;
-    CTokAnd _ -> cont 27#;
-    CTokOr  _ -> cont 28#;
-    CTokQuest   _ -> cont 29#;
-    CTokColon   _ -> cont 30#;
-    CTokAssign  _ -> cont 31#;
-    CTokPlusAss _ -> cont 32#;
-    CTokMinusAss    _ -> cont 33#;
-    CTokStarAss _ -> cont 34#;
-    CTokSlashAss    _ -> cont 35#;
-    CTokPercAss _ -> cont 36#;
-    CTokAmpAss  _ -> cont 37#;
-    CTokHatAss  _ -> cont 38#;
-    CTokBarAss  _ -> cont 39#;
-    CTokSLAss   _ -> cont 40#;
-    CTokSRAss   _ -> cont 41#;
-    CTokComma   _ -> cont 42#;
-    CTokSemic   _ -> cont 43#;
-    CTokLBrace  _ -> cont 44#;
-    CTokRBrace  _ -> cont 45#;
-    CTokEllipsis    _ -> cont 46#;
-    CTokAlignof _ -> cont 47#;
-    CTokAsm _ -> cont 48#;
-    CTokAuto    _ -> cont 49#;
-    CTokBreak   _ -> cont 50#;
-    CTokBool    _ -> cont 51#;
-    CTokCase    _ -> cont 52#;
-    CTokChar    _ -> cont 53#;
-    CTokConst   _ -> cont 54#;
-    CTokContinue    _ -> cont 55#;
-    CTokComplex _ -> cont 56#;
-    CTokDefault _ -> cont 57#;
-    CTokDo  _ -> cont 58#;
-    CTokDouble  _ -> cont 59#;
-    CTokElse    _ -> cont 60#;
-    CTokEnum    _ -> cont 61#;
-    CTokExtern  _ -> cont 62#;
-    CTokFloat   _ -> cont 63#;
-    CTokFor _ -> cont 64#;
-    CTokGoto    _ -> cont 65#;
-    CTokIf  _ -> cont 66#;
-    CTokInline  _ -> cont 67#;
-    CTokInt _ -> cont 68#;
-    CTokLong    _ -> cont 69#;
-    CTokLabel   _ -> cont 70#;
-    CTokRegister    _ -> cont 71#;
-    CTokRestrict    _ -> cont 72#;
-    CTokReturn  _ -> cont 73#;
-    CTokShort   _ -> cont 74#;
-    CTokSigned  _ -> cont 75#;
-    CTokSizeof  _ -> cont 76#;
-    CTokStatic  _ -> cont 77#;
-    CTokStruct  _ -> cont 78#;
-    CTokSwitch  _ -> cont 79#;
-    CTokTypedef _ -> cont 80#;
-    CTokTypeof  _ -> cont 81#;
-    CTokThread  _ -> cont 82#;
-    CTokUnion   _ -> cont 83#;
-    CTokUnsigned    _ -> cont 84#;
-    CTokVoid    _ -> cont 85#;
-    CTokVolatile    _ -> cont 86#;
-    CTokWhile   _ -> cont 87#;
-    CTokCLit   _ _ -> cont 88#;
-    CTokILit   _ _ -> cont 89#;
-    CTokFLit   _ _ -> cont 90#;
-    CTokSLit   _ _ -> cont 91#;
-    CTokIdent  _ happy_dollar_dollar -> cont 92#;
-    CTokTyIdent _ happy_dollar_dollar -> cont 93#;
-    CTokGnuC GnuCAttrTok _ -> cont 94#;
-    CTokGnuC GnuCExtTok  _ -> cont 95#;
-    CTokGnuC GnuCComplexReal _ -> cont 96#;
-    CTokGnuC GnuCComplexImag _ -> cont 97#;
-    CTokGnuC GnuCVaArg    _ -> cont 98#;
-    CTokGnuC GnuCOffsetof _ -> cont 99#;
-    CTokGnuC GnuCTyCompat _ -> cont 100#;
-    _ -> happyError' tk
-    })
-
-happyError_ tk = happyError' tk
-
-happyThen :: () => P a -> (a -> P b) -> P b
-happyThen = (>>=)
-happyReturn :: () => a -> P a
-happyReturn = (return)
-happyThen1 = happyThen
-happyReturn1 :: () => a -> P a
-happyReturn1 = happyReturn
-happyError' :: () => CToken -> P a
-happyError' tk = (\token -> happyError) tk
-
-translation_unit = happySomeParser where
-  happySomeParser = happyThen (happyParse 0#) (\x -> happyReturn (happyOut7 x))
-
-external_declaration = happySomeParser where
-  happySomeParser = happyThen (happyParse 1#) (\x -> happyReturn (happyOut9 x))
-
-statement = happySomeParser where
-  happySomeParser = happyThen (happyParse 2#) (\x -> happyReturn (happyOut12 x))
-
-expression = happySomeParser where
-  happySomeParser = happyThen (happyParse 3#) (\x -> happyReturn (happyOut117 x))
-
-happySeq = happyDontSeq
-
-
---  sometimes it is neccessary to reverse an unreversed list
-reverseList :: [a] -> Reversed [a]
-reverseList = Reversed . List.reverse
-
--- We occasionally need things to have a location when they don't naturally
--- have one built in as tokens and most AST elements do.
---
-data Located a = L !a !Position
-
-unL :: Located a -> a
-unL (L a pos) = a
-
-instance Pos (Located a) where
-  posOf (L _ pos) = pos
-
--- FIXME: the next 3 inlines here increase the object file size by  70%
--- Check whether the speed win is worth it
-{-# INLINE withNodeInfo #-}
-withNodeInfo :: Pos node => node -> (NodeInfo -> a) -> P a
-withNodeInfo node mkAttrNode = do
-  name <- getNewName
-  lastTok <- getSavedToken
-  let firstPos = posOf node
-  let attrs = mkNodeInfo' firstPos (posLenOfTok $! lastTok) name
-  attrs `seq` return (mkAttrNode attrs)
-
-{-# INLINE withLength #-}
-withLength :: NodeInfo -> (NodeInfo -> a) -> P a
-withLength nodeinfo mkAttrNode = do
-  lastTok <- getSavedToken
-  let firstPos = posOfNode nodeinfo
-  let attrs = mkNodeInfo' firstPos (posLenOfTok $! lastTok)
-              (maybe (error "nameOfNode") id (nameOfNode nodeinfo))
-  attrs `seq` return (mkAttrNode attrs)
-
-data CDeclrR = CDeclrR (Maybe Ident) (Reversed [CDerivedDeclr]) (Maybe CStrLit) [CAttr] NodeInfo
-reverseDeclr :: CDeclrR -> CDeclr
-reverseDeclr (CDeclrR ide reversedDDs asmname cattrs at)
-    = CDeclr ide (reverse reversedDDs) asmname cattrs at
-instance CNode (CDeclrR) where
-    nodeInfo (CDeclrR _ _ _ _ n) = n
-instance Pos (CDeclrR) where
-    posOf (CDeclrR _ _ _ _ n) = posOf n
-
-{-# INLINE withAttribute #-}
-withAttribute :: Pos node => node -> [CAttr] -> (NodeInfo -> CDeclrR) -> P CDeclrR
-withAttribute node cattrs mkDeclrNode = do
-  name <- getNewName
-  let attrs = mkNodeInfo (posOf node) name
-  let newDeclr = appendDeclrAttrs cattrs $ mkDeclrNode attrs
-  attrs `seq` newDeclr `seq` return newDeclr
-
--- postfixing variant
-{-# INLINE withAttributePF #-}
-withAttributePF :: Pos node => node -> [CAttr] -> (NodeInfo -> CDeclrR -> CDeclrR) -> P (CDeclrR -> CDeclrR)
-withAttributePF node cattrs mkDeclrCtor = do
-  name <- getNewName
-  let attrs = mkNodeInfo (posOf node) name
-  let newDeclr = appendDeclrAttrs cattrs . mkDeclrCtor attrs
-  attrs `seq` newDeclr `seq` return newDeclr
-
--- add top level attributes for a declarator.
---
--- In the following example
---
--- > int declr1, __attribute__((a1)) * __attribute__((a2)) y() __asm__("$" "y") __attribute__((a3));
---
--- the attributes `a1' and `a3' are top-level attributes for y.
--- The (pseudo)-AST for the second declarator is
---
--- > CDeclr "y"
--- >        [CFunDeclr ..., CPtrDeclr __attribute__((a2)) ... ]
--- >        (asm "$y")
--- >        [__attribute__((a1)), __attribute__((a3)) ]
---
--- So assembler names and preceeding and trailing attributes are recorded in object declarator.
---
-appendObjAttrs :: [CAttr] -> CDeclr -> CDeclr
-appendObjAttrs newAttrs (CDeclr ident indirections asmname cAttrs at)
-    = CDeclr ident indirections asmname (cAttrs ++ newAttrs) at
-appendObjAttrsR :: [CAttr] -> CDeclrR -> CDeclrR
-appendObjAttrsR newAttrs (CDeclrR ident indirections asmname cAttrs at)
-    = CDeclrR ident indirections asmname (cAttrs ++ newAttrs) at
-
-setAsmName :: Maybe CStrLit  -> CDeclrR -> P CDeclrR
-setAsmName mAsmName (CDeclrR ident indirections oldName cattrs at) =
-    case combineName mAsmName oldName of
-        Left (n1,n2)       -> failP (posOf n2) ["Duplicate assembler name: ",showName n1,showName n2]
-        Right newName      -> return $ CDeclrR ident indirections newName cattrs at
-  where
-  combineName Nothing Nothing = Right Nothing
-  combineName Nothing oldname@(Just _)  = Right oldname
-  combineName newname@(Just _) Nothing  = Right newname
-  combineName (Just n1) (Just n2) = Left (n1,n2)
-  showName (CStrLit cstr _) = show cstr
-
-withAsmNameAttrs :: (Maybe CStrLit, [CAttr]) -> CDeclrR -> P CDeclrR
-withAsmNameAttrs (mAsmName, newAttrs) declr = setAsmName mAsmName (appendObjAttrsR newAttrs declr)
-
-appendDeclrAttrs :: [CAttr] -> CDeclrR -> CDeclrR
-appendDeclrAttrs newAttrs (CDeclrR ident (Reversed []) asmname cattrs at)
-    = CDeclrR ident empty asmname (cattrs ++ newAttrs) at
-appendDeclrAttrs newAttrs (CDeclrR ident (Reversed (x:xs)) asmname cattrs at)
-    = CDeclrR ident (Reversed (appendAttrs x : xs)) asmname cattrs at where
-    appendAttrs (CPtrDeclr typeQuals at)           = CPtrDeclr (typeQuals ++ map CAttrQual newAttrs) at
-    appendAttrs (CArrDeclr typeQuals arraySize at) = CArrDeclr (typeQuals ++ map CAttrQual newAttrs) arraySize at
-    appendAttrs (CFunDeclr parameters cattrs at)   = CFunDeclr parameters (cattrs ++ newAttrs) at
-
-ptrDeclr :: CDeclrR -> [CTypeQual] -> NodeInfo -> CDeclrR
-ptrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals at
-    = CDeclrR ident (derivedDeclrs `snoc` CPtrDeclr tyquals at) asmname cattrs dat
-funDeclr :: CDeclrR -> (Either [Ident] ([CDecl],Bool)) -> [CAttr] -> NodeInfo -> CDeclrR
-funDeclr (CDeclrR ident derivedDeclrs asmname dcattrs dat) params cattrs at
-    = CDeclrR ident (derivedDeclrs `snoc` CFunDeclr params cattrs at) asmname dcattrs dat
-arrDeclr :: CDeclrR -> [CTypeQual] -> Bool -> Bool -> Maybe CExpr -> NodeInfo -> CDeclrR
-arrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals var_sized static_size size_expr_opt at
-    = arr_sz `seq` ( CDeclrR ident (derivedDeclrs `snoc` CArrDeclr tyquals arr_sz at) asmname cattrs dat )
-    where
-    arr_sz = case size_expr_opt of
-                 Just e  -> CArrSize static_size e
-                 Nothing -> CNoArrSize var_sized
-
-liftTypeQuals :: Reversed [CTypeQual] -> [CDeclSpec]
-liftTypeQuals = map CTypeQual . reverse
-
--- lift CAttrs to DeclSpecs
---
-liftCAttrs :: [CAttr] -> [CDeclSpec]
-liftCAttrs = map (CTypeQual . CAttrQual)
-
--- when we parsed (decl_spec_1,...,decl_spec_n,attrs), add the __attributes__s to the declspec list
--- needs special care when @decl_spec_n@ is a SUE definition
-addTrailingAttrs :: Reversed [CDeclSpec] -> [CAttr] -> Reversed [CDeclSpec]
-addTrailingAttrs declspecs new_attrs =
-    case viewr declspecs of
-        (specs_init, CTypeSpec (CSUType (CStruct tag name (Just def) def_attrs su_node) node))
-            -> (specs_init `snoc` CTypeSpec (CSUType (CStruct tag name (Just def) (def_attrs ++ new_attrs) su_node) node))
-        (specs_init, CTypeSpec (CEnumType (CEnum name (Just def) def_attrs e_node) node))
-            -> (specs_init `snoc` CTypeSpec (CEnumType (CEnum name (Just def) (def_attrs ++ new_attrs) e_node) node))
-        _ -> declspecs `rappend` (liftCAttrs new_attrs)
-
--- convenient instance, the position of a list of things is the position of
--- the first thing in the list
---
-instance Pos a => Pos [a] where
-  posOf (x:_) = posOf x
-
-instance Pos a => Pos (Reversed a) where
-  posOf (Reversed x) = posOf x
-
-emptyDeclr :: CDeclrR
-emptyDeclr       = CDeclrR Nothing empty Nothing [] undefNode
-mkVarDeclr :: Ident -> NodeInfo -> CDeclrR
-mkVarDeclr ident = CDeclrR (Just ident) empty Nothing []
-
--- Take the identifiers and use them to update the typedef'ed identifier set
--- if the decl is defining a typedef then we add it to the set,
--- if it's a var decl then that shadows typedefed identifiers
---
-doDeclIdent :: [CDeclSpec] -> CDeclrR -> P ()
-doDeclIdent declspecs (CDeclrR mIdent _ _ _ _) =
-  case mIdent of
-    Nothing -> return ()
-    Just ident | any iypedef declspecs -> addTypedef ident
-               | otherwise             -> shadowTypedef ident
-
-  where iypedef (CStorageSpec (CTypedef _)) = True
-        iypedef _                           = False
-
-doFuncParamDeclIdent :: CDeclr -> P ()
-doFuncParamDeclIdent (CDeclr _ (CFunDeclr params _ _ : _) _ _ _) =
-  sequence_
-    [ case getCDeclrIdent declr of
-        Nothing -> return ()
-        Just ident -> shadowTypedef ident
-    | CDecl _ dle _  <- either (const []) fst params
-    , (Just declr, _, _) <- dle ]
-doFuncParamDeclIdent _ = return ()
-
--- extract all identifiers
-getCDeclrIdent :: CDeclr -> Maybe Ident
-getCDeclrIdent (CDeclr mIdent _ _ _ _) = mIdent
-
-happyError :: P a
-happyError = parseError
-
--- * public interface
-
--- | @parseC input initialPos@ parses the given preprocessed C-source input and returns the AST or a list of parse errors.
-parseC :: InputStream -> Position -> Either ParseError CTranslUnit
-parseC input initialPosition =
-  fmap fst $ execParser translUnitP input initialPosition builtinTypeNames (namesStartingFrom 0)
-
--- | @translUnitP@ provides a parser for a complete C translation unit, i.e. a list of external declarations.
-translUnitP :: P CTranslUnit
-translUnitP = translation_unit
--- | @extDeclP@ provides a parser for an external (file-scope) declaration
-extDeclP :: P CExtDecl
-extDeclP = external_declaration
--- | @statementP@ provides a parser for C statements
-statementP :: P CStat
-statementP = statement
--- | @expressionP@ provides a parser for C expressions
-expressionP :: P CExpr
-expressionP = expression
-{-# LINE 1 "GenericTemplate.hs" #-}
-{-# LINE 1 "<built-in>" #-}
-{-# LINE 1 "<command line>" #-}
-{-# LINE 1 "GenericTemplate.hs" #-}
--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp
-
-{-# LINE 28 "GenericTemplate.hs" #-}
-
-
-data Happy_IntList = HappyCons Int# Happy_IntList
-
-
-
-
-
-{-# LINE 49 "GenericTemplate.hs" #-}
-
-{-# LINE 59 "GenericTemplate.hs" #-}
-
-{-# LINE 68 "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 i tk st
-        -1#       -> {- nothing -}
-                     happyAccept i tk st
-        n | (n <# (0# :: Int#)) -> {- nothing -}
-
-                     (happyReduceArr ! rule) i tk st
-                     where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))
-        n         -> {- nothing -}
-
-
-                     happyShift new_state i tk st
-                     where new_state = (n -# (1# :: Int#))
-   where off    = indexShortOffAddr happyActOffsets st
-         off_i  = (off +# i)
-         check  = if (off_i >=# (0# :: Int#))
-                    then (indexShortOffAddr happyCheck off_i ==#  i)
-                    else False
-         action | check     = indexShortOffAddr happyTable off_i
-                | otherwise = indexShortOffAddr happyDefActions st
-
-{-# LINE 127 "GenericTemplate.hs" #-}
-
-
-indexShortOffAddr (HappyA# arr) off =
--- #if __GLASGOW_HASKELL__ > 500
-    narrow16Int# i
--- #elif __GLASGOW_HASKELL__ == 500
-    intToInt16# i
--- #else
-    (i `iShiftL#` 16#) `iShiftRA#` 16#
--- #endif
-  where
--- #if __GLASGOW_HASKELL__ >= 503
-    i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)
--- #else
-    i = word2Int# ((high `shiftL#` 8#) `or#` low)
--- #endif
-    high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))
-    low  = int2Word# (ord# (indexCharOffAddr# arr off'))
-    off' = off *# 2#
-
-
-
-
-
-data HappyAddr = HappyA# Addr#
-
-
-
-
------------------------------------------------------------------------------
--- HappyState data type (not arrays)
-
-{-# LINE 170 "GenericTemplate.hs" #-}
-
------------------------------------------------------------------------------
--- Shifting a token
-
-happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =
-     let i = (case unsafeCoerce# x of { (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 -# (1# :: 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 =
-        happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))
-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))
-             drop_stk = happyDropStk k 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 =
-       happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))
-       where sts1@((HappyCons (st1@(action)) (_))) = happyDrop k (HappyCons (st) (sts))
-             drop_stk = happyDropStk k stk
-
-             off    = indexShortOffAddr happyGotoOffsets st1
-             off_i  = (off +# nt)
-             new_state = indexShortOffAddr happyTable off_i
-
-
-
-
-happyDrop 0# l = l
-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t
-
-happyDropStk 0# l = l
-happyDropStk n (x `HappyStk` xs) = happyDropStk (n -# (1#::Int#)) xs
-
------------------------------------------------------------------------------
--- Moving to a new state after a reduction
-
-
-happyGoto nt j tk st =
-   {- nothing -}
-   happyDoAction j tk new_state
-   where off    = indexShortOffAddr happyGotoOffsets st
-         off_i  = (off +# 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  0# tk old_st _ stk =
---  trace "failing" $
-        happyError_ 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  i tk (action) sts stk =
---      trace "entering error recovery" $
-    happyDoAction 0# tk action sts ( (unsafeCoerce# (I# (i))) `HappyStk` stk)
-
--- Internal happy errors:
-
-notHappyAtAll = error "Internal Happy error\n"
-
------------------------------------------------------------------------------
--- Hack to get the typechecker to accept our action functions
-
-
-happyTcHack :: 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.
diff --git a/tests/examples/CParser.hs.exactprinter.golden b/tests/examples/CParser.hs.exactprinter.golden
deleted file mode 100644
--- a/tests/examples/CParser.hs.exactprinter.golden
+++ /dev/null
@@ -1,1 +0,0 @@
-Match
diff --git a/tests/examples/CParser.hs.parser.golden b/tests/examples/CParser.hs.parser.golden
deleted file mode 100644
# file too large to diff: tests/examples/CParser.hs.parser.golden
diff --git a/tests/examples/CParser.hs.prettyparser.golden b/tests/examples/CParser.hs.prettyparser.golden
deleted file mode 100644
--- a/tests/examples/CParser.hs.prettyparser.golden
+++ /dev/null
@@ -1,10 +0,0 @@
-Roundtrip test failed
-
-AST 1:
-
-Module (SrcLoc "" -1 -1) (ModuleName "Language.C.Parser.Parser") [OptionsPragma (SrcLoc "" -1 -1) Nothing "-fglasgow-exts -cpp ",LanguagePragma (SrcLoc "" -1 -1) [Ident "MagicHash"]] Nothing (Just [EVar (UnQual (Ident "parseC")),EVar (UnQual (Ident "translUnitP")),EVar (UnQual (Ident "extDeclP")),EVar (UnQual (Ident "statementP")),EVar (UnQual (Ident "expressionP"))]) [ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (True,[IVar (Ident "reverse")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Data.List", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName "List"), importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "mplus")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Builtin", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "builtinTypeNames")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Lexer", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "lexC"),IVar (Ident "parseError")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Tokens", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IThingAll (Ident "CToken"),IThingAll (Ident "GnuCTok"),IVar (Ident "posLenOfTok")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.ParserMonad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs NoNamespace (Ident "P"),IVar (Ident "failP"),IVar (Ident "execParser"),IVar (Ident "getNewName"),IVar (Ident "addTypedef"),IVar (Ident "shadowTypedef"),IVar (Ident "getCurrentPosition"),IVar (Ident "enterScope"),IVar (Ident "leaveScope"),IVar (Ident "getLastToken"),IVar (Ident "getSavedToken"),IThingAll (Ident "ParseError")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.RList", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.InputStream", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Ident", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Name", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Node", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Position", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Syntax", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Data.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "GHC.Exts", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "GlaExts", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [DataDecl (SrcLoc "" -1 -1) NewType [] (Ident "HappyAbsSyn") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyAbsSyn") [TyParen (TyFun (TyCon (Special UnitCon)) (TyCon (Special UnitCon)))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "happyIn7"] (TyFun (TyParen (TyCon (UnQual (Ident "CTranslUnit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn7")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut7"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTranslUnit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut7")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn8"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn8")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut8"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut8")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn9"] (TyFun (TyParen (TyCon (UnQual (Ident "CExtDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn9")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut9"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExtDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut9")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn10"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn10")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut10"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut10")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn11"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn11")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut11"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut11")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn12"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn12")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut12"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut12")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn13"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn13")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut13"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut13")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn14"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn14")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut14"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut14")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn15"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn15")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut15"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut15")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn16"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn16")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut16"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut16")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn17"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn17")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut17"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut17")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn18"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn18")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut18"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut18")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn19"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn19")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut19"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut19")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn20"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn20")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut20"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut20")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn21"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn21")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut21"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut21")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn22"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn22")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut22"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut22")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn23"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn23")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut23"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut23")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn24"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn24")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut24"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut24")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn25"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn25")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut25"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut25")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn26"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmStmt")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn26")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut26"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmStmt"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut26")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn27"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn27")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut27"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut27")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn28"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn28")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut28"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut28")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn29"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn29")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut29"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut29")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn30"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmOperand")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn30")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut30"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmOperand"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut30")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn31"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn31")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut31"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut31")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn32"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn32")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut32"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut32")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn33"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn33")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut33"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut33")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn34"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn34")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut34"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut34")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn35"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn35")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut35"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut35")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn36"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn36")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut36"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut36")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn37"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn37")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut37"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut37")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn38"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn38")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut38"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut38")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn39"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn39")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut39"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut39")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn40"] (TyFun (TyParen (TyCon (UnQual (Ident "CStorageSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn40")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut40"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStorageSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut40")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn41"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn41")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut41"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut41")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn42"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn42")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut42"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut42")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn43"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn43")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut43"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut43")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn44"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn44")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut44"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut44")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn45"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn45")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut45"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut45")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn46"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn46")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut46"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut46")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn47"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn47")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut47"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut47")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn48"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn48")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut48"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut48")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn49"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn49")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut49"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut49")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn50"] (TyFun (TyParen (TyCon (UnQual (Ident "CStructUnion")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn50")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut50"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStructUnion"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut50")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn51"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn51")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut51"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut51")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn52"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn52")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut52"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut52")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn53"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn53")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut53"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut53")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn54"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn54")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut54"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut54")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn55"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn55")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut55"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut55")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn56"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn56")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut56"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut56")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn57"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn57")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut57"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut57")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn58"] (TyFun (TyParen (TyCon (UnQual (Ident "CEnum")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn58")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut58"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CEnum"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut58")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn59"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn59")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut59"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut59")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn60"] (TyFun (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn60")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut60"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut60")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn61"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeQual")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn61")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut61"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeQual"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut61")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn62"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn62")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut62"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut62")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn63"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn63")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut63"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut63")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn64"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn64")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut64"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut64")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn65"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn65")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut65"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut65")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn66"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn66")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut66"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut66")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn67"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn67")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut67"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut67")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn68"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn68")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut68"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut68")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn69"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn69")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut69"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut69")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn70"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn70")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut70"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut70")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn71"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn71")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut71"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut71")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn72"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn72")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut72"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut72")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn73"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn73")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut73"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut73")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn74"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn74")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut74"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut74")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn75"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn75")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut75"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut75")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn76"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn76")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut76"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut76")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn77"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn77")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut77"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut77")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn78"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn78")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut78"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut78")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn79"] (TyFun (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn79")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut79"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut79")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn80"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn80")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut80"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut80")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn81"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn81")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut81"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut81")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn82"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn82")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut82"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut82")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn83"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn83")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut83"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut83")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn84"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn84")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut84"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut84")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn85"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn85")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut85"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut85")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn86"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn86")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut86"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut86")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn87"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn87")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut87"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut87")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn88"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn88")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut88"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut88")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn89"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn89")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut89"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut89")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn90"] (TyFun (TyParen (TyCon (UnQual (Ident "CInit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn90")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut90"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CInit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut90")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn91"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn91")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut91"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut91")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn92"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn92")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut92"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut92")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn93"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDesignator"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn93")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut93"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDesignator")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut93")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn94"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn94")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut94"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut94")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn95"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn95")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut95"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut95")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn96"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn96")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut96"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut96")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn97"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn97")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut97"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut97")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn98"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn98")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut98"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut98")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn99"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn99")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut99"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut99")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn100"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn100")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut100"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut100")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn101"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn101")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut101"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut101")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn102"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn102")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut102"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut102")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn103"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn103")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut103"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut103")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn104"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn104")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut104"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut104")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn105"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn105")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut105"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut105")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn106"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn106")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut106"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut106")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn107"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn107")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut107"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut107")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn108"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn108")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut108"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut108")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn109"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn109")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut109"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut109")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn110"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn110")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut110"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut110")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn111"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn111")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut111"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut111")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn112"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn112")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut112"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut112")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn113"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn113")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut113"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut113")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn114"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn114")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut114"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut114")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn115"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn115")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut115"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut115")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn116"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn116")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut116"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut116")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn117"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn117")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut117"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut117")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn118"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn118")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut118"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut118")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn119"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn119")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut119"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut119")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn120"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn120")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut120"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut120")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn121"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn121")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut121"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut121")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn122"] (TyFun (TyParen (TyCon (UnQual (Ident "CConst")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn122")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut122"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CConst"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut122")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn123"] (TyFun (TyParen (TyCon (UnQual (Ident "CStrLit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn123")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut123"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStrLit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut123")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn124"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn124")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut124"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut124")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn125"] (TyFun (TyParen (TyCon (UnQual (Ident "Ident")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn125")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut125"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut125")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn126"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn126")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut126"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut126")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn127"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn127")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut127"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut127")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn128"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn128")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut128"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut128")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn129"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn129")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut129"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut129")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn130"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn130")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut130"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut130")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn131"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn131")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut131"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut131")),TypeSig (SrcLoc "" -1 -1) [Ident "happyInTok"] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyInTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyInTok")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOutTok"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyCon (UnQual (Ident "CToken")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOutTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOutTok")),TypeSig (SrcLoc "" -1 -1) [Ident "happyActOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyActOffsets")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\GS\SI\211\t1\SI\NUL\NUL\128\a\NUL\NUL\DEL\tw\SI1\SI\NUL\NUL\200\t\US\ENQ\ENQ\ENQ\DEL\ETX\240\EOTe\bT\bI\b>\b\198\EOT\NUL\NUL+\b\239\a\NUL\NUL\NUL\NUL\v\t\NUL\NUL\NUL\NUL\205\SO\205\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\EOT\175\SO\150\SO\NUL\NUL\NUL\NUL\NUL\NUL\246\a\NUL\NUL2\SO\DC4\SO\DC4\SO\&H\bG\b$\b\182\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\a\230\a\NUL\NUL\NUL\NULJ\ENQ\210\a\251\r\208\a\214\a\211\t\245\a$\NUL\237\a\251\r\236\a\213\a\198\a\NUL\NULv\a\NUL\NUL\174\a\NUL\NUL\149\EOT\142\EOT\SOH\SOH\213\DC1\NUL\NUL\SOH\SOH\NUL\NUL\154\EM\154\EM\DC1\CAN\SOH\CAN!\b!\b\NUL\NUL\NUL\NULq\a\NUL\NUL\166\DC1\NUL\NUL\NUL\NUL\NUL\NUL\217\SOH\NUL\NUL\NUL\NUL\NUL\NULJ\ENQ\137\DC2\NUL\NUL=\SOH=\SOH\203\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULk\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\187\a\GS\SIU\a\NUL\NUL\184\ao\tz\SOHY\a[\a\179\DC2\NUL\NUL\NUL\NULK\NUL\178\a\180\t\170\aK\NUL\134\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL\167\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL8\CAN\NUL\NUL\157\a\NUL\NUL\148\CAN\255\nr\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULw\DC1\151\a\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULg\a_\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULb\a\NUL\NULn\STXH\STX\SI\NULR\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL{\a\NUL\NULO\aS\a\NUL\NUL\ESC\a\NUL\NUL\ESC\a\NUL\NUL\NUL\NUL\251\r\251\r\NUL\NULM\a\251\rA\a\251\r\NUL\NULC\b\DC4\a\211\t\NUL\NUL\NUL\NUL\NUL\NUL\US\NUL\NUL\NULe\a\NUL\NUL.\a\244\ACK\NUL\NUL\195\SUB\195\SUB\251\r\NUL\NUL\v\t\NUL\NUL\NUL\NUL\240\ACK\NUL\NUL\NUL\NUL\v\t\NUL\NUL\v\t\NUL\NUL\NUL\NUL\NUL\NULN\a\151\ETX\231\SUB\171\EOT\171\EOTz\nL\aK\a\159\SUB\251\r\251\r\151\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\r\251\r6\EOT6\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\an\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\t\163\t\138\EOT\138\EOTO\EOTO\EOTO\EOTO\EOT\DEL\ETX\DEL\ETX\GS\EOT5\a+\a\SYN\a\f\a\251\r%\a\NUL\NUL\251\ACK\NUL\NULa\r\NUL\NUL\NUL\NUL\NUL\NUL\183\ACKW\SUB3\SUBH\DC1\NUL\SI\NUL\NUL\NUL\NUL\SI\a\SO\a\NUL\NUL\243\ACK\221\ACK\219\ACK\199\ACK\211\t\223\a\173\ACK\148\ACK|\ACK\211\t\251\r\NUL\NUL\203\ACKl\EM\171\ACK\167\ACK\NUL\NUL\196\ACK\NUL\NUL\195\ACK\193\ACK\234\NUL\216\NUL8\CAN\161\ACK]\ACK\170\ACK\NUL\NULo\t8\CAN\134\ACK\NUL\NUL\NUL\NUL\RS\EM[\v\NUL\NUL\NUL\NUL\177\SOH\147\SOH\142\ACK\136\ACK\SI\NULG\NUL\147\SOH\NUL\NUL8\CANf\ACK\NUL\NULI\ACK\NUL\NULo\t>\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULb\ACK\NUL\NUL8\CAN=\ACK\NUL\NUL\155\n\NUL\NUL)\ACK\224\v\t\NUL\206\ENQt\STX\255\SIt\STX!\b!\b\208\SI$\ACK\251\ENQ\NUL\NUL\ESC\SOHE\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\EM\DC1\216\NUL\234\DLEZ\DC2o\t8\CAN\EOT\ACK\NUL\NUL\EM\ACK\158\t\DC2\NUL\DC2\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\220\f\t\ACK\244\ENQ\204\ETX\ETX\ACK\254\ENQw\NUL\202\NUL\NUL\NUL\NUL\NUL\239\ENQ\NUL\NUL\NUL\NUL\205\STX\NUL\NUL\203\ENQ\204\ETX\170\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\220\fK\t\NUL\NUL\SI\NUL\NUL\NUL\253\f\NUL\NUL\200\ENQ\193\ENQ\140\ENQ\140\ENQ\187\DLE\NUL\NUL\241\NUL\201\NUL\140\ENQ\NUL\NULV\ENQf\CAN\NUL\NULS\ENQ\NUL\NUL\240\CAN\194\CAN\161\SI\222\DC2S\ENQS\ENQ\NUL\NULr\SII\aS\ENQ\NUL\NULS\ENQS\ENQ\NUL\NUL\171\EOTb\f\157\ENQ\155\ENQ\t\NUL\NUL\NUL\144\ENQF\ENQ7\n\t\NUL\NUL\NUL\NUL\NULo\t8\CANm\ENQ\NUL\NUL\143\ENQ\141\ENQ\220\ETB\NUL\NUL\NUL\NUL\NUL\NUL/\t\132\ENQ\SO\NUL\190\NUL\131\ENQ\SI\NUL\SI\NUL,\t\NUL\NUL\NUL\NUL\NUL\NUL\227\ne\NUL\NUL\NUL\NUL\NUL\129\ENQy\ENQ\DLE\ENQ\NUL\NUL\NUL\NUL\NUL\NUL5\ENQ5\ENQ\211\t\211\t\211\t\NUL\NUL\251\r\251\r\251\rB\ENQ\NUL\NUL\170\SOH\201\ETX\223\a\242\EOT\NUL\NUL#\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\140\DLE\216\NUL]\DLE-\ENQ\167\b\NUL\NUL{\SUB\154\ETX{\SUB\FS\ENQ\FS\ENQ\FS\ENQ0\f\NUL\NUL\162\t1\ENQ/\ENQ-\NUL3\DC2\NUL\NUL\NUL\NUL\254\v\251\r\NUL\NUL\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\STX\253\f\220\STX\NUL\NUL\153\SOH\NUL\NUL\212\EOT\251\r\154\ETX\254\v!\ENQ\r\ENQ\DC3\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\EOT\t\ENQ\237\STX\NUL\NUL\249\EOT\NUL\NUL\192\EOT.\DLE\192\EOT\192\EOT\192\EOT\NUL\NUL\163\ETX\137\EOT\NUL\NUL\162\EOT*\NUL\211\t\199\EOT\156\EOT\151\EOT\DEL\EOT\NUL\NUL\NUL\NUL\136\EOT\136\EOT\161\EOT\NUL\NUL\NUL\NUL\"\t\NUL\NUL\NUL\NUL+\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\224\n\SI\NUL\NUL\NUL\175\ETB\212\STX\NUL\NUL\160\ETX\152\ETX\SI\SUB\194\DC2\NUL\NUL\NUL\NUL\190\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\159\EOT\154\EOT\139\EOT\134\EOT\t\NUL\n\EOT\NUL\NULz\EOT\NUL\NUL\NUL\NULh\EOT\251\r\NUL\NUL\NUL\NUL\NUL\NUL\180\EOT\159\NUL\EOT\DC2\NUL\NUL\NUL\NUL\220\n>\t$\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\US\SOH+\NUL+\NUL\SYN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\STX\251\r\244\NUL\NUL\NUL\228\fd\EOTw\NUL\NUL\NUL\NUL\NUL\NUL\NUL\168\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\NUL\NUL\NUL+\NUL_\SOH\205\NUL>\EOT\NUL\NUL\NUL\NUL\251\r<\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\221\ETX\ESC\EOT\251\r\158\NUL\235\EM\200\ETX\NUL\NUL\200\ETX\NUL\NUL\200\ETX\ACK\EOT\251\r\NUL\NUL\NUL\NUL\205\NUL\US\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\211\t\251\r\251\r\245\ETX\NUL\NUL\n\SOH\239\ETX\NUL\NUL\SUB\EOTI\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\223\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r@\ETX\NUL\NUL\NUL\NUL\NUL\NUL\SI\NUL\NUL\NUL\151\SOH\NUL\NUL\DLE\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\v\NUL\NUL\NUL\NUL\128\f\NUL\NUL\NUL\NUL\251\rc\v\NUL\NUL\NUL\NUL\NUL\NUL\ETX\EOT\NUL\NUL\SOH\EOT\225\ETX\251\r*\NUL\182\ETX*\NUL\NUL\NUL\216\ETX\211\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\158\NUL\212\STXj\ETX\NUL\NUL\251\r\NUL\NUL\NUL\NUL\185\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NULJ\ETXJ\ETX\NUL\NUL\211\t\211\t\213\NUL\NUL\NUL\NUL\NUL\168\ETX;\ETX;\ETX\NUL\NUL\NUL\NULz\ETX\NUL\NUL\NUL\NULt\ETXr\ETX\NUL\NULF\ETX\v\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\NUL\NUL\NUL\NUL\NUL\251\r\251\rl\ETX[\ETX\ETB\ETX\233\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyGotoOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyGotoOffsets")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "6\ETXq\NUL\211\ACK\198\GS<\ETX8\NUL\NUL\NUL\NUL\NUL\197\STX5\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\NUL\NUL\NUL\NULq\r\164\v\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\STX\213\n\185\n\NUL\NUL\NUL\NUL\NUL\NUL\167\STX\NUL\NUL \f\190\ETX`\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\ETX\SUB\NUL\NUL\NULv\US\NUL\NUL\NUL\NUL\184\ACK\NUL\NUL\149\STX\NUL\NULL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\ETX\NUL\NUL\NUL\NUL\NUL\NUL*\ACK\195\NUL\NUL\NUL\138\ENQ\NUL\NUL\DC4\NUL\SYN\SOHl\STX}\SOH\162\SOH\203\NUL\NUL\NUL\NUL\NUL\150\b\NUL\NUL\154\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\b\226\STX\NUL\NUL\NUL\NUL\187\STX\NAK\SOH\NUL\NUL\168\n\215\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\\\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\255\255\NUL\NUL\NUL\NUL\NUL\NUL\202\NAKq\STX]\STXj\STXw\b\NUL\NUL\NUL\NULp\STX\NUL\NUL[\b\NUL\NUL@\NUL\198\STX\NUL\NUL\NUL\NUL\NUL\NULR\STX\158\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\173\EOT\NUL\NULf\STX\NUL\NUL\168\DC3\SYN\ETB\169\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULQ\STX\144\STX\236\NUL\NUL\NUL\NUL\NUL\SUB\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\STXO\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\STX\154\DC3\232\SYN5\bu\STX\NUL\NUL\NUL\NUL\NUL\NULJ\STX\\\STX\NUL\NUL\NUL\NUL\NUL\NULb\STX1\STXV\STX\243\a\NUL\NUL\238\a\NUL\NUL\NUL\NUL\171\GS\144\GS\NUL\NUL\NUL\NULu\GS\NUL\NULZ\GS\NUL\NUL\152\ACK\NUL\NULN\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\235\SOH\233\a\NUL\NUL{\SYNS\SYN[\US\NUL\NUL\231\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\193\STX\NUL\NUL[\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULi\ENQ\155\NULx\NULP\NUL\137\SYN\NUL\NUL\NUL\NUL\172\ETX?\GS\199\US$\GS\226\US\b\NAK\132\NAK\253\US\241\vo\v\240\f\187\f@\f:\v\155\f\SUB\v\252\a&\a\193\v,\n\157\t\NUL\NUL@\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t\GS\238\FS\219\SOH\205\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\a\NUL\NUL\NUL\NUL\NUL\NUL\198\SOHa\EOT\NUL\NULs\DC3\218\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL3\ACK5\STX3\STX\234\SOH~\SOH\CAN\ACK%\US\NUL\NUL\NUL\NUL\166\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\ETX\145 \135\EOT\221\SOH\206\a\NUL\NUL\NUL\NUL\166\NAKL\EOT\183\SOH\NUL\NUL\NUL\NUL\218\DC3&\ETX\NUL\NUL\NUL\NULl\ENQ0\DC3\NUL\NUL\NUL\NUL\162\a6\STX\182\v\NUL\NUL&\EOT\160\SOH\NUL\NUL\NUL\NUL\167\SOHN\NAK\199\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL.\STX\176\SOH\NUL\NUL\NUL\NUL\235\ETX`\SOH\NUL\NUL\169\SYN\NUL\NUL\NUL\NUL\196\ESCj\a\DC4\SOH@ \CAN\DC4( \159\SOH\CAN\NUL,\DC4\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\166\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132 G\aw h\DC4\175\DC4*\NAK\197\ETXM\SOH\NUL\NUL\NUL\NULs\a\211\SOH\235\EOT'\a\NUL\NUL \a\NUL\NUL\NAK\a\NUL\NUL\NUL\NUL\191\ETX\NUL\NUL\NUL\NUL\185\SOH\NUL\NUL\NUL\NUL\253\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\EOT\NAK\a\NUL\NUL\217\ACK\NUL\NUL\169\ESC\NUL\NUL\NUL\NUL\NUL\NUL\SYN\STX\247\SOH\169\DC4\NUL\NULo\DC3\r\SO\244\SOH\NUL\NUL\NUL\NUL\n\DC4\NUL\NUL\150\ACK\NUL\NUL\NUL\EOT\NUL\NUL>\DC3`\ETBv\ACKh\ACK\NUL\NUL\ACK\DC3Y\ETB+\ACK\NUL\NUL\DLE\ACK\226\ENQ\NUL\NUL\219\NULb\ETB\NUL\NUL\NUL\NUL\223\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\224\SYN\217\ENQ\NUL\NUL\NUL\NUL\210\DC4d\ETXB\SOH\NUL\NUL\NUL\NUL\NUL\NUL1\SYN\\\SOH\NUL\NUL\NUL\NUL\255\ENQ\NUL\NUL\249\b`\a\NUL\NUL\241\ENQ\228\ENQ\225\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\146\f\CAN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOHW\SOH\174\ENQ\147\ENQx\ENQ\NUL\NUL1\FS\SYN\FS\211\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\192\SOH3\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULT\tC\SOH\196\a>\SOH\NUL\NUL6\a\NUL\NUL@\SYN\213\255\225\DC4\NUL\NUL\NUL\NUL\NUL\NUL\199\STX\NUL\NUL\138\STX\NUL\NUL\NUL\NUL\249\NUL\150\DC4\NUL\NUL\NUL\NUL\DC3\ESC\n\US\NUL\NUL\145\US\NUL\NUL\239\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\142\ESC\157\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\212\RS\211\NUL\241\SUB\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\180\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\SOHg\SOH6\SOH\GS\SOH\ETB\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\244\255\SO\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\128\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\ENQ\NUL\NUL\NUL\NULk\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\t\\\ENQ\NUL\NUL1\SYNj \NUL\NUL\NUL\NUL\NUL\NUL\EOT\EOT\185\SYN\NUL\NUL\NUL\NUL\"\SYN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\EOT\176\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\RS\NUL\NUL\NUL\NUL\NUL\NUL\SUB\ETB\250\ENQd\DC4\NUL\NUL\NUL\NUL\128\SYN\154\ACK\202\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\195\STX\170\r6\r\250\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\158\RS\217\255\NUL\NULP\ESC\NUL\NULM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\145\ACK\191\ETXZ\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\131\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL(\NUL\NUL\NULh\RSW\EOTa\EOTx\EOT\NUL\NUL\t\EOT\NUL\NUL\134\ETX\NUL\NULM\RS\NUL\NUL\NUL\NULZ\ENQ\171\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\243\EOT\251\ESC\224\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\FSD\NUL\NUL\NUL\NUL\NUL\NUL\NUL,\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\ESC\NUL\NUL\NUL\NULs\ESC\NUL\NUL\NUL\NUL2\RS5\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\157\FS\245\255\NUL\NUL\241\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETB\RS\NUL\NUL_\ETX[ \208\255\NUL\NUL\252\GS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\225\GS\NUL\NUL\NUL\NUL\NUL\NUL\236\SOH\208\255\NUL\NUL\214\EOT\158\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL2\NUL\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\249\255I\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\FSg\FS\NUL\NUL\NUL\NUL\NUL\NUL\145\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyDefActions"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyDefActions")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\250\255=\254\NUL\NUL\NUL\NUL\NUL\NUL=\254\155\254\143\254}\254\NUL\NUL{\254w\254t\254q\254l\254i\254g\254e\254c\254a\254_\254\\\254O\254\NUL\NUL\165\254\164\254=\254~\254\DEL\254\NUL\NUL\NUL\NUL\129\254\128\254\130\254\131\254\NUL\NUL\NUL\NUL\NUL\NULE\254F\254D\254C\254\166\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\255\227\255\226\255\225\255\224\255\223\255\222\255\NUL\NUL\NUL\NUL\199\255\215\255\181\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULK\254\NUL\NUL\NUL\NUL\166\254>\254\NUL\NUL\247\255\NUL\NUL\246\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\152\255\NUL\NULw\255\155\255\138\255\154\255\137\255\153\255\136\255l\255R\255=\254Q\255\NUL\NUL\229\255\n\255\b\255\t\255\166\255\251\254\250\254\NUL\NUL<\254;\254\NUL\NUL=\254\NUL\NUL\141\255~\255\134\255}\255\129\255=\254\143\255\130\255\132\255\131\255\140\255\133\255\128\255\142\255M\255\144\255\NUL\NUL\139\255L\255\DEL\255\135\255\254\254`\255\NUL\NUL=\254\NUL\NUL\245\255\NUL\NUL=\254\NUL\NUL<\254\NUL\NUL\NUL\NUL\a\255\249\254<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\151\255v\255k\255&\255\166\255:\254\NUL\NULZ\255+\255/\255,\255-\255.\255=\254\ETX\255\215\254\213\254\244\254I\254\NUL\NUL\150\255u\255j\255*\255&\255\166\255\NUL\NUL\NUL\NUL]\255\NUL\NULf\255T\255S\255b\255\146\255\145\255a\255o\255h\255g\255\169\255n\255m\255\170\255{\255r\255s\255q\255z\255y\255x\255\NUL\NUL&\255'\255#\255 \255\US\255$\255\SYN\255(\255\166\255\NUL\NUL=\254\"\255\NUL\NUL\148\255|\255p\255&\255\166\255\147\255\NUL\NULe\255\NUL\NUL&\255\166\255=\254\168\255=\254\167\255\243\255\NUL\NUL\NUL\NULJ\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL?\254K\254\NUL\NUL\NUL\NUL\188\255}\254G\254\NUL\NUL\187\255\NUL\NUL\180\255\213\255=\254\198\255=\254=\254\NUL\NUL\133\254=\254\134\254\140\254B\254A\254\138\254=\254\136\254=\254\132\254\141\254\142\254\NUL\NUL\222\254\138\255\137\255\136\255\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\139\254\NUL\NULZ\254V\254U\254Y\254X\254W\254R\254Q\254P\254T\254S\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\254\148\254\248\255\249\255\151\254\150\254\NUL\NUL\NUL\NUL\145\254\153\254[\254x\254y\254z\254u\254v\254r\254s\254m\254o\254n\254p\254j\254k\254h\254f\254d\254b\254\NUL\NUL\NUL\NUL`\254M\254N\254\163\254\NUL\NUL\219\254\216\254\218\254\217\254\NUL\NUL\220\254\244\254\200\254\221\254\162\254\NUL\NUL\NUL\NUL@\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\214\255\213\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\219\255\NUL\NUL=\254\NUL\NUL\NUL\NUL\190\255\NUL\NUL\186\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\182\254=\254\NUL\NUL\241\255=\254=\254\182\254\239\255!\255\244\254\NUL\NUL\RS\255\DC2\255<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\255=\254\182\254\240\255N\255K\255=\254\NUL\NUL\149\255t\255i\255)\255&\255\166\255\NUL\NULW\255=\254\182\254\238\255I\254H\254\NUL\NULI\254\130\254=\254\239\254\235\254\232\254\154\255\137\255\228\254\NUL\NUL\243\254\241\254\NUL\NUL<\254\224\254\212\254\236\255\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254=\254=\254\182\254\242\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\246\254\253\254\STX\255\ACK\255\t\255\ENQ\255\248\254\NUL\NUL\NUL\NUL4\255\NUL\NUL\NUL\NUL\NUL\NUL6\254\NUL\NUL8\254\&4\254\&5\254_\255^\255\NUL\NUL3\255\&1\255\NUL\NUL\NUL\NUL\EOT\255\SOH\255\245\254\NUL\NUL\NUL\NUL\252\254\NUL\255\161\255\NUL\NUL\235\255\NUL\NUL\NUL\NUL&\255&\255\NUL\NUL(\255\NUL\NUL=\254&\255\247\254\NUL\NUL=\254\214\254=\254\226\254\NUL\NUL\227\254\244\254\200\254=\254=\254\231\254\244\254\200\254=\254\234\254=\254=\254\238\254=\254\NUL\NUL\NUL\NUL\NUL\NUL\130\254\211\254\NUL\NUL\NUL\NULI\254\130\254\163\255\231\255=\254=\254\182\254\237\255\NUL\NUL\NUL\NUL=\254K\255\157\255\233\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\SI\255\SUB\255\NUL\NUL\GS\255\FS\255\DC1\255\NUL\NUL\NUL\NUL\164\255\232\255\NUL\NUL\NUL\NUL\NUL\NUL\159\255\158\255\234\255&\255&\255\NUL\NUL\NUL\NUL\NUL\NUL\189\255K\254K\254\NUL\NUL\NUL\NUL\220\255\NUL\NUL\NUL\NUL\214\255\NUL\NUL\211\255\NUL\NUL\212\255\210\255\208\255\209\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\255=\254\221\255=\254\NUL\NUL=\254\NUL\NUL\137\254\135\254=\254\198\254\196\254\NUL\NUL\NUL\NUL\NUL\NUL<\254\186\254|\254\180\254\NUL\NUL]\254\NUL\NUL\152\254\NUL\NUL\154\254\144\254^\254L\254\179\254\NUL\NUL\NUL\NUL\NUL\NUL\172\254\173\254\185\254\NUL\NUL\NUL\NUL\NUL\NUL\180\254\NUL\NUL\NUL\NUL\NUL\NUL\193\254\194\254\192\254\195\254\197\254\199\254<\254\NUL\NUL\NUL\NUL\158\254\NUL\NUL\207\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\NUL\NUL\201\255\NUL\NUL\179\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\255\195\255\194\255\182\254\182\254\NUL\NULd\255c\255\NUL\NUL\ESC\255\DLE\255\NUL\NUL\NAK\255\EM\255\r\255\SO\255\NUL\NUL\CAN\255\v\255=\254@\255I\255\NUL\NUL\NUL\NUL=\254<\254J\255O\255=\254\\\255[\255\162\255\230\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\254=\254\209\254\NUL\NUL\210\254\204\254\NUL\NUL\NUL\NUL\237\254\236\254\233\254=\254\196\254<\254\230\254\229\254=\254\196\254<\254\225\254\240\254\242\254\223\254\NUL\NUL\NUL\NUL\NUL\NUL&\255Y\255X\255\181\254\255\254\244\255\NUL\NUL\NUL\NUL\NUL\NUL8\255\NUL\NUL\NUL\NUL6\254\&7\254\&9\254\&1\254\NUL\NUL2\254\&2\255\&7\255\&0\255\NUL\NUL6\255\NUL\NUL<\254<\254\NUL\NUL\207\254\203\254\NUL\NUL\NUL\NUL\208\254\202\254V\255U\255F\255D\255<\255\NUL\NUL\NUL\NUL<\254=\254H\255=\254G\255=\254?\255\NUL\NULP\255\ETB\255\NUL\NUL\NUL\NUL\DC4\255%\255\156\255\160\255\NUL\NULK\254K\254\NUL\NUL\218\255\NUL\NUL\178\255\177\255\NUL\NUL\NUL\NUL\185\255\216\255\200\255\206\255\204\255\205\255\NUL\NUL\203\255\159\254\160\254\NUL\NUL\NUL\NUL\161\254\191\254\189\254\190\254\188\254\NUL\NUL\169\254\NUL\NUL\174\254\171\254\168\254\175\254\178\254\NUL\NUL\147\254\177\254\NUL\NUL\146\254\170\254\NUL\NUL\NUL\NUL\184\254\187\254\157\254\NUL\NUL\202\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\255\193\255\NUL\NUL\NUL\NUL\196\255\DC3\255>\255\NUL\NULB\255\NUL\NUL\NUL\NULE\255;\255\NUL\NUL9\255\201\254\NUL\NUL\206\254\&5\255\&3\254\NUL\NUL0\254\205\254:\255=\254C\255=\255\NUL\NUL\NUL\NUL\NUL\NUL\184\255\176\255\NUL\NUL\NUL\NUL\NUL\NUL\156\254\183\254\NUL\NUL\176\254\167\254\NUL\NUL\NUL\NUL\175\255\NUL\NUL\NUL\NUL\214\255\192\255A\255\191\255\NUL\NUL\172\255\183\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\255\182\255\173\255\174\255")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyCheck"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyCheck")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\255\255\STX\NUL\ETX\NUL\EOT\NUL6\NULt\NUL\NAK\NUL\SYN\NUL\ETB\NUL\NAK\NUL\SYN\NUL\ETB\NUL\ETB\NUL\EOT\NUL5\NUL\SOH\NUL\SOH\NUL\CAN\NUL\ETX\NUL\SOH\NUL\EOT\NUL\STX\NUL\FS\NUL\STX\NUL\EM\NULt\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\SOH\NUL\ETX\NUL\DC4\NUL\STX\NUL[\NUL\r\NUL3\NUL9\NUL \NUL!\NUL7\NUL#\NUL\r\NUL!\NUL\STX\NUL\ETX\NUL\EOT\NUL\RS\NUL.\NUL*\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NUL\SOH\NULy\NUL6\NULv\NUL\SOH\NUL.\NUL6\NULv\NUL6\NUL\EM\NUL\t\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULt\NUL\SOH\NUL^\NULt\NULt\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL^\NUL\r\NUL\STX\NUL\ETX\NUL\EOT\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NULB\NULC\NULD\NUL[\NUL6\NUL\\\NUL]\NUL^\NUL\EM\NUL^\NUL\ESC\NULy\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\EOT\NUL\SOH\NUL\SOH\NULy\NUL\ETX\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL\STX\NUL\r\NUL\r\NUL6\NUL6\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NULv\NUL!\NUL\RS\NUL#\NUL#\NUL\SOH\NUL\a\NUL\\\NUL]\NUL^\NUL*\NUL+\NUL,\NUL\EOT\NUL{\NULy\NUL\SOH\NUL\r\NUL\STX\NUL3\NUL\SOH\NUL,\NUL6\NUL6\NUL*\NUL\\\NULT\NUL6\NUL\r\NUL\STX\NULT\NUL\SOH\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULC\NUL \NUL!\NUL\r\NUL#\NULH\NULw\NULx\NULy\NUL\SOH\NUL!\NUL*\NUL+\NUL,\NUL\EOT\NULy\NUL\SOH\NUL\RS\NUL*\NULV\NUL3\NUL\r\NULy\NUL6\NUL\\\NUL\\\NUL]\NUL^\NUL\r\NUL\\\NUL]\NUL6\NUL\SOH\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL-\NUL\STX\NUL!\NUL\r\NUL#\NULC\NUL6\NULx\NULy\NULy\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\\\NUL]\NUL^\NUL\STX\NUL\a\NUL3\NUL\SOH\NUL-\NUL6\NULV\NUL\a\NUL\\\NUL]\NUL^\NUL\RS\NUL\\\NUL]\NUL^\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL!\NUL#\NUL#\NUL\\\NUL]\NULy\NUL\a\NUL\SOH\NUL*\NUL+\NUL,\NUL\EOT\NUL\a\NULy\NUL*\NUL\\\NUL\EOT\NUL3\NULv\NUL\r\NUL7\NUL6\NUL\\\NUL]\NUL^\NUL\\\NUL]\NULw\NULx\NULy\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL\SOH\NUL#\NULC\NUL \NUL!\NULy\NUL#\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\r\NUL*\NUL+\NUL,\NUL\STX\NUL3\NULy\NUL\FS\NUL6\NULV\NUL3\NULz\NUL{\NUL6\NUL\FS\NUL\\\NUL]\NUL^\NULK\NULA\NULB\NULC\NULD\NULt\NULA\NULB\NULC\NULD\NUL!\NUL-\NUL#\NULw\NULx\NULy\NULy\NULy\NUL9\NUL*\NUL+\NUL,\NUL\SOH\NUL6\NULT\NUL9\NUL*\NUL\\\NUL3\NUL^\NUL\ETX\NUL6\NUL!\NUL\ACK\NUL\r\NULT\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULH\NULA\NULB\NULC\NULD\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL6\NULT\NULV\NULx\NULy\NUL\US\NUL4\NUL5\NUL\\\NULy\NUL^\NUL\r\NUL \NUL!\NUL*\NUL \NUL!\NUL-\NUL\ENQ\NUL\ACK\NUL\a\NUL\RS\NUL\t\NUL\SUB\NUL\v\NUL\f\NUL\r\NUL\a\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL-\NUL6\NUL\\\NUL]\NUL6\NUL\EM\NUL\SOH\NUL\ESC\NUL\ETX\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL4\NUL5\NUL\\\NUL]\NUL^\NULt\NUL3\NULT\NUL\n\NULy\NUL7\NULZ\NUL\SO\NUL\\\NULv\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULT\NULn\NUL\\\NUL]\NUL^\NUL\FS\NULs\NULt\NUL\FS\NULv\NULB\NULC\NULD\NULy\NUL,\NULZ\NULy\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL9\NULn\NULv\NUL9\NULT\NUL\FS\NULs\NULt\NULK\NULv\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\n\NUL\t\NULy\NUL\v\NUL\f\NUL\r\NULv\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL\FS\NULx\NULy\NUL\FS\NUL\EM\NUL9\NUL\ESC\NULv\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NULw\NULx\NULy\NUL\FS\NUL9\NUL3\NUL\a\NUL9\NUL\FS\NUL7\NUL\FS\NUL\FS\NUL\SOH\NUL\SUB\NUL*\NUL<\NUL=\NUL-\NUL\SOH\NUL\SUB\NUL\ETX\NULB\NULC\NULD\NUL\r\NUL\a\NUL\"\NUL#\NUL\SUB\NUL%\NUL\r\NUL'\NUL9\NUL)\NUL*\NUL+\NUL,\NUL9\NUL\a\NUL9\NUL9\NUL \NUL!\NUL3\NULZ\NULv\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NULn\NUL\\\NUL]\NUL^\NULL\NULs\NULt\NUL\SUB\NULv\NULw\NULx\NULy\NULy\NUL\a\NULA\NULB\NULC\NULD\NULZ\NULP\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NUL\\\NUL]\NUL^\NUL\a\NULs\NULt\NUL\\\NUL]\NULw\NULx\NULy\NUL\SOH\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL*\NULt\NUL\ETX\NUL-\NUL\r\NUL\ACK\NUL\"\NUL#\NULy\NUL%\NULv\NUL'\NULy\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\STX\NUL\ETX\NUL6\NUL\RS\NUL\ACK\NUL3\NULX\NULY\NUL*\NUL7\NUL6\NUL-\NUL\US\NUL\SUB\NUL6\NUL;\NUL<\NUL=\NUL>\NUL?\NULy\NULA\NULB\NULC\NULD\NUL\a\NUL\"\NUL#\NULv\NUL%\NULL\NUL'\NUL\b\NUL)\NUL*\NUL+\NUL,\NULM\NULN\NULO\NULP\NULQ\NULR\NUL3\NULZ\NULu\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULv\NULn\NUL\\\NUL]\NULm\NULL\NULs\NULt\NUL\NUL\NUL\SOH\NULw\NULx\NULy\NULx\NULy\NUL\SOH\NULw\NULx\NULy\NULZ\NUL+\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NULA\NULB\NULC\NULD\NULs\NULt\NUL6\NUL\STX\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL[\NULA\NULB\NULC\NULD\NUL\a\NULF\NULG\NUL\STX\NUL\"\NUL#\NUL+\NUL%\NUL\SOH\NUL'\NUL\SOH\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\EM\NUL\EOT\NUL\ESC\NUL3\NUL\GS\NUL\RS\NUL\US\NUL7\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL[\NUL3\NUL\SOH\NULL\NUL\ETX\NUL7\NUL\\\NUL]\NULx\NULy\NULA\NULB\NULC\NULD\NUL\r\NUL\\\NUL]\NULZ\NUL^\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULZ\NULn\NUL\\\NUL\EOT\NUL^\NUL_\NULs\NULt\NUL*\NUL+\NULw\NULx\NULy\NUL!\NUL^\NUL#\NUL*\NUL+\NUL\a\NUL*\NUL+\NUL#\NUL*\NUL+\NUL,\NULs\NULt\NUL\STX\NUL*\NUL+\NUL,\NUL3\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL3\NUL\ESC\NUL+\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL6\NUL\\\NUL]\NUL3\NULN\NULO\NULP\NUL7\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL,\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULZ\NUL*\NUL\\\NUL\SOH\NUL^\NUL_\NUL3\NULy\NUL+\NUL!\NUL7\NUL#\NUL\RS\NULy\NUL^\NUL#\NUL\\\NUL]\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL,\NULs\NULt\NUL3\NUL\ETB\NUL\CAN\NUL6\NUL3\NULy\NUL\RS\NUL6\NUL^\NULw\NULx\NULy\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL0\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\DC1\NUL\DC2\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL6\NULw\NULx\NULy\NUL\EOT\NUL3\NULw\NULx\NULy\NUL7\NUL#\NULA\NULB\NULC\NULD\NUL2\NUL\EOT\NUL*\NUL+\NUL,\NUL\a\NUL\EOT\NULx\NULy\NUL\\\NUL]\NUL3\NUL\v\NUL\f\NUL6\NULA\NULB\NULC\NULD\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL\US\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\SOH\NUL-\NUL\ETX\NUL*\NUL+\NUL3\NUL<\NULx\NULy\NUL7\NUL*\NUL+\NUL\r\NUL+\NULw\NULx\NULy\NUL\EM\NUL+\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL+\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\\\NUL]\NUL3\NUL6\NUL\FS\NUL\GS\NUL7\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL6\NUL!\NUL,\NUL#\NULC\NULw\NULx\NULy\NUL\RS\NULH\NUL*\NUL+\NUL,\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL\STX\NULH\NUL3\NULw\NULx\NULy\NULV\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\ETB\NUL\CAN\NUL^\NULV\NUL\STX\NULB\NULC\NULD\NUL\STX\NUL\\\NUL]\NUL^\NUL\ENQ\NUL\ACK\NUL\a\NUL\DC1\NUL\DC2\NULN\NULO\NULP\NULQ\NULR\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL7\NUL\STX\NULw\NULx\NULy\NULw\NULx\NULy\NUL\v\NUL\f\NULA\NULB\NULC\NULD\NULZ\NUL\STX\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULw\NULx\NULy\NUL,\NULs\NULt\NUL\RS\NULv\NULZ\NUL\\\NUL\\\NUL-\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\RS\NULn\NULw\NULx\NULy\NUL0\NULs\NULt\NULZ\NULv\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL6\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\US\NULC\NUL\EOT\NUL\STX\NUL6\NUL\STX\NULH\NULM\NUL\EOT\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NUL\EOT\NULV\NUL\EOT\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL;\NUL<\NUL=\NULN\NULO\NULP\NULA\NULB\NULC\NULD\NUL^\NUL\\\NUL\ENQ\NUL\ACK\NUL\a\NULM\NULN\NULO\NULP\NULQ\NULR\NUL0\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\STX\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\STX\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL+\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULN\NULO\NULP\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NULN\NULO\NULP\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULs\NULt\NUL\US\NULv\NUL*\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL^\NUL\EOT\NUL\EOT\NULN\NULO\NULP\NULN\NULO\NULP\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULN\NULO\NULP\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULN\NULO\NULP\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NULw\NULx\NULy\NULw\NULx\NULy\NUL\US\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\SOH\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL,\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL,\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\US\NULn\NULw\NULx\NULy\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\b\NULn\NULw\NULx\NULy\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL^\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL\US\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL<\NUL=\NUL>\NUL?\NUL@\NUL+\NULB\NULC\NULD\NUL+\NUL[\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULw\NULx\NULy\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULw\NULx\NULy\NUL\\\NUL*\NULZ\NULF\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NUL*\NULp\NULx\NULy\NULs\NULt\NULw\NULx\NULy\NUL\STX\NUL\STX\NULZ\NULy\NUL\\\NUL^\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NULN\NULO\NULP\NUL\RS\NULs\NULt\NULZ\NULv\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\ESC\NULn\NUL\f\NUL\r\NUL\EM\NUL\DLE\NULs\NULt\NUL\EOT\NULv\NUL\SOH\NUL[\NUL\ETX\NUL\STX\NUL\STX\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\SOH\NUL \NUL!\NUL3\NUL#\NULW\NUL+\NUL7\NULN\NULO\NULP\NUL*\NUL+\NUL,\NULF\NULN\NULO\NULP\NUL+\NUL^\NUL3\NUL,\NUL\SOH\NUL6\NUL,\NUL6\NULZ\NUL\SOH\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULA\NULB\NULC\NULD\NULC\NUL\r\NUL,\NUL0\NULZ\NULH\NUL\\\NUL,\NUL^\NUL_\NUL`\NUL7\NUL\SOH\NULs\NULt\NUL;\NUL<\NUL=\NUL,\NULV\NUL\ETX\NULA\NULB\NULC\NULD\NUL\\\NUL]\NUL^\NUL\SOH\NULs\NULt\NUL+\NUL\STX\NULw\NULx\NULy\NUL0\NUL1\NUL,\NUL3\NUL\STX\NUL5\NUL[\NUL^\NUL8\NUL\SOH\NULe\NUL;\NUL\SOH\NUL=\NUL>\NUL?\NULy\NULN\NULO\NULP\NULD\NULE\NUL\SOH\NULG\NUL\EOT\NUL^\NULJ\NULK\NUL\SOH\NULM\NULN\NUL^\NULP\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NULw\NULx\NULy\NUL,\NULe\NUL\\\NUL]\NUL^\NUL_\NUL\SOH\NULw\NULx\NULy\NUL\RS\NULe\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SOH\NUL\SOH\NUL\DLE\NULN\NULO\NULP\NULZ\NUL\RS\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NUL\ESC\NUL+\NUL8\NUL+\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\RS\NULA\NULB\NULC\NULD\NUL+\NUL+\NUL,\NULs\NULt\NUL/\NUL0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL:\NUL;\NULe\NUL=\NUL>\NUL?\NUL@\NULA\NULB\NULC\NULD\NULE\NUL\SOH\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\SOH\NUL\SOH\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL[\NUL1\NUL\DLE\NULe\NUL*\NULZ\NUL6\NUL\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NUL\ESC\NUL>\NULw\NULx\NULy\NUL\SUB\NULC\NULw\NULx\NULy\NULG\NULH\NULw\NULx\NULy\NUL\EM\NULM\NULs\NULt\NULP\NUL/\NULR\NUL1\NUL\DLE\NUL3\NULV\NUL5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL^\NUL=\NUL>\NUL?\NULN\NULO\NULP\NULC\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULN\NULO\NULP\NUL\255\255\&6\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULA\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\EM\NUL\255\255\ESC\NUL\ESC\NUL\GS\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL/\NUL\255\255\&1\NUL3\NUL3\NUL\255\255\&5\NUL7\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NULN\NULO\NULP\NUL\255\255D\NULE\NUL\255\255G\NULx\NULy\NULJ\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\255\255\&7\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255w\NULx\NULy\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\ESC\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255\255\255<\NUL=\NUL,\NUL\255\255\255\255/\NULB\NULC\NULD\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\SOH\NUL\STX\NUL\ETX\NULD\NULE\NULw\NULx\NULy\NUL\255\255J\NULK\NULL\NUL\EOT\NULN\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULx\NULy\NUL\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\SOH\NULC\NUL\ETX\NUL\255\255\ENQ\NUL\ACK\NULH\NUL\255\255\t\NUL\n\NUL\ESC\NUL\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NULV\NULA\NULB\NULC\NULD\NUL\255\255\\\NUL\255\255^\NUL\255\255/\NUL\SOH\NUL\STX\NUL\ETX\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\r\NUL\SO\NUL\SI\NULD\NULE\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255J\NULK\NULL\NUL\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\r\NUL\SO\NUL\SI\NUL6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL6\NUL\255\255\255\255\255\255H\NUL;\NUL<\NUL=\NUL\ESC\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255Z\NULV\NUL\\\NUL\255\255^\NUL_\NUL`\NUL+\NUL,\NUL^\NUL\255\255/\NUL0\NUL\255\255\&2\NUL\255\255\&4\NUL\255\255\255\255\&7\NUL\255\255\&9\NUL:\NUL7\NUL\255\255s\NULt\NUL\255\255@\NULA\NULB\NUL\255\255\255\255A\NULB\NULC\NULD\NULI\NULF\NULG\NULL\NUL\255\255\255\255O\NUL\255\255\255\255\SOH\NUL\255\255\ETX\NULx\NULy\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\ESC\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255/\NUL\255\255D\NULE\NUL\255\255G\NUL\255\255\&6\NULJ\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULC\NUL\SOH\NUL\255\255\ETX\NUL\255\255H\NUL\\\NUL]\NUL^\NULL\NULM\NUL\255\255Z\NUL\r\NUL\\\NUL\255\255^\NUL_\NUL`\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255s\NULt\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\ESC\NUL=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255/\NULQ\NUL\255\255S\NULT\NULU\NULV\NUL6\NUL\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\255\255\255\255\255\255\255\255\SOH\NULC\NUL\ETX\NUL\255\255\SOH\NUL\255\255H\NUL\SOH\NUL\255\255\255\255L\NULM\NUL\r\NULB\NULC\NULD\NUL\r\NULF\NULG\NUL\r\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\&6\NULZ\NUL\255\255\\\NUL6\NUL^\NUL_\NUL6\NUL\ESC\NUL\255\255\255\255\255\255\255\255C\NULx\NULy\NUL\255\255C\NULH\NUL\255\255C\NUL\255\255H\NUL\255\255\255\255H\NULs\NULt\NUL/\NULZ\NUL\255\255\\\NULV\NUL^\NUL_\NUL6\NULV\NUL\255\255\\\NULV\NUL^\NUL\255\255\\\NUL]\NUL^\NUL\\\NUL]\NUL^\NULC\NUL\255\255\255\255\255\255\255\255H\NULs\NULt\NUL\255\255L\NULM\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\ETX\NUL\255\255\r\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\ETX\NUL\255\255\255\255\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL,\NUL-\NUL6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL-\NUL\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\ESC\NULF\NULG\NULZ\NUL\SOH\NUL\\\NUL\ETX\NUL^\NUL_\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&6\NULs\NULt\NUL\ESC\NUL\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NULx\NULy\NUL\255\255\SOH\NUL\255\255\ETX\NULs\NULt\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL6\NUL\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NUL\SOH\NUL\255\255\255\255\255\255\255\255V\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL^\NUL\255\255\DLE\NUL/\NUL\255\255s\NULt\NUL\255\255\255\255\255\255\&6\NUL\255\255Z\NUL\ESC\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\&6\NUL\255\255\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\STX\NUL\255\255\255\255\r\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULy\NUL\255\255\DLE\NULs\NULt\NUL\255\255\255\255\&6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL\255\255\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL\255\255^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255\ESC\NUL\SOH\NUL\STX\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL,\NUL\255\255Z\NUL/\NUL\\\NUL\255\255^\NUL_\NUL`\NUL\255\255\ESC\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL\255\255/\NUL\255\255L\NULx\NULy\NUL\255\255\255\255\ESC\NUL\255\255\255\255\RS\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL/\NUL\255\255L\NUL\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255L\NULs\NULt\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NULX\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULx\NULy\NUL\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL7\NUL\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\ESC\NULA\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255L\NULx\NULy\NUL\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\ESC\NUL0\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NULV\NUL\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255^\NUL\255\255/\NULD\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL_\NULL\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\US\NUL \NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL\255\255\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\r\NUL5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\r\NUL8\NUL\255\255\SOH\NUL;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\r\NULG\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\RS\NUL\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&6\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&3\NULC\NUL5\NUL\255\255\255\255\&8\NULH\NUL\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255V\NUL\255\255\255\255J\NULK\NUL\255\255\\\NULN\NUL^\NUL\255\255Q\NUL6\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NULC\NUL\255\255\255\255\RS\NUL\US\NULH\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\&3\NUL\\\NUL\255\255^\NUL7\NUL\255\255\255\255\255\255\255\255<\NUL=\NUL\255\255\255\255\255\255\255\255B\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULB\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255x\NULy\NUL7\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255x\NULy\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NULK\NUL\255\255\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULH\NULI\NULJ\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255 \NUL!\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255!\NUL6\NUL#\NUL\255\255w\NULx\NULy\NULJ\NUL\255\255*\NUL+\NUL,\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255w\NULx\NULy\NUL\255\255!\NUL\255\255#\NUL\255\255!\NUL\255\255#\NUL\255\255\255\255*\NUL+\NUL,\NULy\NUL*\NUL+\NUL,\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255<\NUL=\NUL\255\255\255\255x\NULy\NULB\NULC\NULD\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255!\NUL\255\255#\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL3\NULy\NUL\255\255\&6\NULx\NULy\NUL3\NUL\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255y\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255y\NUL\255\255\255\255\255\255Z\NULL\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NUL\255\255\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\"\NUL#\NUL7\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255L\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\"\NUL#\NULL\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL6\NULw\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255L\NUL\255\255\255\255w\NULx\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL#\NUL\255\255\255\255\&6\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\&2\NUL3\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255w\NULx\NULy\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255x\NULy\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NUL\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\&7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL7\NUL\255\255\255\255\&6\NULq\NUL\255\255s\NULt\NUL;\NUL<\NUL=\NUL\255\255y\NUL\255\255A\NULB\NULC\NULD\NULw\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL7\NUL6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255w\NULx\NULy\NUL\255\255\255\255s\NULt\NULw\NULx\NULy\NUL+\NUL\255\255-\NUL\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255+\NUL\255\255-\NUL\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255+\NULQ\NUL\255\255S\NULT\NULU\NUL1\NUL\255\255\255\255\255\255\255\255\&6\NUL\255\255]\NUL^\NUL_\NUL+\NUL\255\255\255\255>\NUL\255\255\255\255\&1\NUL\255\255C\NUL\255\255\255\255\&6\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL>\NUL\255\255P\NUL\255\255R\NULC\NUL\255\255\255\255V\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL^\NUL\255\255P\NUL\255\255R\NUL,\NUL\255\255\255\255V\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255.\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255\255\255>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NUL\255\255\255\255P\NUL\255\255R\NUL\255\255T\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255\255\255\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255T\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255S\NUL^\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NUL\255\255V\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NULv\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NUL\255\255S\NUL\255\255\255\255\255\255\255\255\255\255|\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255Z\NUL\255\255\\\NULy\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255o\NUL\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&1\NULM\NULN\NULO\NULP\NULQ\NULR\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL1\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyTable"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyTable")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\136\NULL\NULM\NUL\162\SOH{\ETX^\ETX\DC2\ETX\DC3\ETX\DC1\ETX\DC2\ETX\DC3\ETX`\ETX=\254\230\STX%\STX\141\SOHr\ETX\170\NUL\203\SOH5\ETX%\ETX\SUB\STXz\ETXN\NULi\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\212\STX\SYN\ETX\248\NUL{\STX\130\STX\239\NUL_\NUL\132\SOH\199\NUL\185\NUL`\NUL\200\NUL\247\SOH\188\NUL=\SOHL\NULM\NULu\SOH6\ETX{\ETXa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL%\STXO\ETX\186\NUL\131\STX\203\SOHv\SOH\189\NUL\226\SOH\249\NULN\NULq\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\DC4\ETX\151\SOH\134\NUL\DC4\ETX\DC4\ETX\132\NUL_\NUL\134\NULs\ETX\132\NUL`\NUL\134\NUL\134\NUL\214\NULK\NULL\NULM\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\240\NULK\NUL\200\SOHc\NUL\201\SOH*\NUL\182\NUL\132\NUL\152\SOH\134\NULN\NUL\134\NULO\NUL\201\NULP\NULQ\NULR\NUL\190\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\170\NUL\203\SOH\ACK\STXO\ETX\170\NUL\132\NUL_\NUL\134\NULj\ETX\132\NUL`\NUL\134\NULU\ETX\204\SOH\a\STX\221\SOH\189\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL9\ETX\171\NUL\251\STX\172\NUL\196\NUL%\STX;\ETX\132\NUL\152\SOH\134\NUL\173\NUL]\NUL^\NUL\215\NUL\225\STX\183\NUL\211\STX&\STX\224\STX_\NUL%\STX\157\SOH\174\NUL\197\NULV\ETX\222\SOH\n\ETX<\254\247\SOHm\ETX\v\ETX\246\SOH&\STX\175\NULb\NULc\NULd\NUL\176\NULf\NULg\NUL<\254\216\NUL\185\NUL\247\SOH\217\NUL<\254h\NULi\NULj\NUL\203\SOH\181\NUL\218\NUL]\NUL^\NUL\158\SOH\190\NUL\212\STXn\ETX\225\STX<\254_\NUL\204\SOH`\STX\186\NUL\132\NUL\132\NUL\215\NUL\134\NUL\247\SOH\240\NULK\NUL\182\NUL\213\NUL\161\NUL\219\NULb\NULc\NULd\NUL\220\NULf\NULg\NULT\ETXA\ETX\159\SOH\214\NUL\160\SOH\162\NUL\174\NUL\177\NULj\NUL\198\NUL\163\NUL\161\SOH]\NUL^\NUL\150\NUL\132\NUL\215\NUL\134\NUL\249\SOH\EM\ETX_\NUL\236\STX\232\STX\162\SOH\164\NUL\SUB\ETX\132\NUL\215\NUL\134\NULB\ETX\132\NUL\215\NUL\134\NUL\247\SOH\163\SOHb\NULc\NULd\NUL\164\SOHf\NULg\NUL\132\NUL\215\NUL\151\NUL\195\NUL\152\NUL\196\NUL\240\NULK\NUL\221\NUL\ESC\ETXl\NUL\153\NUL]\NUL^\NUL\134\STX\GS\ETX\183\NUL\250\SOH\132\NUL\137\STX_\NUL(\ETXm\NUL\f\STX\197\NUL\132\NUL\152\SOH\134\NUL\240\NULK\NUL\193\STX\128\STXj\NUL\161\NUL\154\NULb\NULc\NULd\NUL\155\NULf\NULg\NUL\132\NUL\215\NUL\171\NUL\203\SOH\172\NUL\162\NUL\216\NUL\185\NUL\156\NUL\217\NUL\163\NUL\173\NUL]\NUL^\NUL\FS\ETX\204\SOH\218\NUL]\NUL^\NULg\STX_\NUL`\STX\152\STX\174\NUL\164\NUL_\NUL\218\SOH\219\SOH\186\NUL\153\STX\132\NUL\215\NUL\134\NUL\140\STX\175\NULb\NULc\NUL\208\SOH\154\STX\219\NULb\NULc\NUL\208\SOH\159\SOH\168\STX\160\SOH\r\STX\140\NULj\NUL\156\NUL\198\NUL\132\SOH\161\SOH]\NUL^\NUL\151\SOH\161\NUL\180\STX\132\SOHh\STX\132\NUL_\NUL\134\NUL\168\254\162\SOH\188\NUL\168\254\214\NUL\236\SOH\162\NULn\ETX2\NUL3\NUL\215\SOH\163\NUL\163\SOHb\NULc\NUL\208\SOH\144\STX4\NUL5\NUL6\NUL7\NUL8\NUL%\STX\189\NUL\SYN\STX\164\NUL\135\STXj\NUL\168\254\218\STX\225\SOH\132\NUL\221\NUL\134\NUL&\STX\192\NUL\185\NUL7\ETX\184\NUL\185\NUL8\ETXF\STX2\NUL3\NUL\145\STX\141\STX\EM\STXH\STXI\STXJ\STX\ESC\STX4\NUL5\NUL6\NUL7\NUL8\NUL\RS\STX\186\NUL\240\NULK\NUL\186\NULK\STX\169\NULO\NUL\170\NULP\NULL\STXM\STX\156\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\224\SOH\225\SOH\132\NUL\152\SOH\134\NULB\STX_\NUL \STXp\SOH\190\NULO\STX\ACK\NULq\SOH\a\NUL\226\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL/\STX9\NUL\132\NUL\215\NUL\134\NUL\137\SOH\CAN\NUL\EM\NUL\168\SOH:\NUL\146\NULc\NUL\233\SOH\193\NUL\229\255\ACK\NUL\187\NUL\a\NUL\134\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\132\SOH9\NUL\226\SOH\132\SOH5\STX\198\SOH\CAN\NUL\EM\NULC\STX:\NULh\NUL\195\SOHj\NULF\STX2\NUL3\NULD\STXG\STX`\STXH\STXI\STXJ\STX?\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\146\SOH\SUB\STX\149\NULj\NUL\131\SOHK\STX\132\SOHO\NUL@\SOHP\NULL\STXM\STX\214\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\r\SOHp\ETX\140\NULj\NUL\137\SOH\132\SOH_\NUL\134\SOH\132\SOH\153\SOHO\STX\168\SOH\198\SOH\151\SOH\130\SOH\234\STX#\STX\207\NUL\235\STX\ACK\STX\136\SOH\170\NUL\200\SOHc\NUL\201\SOH\214\NUL\138\SOH\SO\SOHU\NUL\152\SOH\SI\SOH\a\STX\DLE\SOH\132\SOH\DC1\SOH\\\NUL]\NUL^\NUL\132\SOH\154\SOH\132\SOH\132\SOH\192\NUL\185\NUL_\NUL\ACK\NUL\155\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\186\NUL9\NUL\132\NUL\215\NUL\134\NULh\SOH\CAN\NUL\EM\NUL\167\SOH:\NULh\NUL\195\SOHj\NUL\156\NUL\169\SOH\207\SOHb\NULc\NUL\208\SOH\ACK\NUL\188\SOH\a\NUL\197\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH\132\NUL\152\SOH\134\NUL\199\SOH\CAN\NUL\EM\NUL\132\NUL\215\NULh\NUL\NAK\SOHj\NUL\246\SOH\156\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH0\ETX\212\SOHu\STX1\ETX\247\SOHv\STX\SO\SOHU\NUL\193\NUL\SI\SOH\213\SOH\DLE\SOH\156\NUL\DC1\SOH\\\NUL]\NUL^\NUL\r\SOH \ETX!\ETX\159\NUL\EOT\ETX\"\ETX_\NUL+\ETX,\ETX\221\STX\DC2\SOH\174\NUL\222\STX.\ETX\164\NUL\174\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL\156\NUL\209\SOHb\NULc\NUL\208\SOH\231\NUL\SO\SOHU\NUL\237\NUL\SI\SOHi\SOH\DLE\SOH\250\NUL\DC1\SOH\\\NUL]\NUL^\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH_\NUL\ACK\NUL\EOT\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\n\SOH\DC4\SOH\132\NUL\215\NUL+\SOHk\SOH\CAN\NUL\EM\NUL\135\NUL\ENQ\NULh\NUL\NAK\SOHj\NUL-\STXj\NUL\ENQ\NUL\DEL\STX\128\STXj\NUL\ACK\NUL}\ETX\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH8\STXb\NULc\NUL\208\SOH\CAN\NUL\EM\NUL\174\NUL~\ETXh\NUL\NAK\SOHj\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL*\NUL\209\SOHb\NULc\NULd\NUL\181\STX\210\SOHg\NUL\DEL\ETX\SO\SOHU\NULu\ETX\SI\SOHv\ETX\DLE\SOHw\ETX\DC1\SOH\\\NUL]\NUL^\NUL8\ETX\166\NUL\167\NUL\190\SOHi\ETXO\NUL_\NULP\NUL\191\SOH\192\SOH\DC2\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NULZ\ETX \SOH!\SOH\"\SOH#\SOH*\NUL_\NULe\SOH\DC3\SOH\170\NUL\194\SOH\240\NULK\NUL-\STXj\NUL\249\STXb\NULc\NUL\208\SOHf\SOH=\ETX>\ETX\ACK\NUL\134\NUL\a\NULl\ETX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\ACK\NUL\DC4\SOH\a\NULX\ETX\NUL\SOH\t\NUL\CAN\NUL\EM\NUL\254\STX\255\STXh\NUL\NAK\SOHj\NUL\151\NUL\134\NUL\152\NUL\NUL\ETX\SOH\ETX\238\SOH\250\SOH\EM\ETX\152\NUL\153\NUL]\NUL^\NUL\CAN\NUL\EM\NUL]\ETX\153\NUL]\NUL^\NUL_\NUL^\ETXh\NUL\195\SOHj\NUL\190\SOH_\NULO\NUL`\ETXP\NUL\191\SOH\192\SOHc\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ETB\STX\250\SOH\143\STX\162\SOH\240\NULK\NUL_\NUL&\STX\166\NUL\167\NUL\194\SOHI\ETX\140\NULj\NUL\229\SOHb\NULc\NUL\208\SOH\190\SOHd\ETXO\NULe\ETXP\NUL\191\SOH\192\SOH=\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ACK\NUL@\ETX\a\NUL?\ETX\STX\SOH\t\NUL_\NUL\156\NULC\ETX\159\SOH\194\SOH\160\SOHI\ETX\156\NUL\134\NUL\172\NUL\240\NULK\NUL\161\SOH]\NUL^\NUL!\STX\173\NUL]\NUL^\NUL\CAN\NUL\EM\NUL_\NUL\RS\SOH\US\SOH\162\SOH_\NUL\156\NULO\ETX\174\NUL\134\NULh\NUL\195\SOHj\NUL\190\SOHQ\ETXO\NULS\ETXP\NUL\191\SOH\192\SOH\134\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL0\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX_\NUL\146\NULc\NUL\147\NUL\194\SOH\148\NULg\NUL$\SOH%\SOHh\NUL\195\SOHj\NUL\190\SOH\227\STXO\NUL\134\NULP\NUL\191\SOH\192\SOH\240\STXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NUL\174\NUL\251\STX\252\STXj\NUL\241\STX_\NULJ\ETX\140\NULj\NUL\194\SOH\160\SOH\209\SOHb\NULc\NUL\208\SOHL\ETX\244\STX\161\SOH]\NUL^\NUL6\STX\245\STX\149\SOHj\NUL\240\NULK\NUL_\NUL&\SOH'\SOH\162\SOH\249\STXb\NULc\NUL\208\SOH\246\STXh\NUL\195\SOHj\NUL\190\SOH\247\STXO\NUL\n\ETXP\NUL\191\SOH\192\SOH\238\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\189\SOH\ACK\STX\CAN\ETX\170\NUL\228\NUL\229\NUL_\NUL\r\ETX\211\SOHj\NUL\194\SOH\230\NUL\231\NUL\a\STX\SO\ETXh\NUL\195\SOHj\NUL\190\SOH\SI\ETXO\NUL\DLE\ETXP\NUL\191\SOH\192\SOH\ETB\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NULo\ETX2\NUL3\NUL\240\NULK\NUL_\NUL\161\NUL\CAN\SOH\EM\SOH\194\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\161\NUL\151\NUL=\NUL\152\NUL\162\NULK\ETX\140\NULj\NUL+\ETX\163\NUL\153\NUL]\NUL^\NUL\162\NULE\ETX2\NUL3\NUL\US\ETX\163\NUL_\NULh\NUL\195\SOHj\NUL\164\NUL4\NUL5\NUL6\NUL7\NUL8\NUL\RS\SOH\US\SOH\134\NUL\164\NUL#\ETX\200\SOHc\NUL\201\SOH&\ETX\132\NUL\215\NUL\134\NUL\DLE\ETX2\NUL3\NUL$\SOH%\SOHw\STX\166\NUL\167\NULx\STXy\STX4\NUL5\NUL6\NUL7\NUL8\NUL\232\SOH'\ETXh\NUL\195\SOHj\NUL\241\STX\140\NULj\NUL&\SOH'\SOH\143\NULb\NULc\NUL\208\SOH\ACK\NUL|\STX\a\NUL}\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL\242\STX\140\NULj\NULc\STX\CAN\NUL\EM\NUL>\254:\NUL\ACK\NUL\188\SOH\a\NUL\140\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\146\STX9\NULh\NUL\145\NULj\NUL\134\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\STX9\NUL\149\STX2\NUL3\NUL\161\NUL\CAN\NUL\EM\NUL\157\STX:\NUL\165\STX\167\STX4\NUL5\NUL6\NUL7\NUL8\NUL\238\SOH\162\NUL\202\NUL\179\STX\162\SOH\180\STX\163\NUL\188\STX\189\STX\158\STX\206\NUL\207\NUL\150\STX2\NUL3\NUL\229\SOHb\NULc\NUL\208\SOH\191\STX\164\NUL\192\STX4\NUL5\NUL6\NUL7\NUL8\NUL*\STX\206\NUL\207\NUL\ENQ\ETX\166\NUL\167\NUL\207\SOHb\NULc\NUL\208\SOH\134\NUL\209\STX\151\STX2\NUL3\NULf\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\134\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\203\NUL\214\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\215\STX\210\NULb\NULc\NULd\NUL\211\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL\218\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL&\STX\166\NUL\167\NUL\220\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\223\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\223\SOH9\NUL#\ETX\166\NUL\167\NUL\224\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\229\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\236\SOH9\NULA\STX2\NUL3\NUL\228\SOH\CAN\NUL\EM\NUL\238\SOH:\NUL\251\SOH\252\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\134\NUL\DC2\STX\224\NUL&\STX\166\NUL\167\NUL\162\STX\166\NUL\167\NUL*\STX\206\NUL\207\NULR\STX2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\163\STX\166\NUL\167\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH&\STX\166\NUL\167\NUL\184\STX\140\NULj\NULv\SOH2\NUL3\NUL\189\STX\140\NULj\NUL\194\STX\140\NULj\NUL\238\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\225\NUL\EM\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL=\NUL\210\NULb\NULc\NULd\NUL\226\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL \STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\238\SOH9\NUL\195\STX\140\NULj\NUL(\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL)\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULx\SOH9\NUL\196\STX\140\NULj\NUL\238\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL4\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\134\NUL9\NUL\241\NUL2\NUL3\NUL\238\SOH\CAN\NUL\EM\NUL:\STX:\NUL;\STX<\STX4\NUL5\NUL6\NUL7\NUL8\NUL@\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX=\STX\146\NULc\NUL\233\SOH>\STX*\NUL1\NUL2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\200\STX\140\NULj\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\201\STX\140\NULj\NUL\188\SOHT\STX\ACK\NULF\STX\a\NULW\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULU\STX\234\NULV\STXy\SOH\149\SOHj\NUL\CAN\NUL\EM\NUL\205\STX\140\NULj\NULX\STXY\STX\ACK\NUL\156\NUL\a\NUL\134\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULd\STX9\NUL\216\STX\166\NUL\167\NULf\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\ESC\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\SUB\SOH9\NUL\133\STXJ\STX\FS\SOH\GS\SOH\CAN\NUL\EM\NULi\STX:\NUL\ACK\STXk\SOH\170\NUL]\SOH^\SOHK\STXh\SOHO\NUL\134\NULP\NULL\STXM\STX\a\STXS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\165\NUL\166\NUL\167\NULt\SOH\216\NUL\185\NUL_\NUL\217\NULx\SOH|\SOHO\STX\230\SOH\166\NUL\167\NUL\218\NUL]\NUL^\NULs\SOH\231\SOH\166\NUL\167\NUL~\SOH\134\NUL_\NUL=\NUL\136\SOH\186\NUL=\NUL=\254\ACK\NULl\NUL\a\NUL\134\SOH\244\NUL\t\NUL\n\NULI\SOH\247\SOHb\NULc\NUL\208\SOH=\254m\NUL\229\255\134\SOH\ACK\NUL=\254\a\NUL=\NUL\244\NUL\t\NUL\ETX\SOH\165\STX\158\SOH\CAN\NUL\EM\NUL\142\SOH\206\NUL\207\NUL=\NUL=\254\170\NUL\143\NULb\NULc\NUL\208\SOH\132\NUL\215\NUL\134\NUL\197\SOH\CAN\NUL\EM\NUL?\SOH\205\SOHh\NUL\195\SOHj\NULn\NULo\NUL=\NULp\NUL\207\SOHq\NUL*\NUL\134\NULr\NUL\218\SOH\255\255s\NUL\138\NULt\NULu\NULv\NUL\221\NUL\165\NUL\166\NUL\167\NULw\NULx\NUL\139\NULy\NUL\136\STX\134\NULz\NUL{\NUL\142\NUL|\NUL}\NUL\134\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\233\NULh\NUL\144\SOHj\NUL=\NUL\255\255\132\NUL\133\NUL\134\NUL\135\NUL\ESC\NUL\SO\STX\140\NULj\NUL?\254\251\255\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\234\NUL\237\NUL#\NUL&\STX\166\NUL\167\NUL\ACK\NUL\243\NUL\a\NUL\241\NUL\244\NUL\t\NULa\STX$\NUL\244\NUL\203\NUL\248\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\252\NUL\210\NULb\NULc\NUL\208\SOH\253\NUL<\NUL=\NUL\CAN\NUL\EM\NUL%\NUL>\NULo\NUL?\NULp\NUL@\NULq\NUL=\254A\NULr\NULB\NULC\NULs\NUL\255\255t\NULu\NULv\NULD\NULE\NULF\NUL=\254w\NULx\NUL\254\NULy\NUL=\254G\NULz\NUL{\NUL&\NUL|\NUL}\NULH\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254I\NUL'\NUL(\NUL)\NUL*\NULJ\NULQ\STX\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL4\STX\140\NULj\NUL\255\NUL\NUL\SOH\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\ACK\SOHo\NUL#\NUL\255\255\ETB\SOH\ACK\NUL\161\NUL\a\NUL\SUB\SOH\244\NUL\t\NUL\n\NULJ\SOH$\NULu\NULo\SOH\140\NULj\NUL\ESC\SOH\162\NUL\128\SOH\140\NULj\NULy\NUL\163\NUL\129\SOH\140\NULj\NUL\FS\SOH|\NUL\CAN\NUL\EM\NUL~\NUL%\NUL\128\NUL\215\255\GS\SOH\215\255\164\NUL\215\255\215\255\NUL\NUL\215\255\NUL\NUL\NUL\NUL\215\255\134\NUL\215\255\215\255\215\255\139\SOH\166\NUL\167\NUL\215\255\215\255\215\255\NUL\NUL\215\255\215\255\NUL\NUL\215\255\215\255&\NUL\215\255\215\255\NUL\NUL\215\255\215\255\215\255\215\255\215\255\215\255\215\255\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\215\255\215\255,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\165\NUL\166\NUL\167\NUL\NUL\NUL\174\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\209\SOHb\NULc\NULd\NUL\NUL\NUL\210\SOHg\NUL>\STX\NUL\NULO\NUL$\NULP\NUL\191\SOH\192\SOH\NUL\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\139\NUL\140\NULj\NUL%\NUL\NUL\NULo\NUL_\NULp\NUL\NUL\NULq\NUL\194\SOH\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\165\NUL\166\NUL\167\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\211\SOHj\NULz\NUL{\NUL&\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\180\NUL\140\NULj\NUL\NUL\NULY\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NULh\NUL\195\SOHj\NUL\141\SOHG\ETX\170\NUL\141\SOH\t\ETX\170\NUL$\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\141\SOH\162\STX\170\NUL\141\SOH\168\STX\170\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL=\NUL\NUL\NUL\NUL\NUL%\NUL\146\NULc\NUL\233\SOHp\NUL\SOH\STXq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\STX\STX\141\SOH\206\SOH\170\NULw\NULx\NULh\NUL[\STXj\NUL\NUL\NULz\NUL{\NUL&\NUL\138\STX}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\149\SOHj\NUL\NUL\NUL<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL8\SOH<\254\&9\SOH\NUL\NUL:\SOH;\SOH<\254\NUL\NUL<\SOH=\SOH$\NUL\NUL\NUL\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL<\254\210\NULb\NULc\NUL\208\SOH\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL%\NUL\141\SOH\235\SOH\170\NULp\NULe\SOHq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NULf\SOH(\SOH)\SOH*\SOHw\NULx\NUL\169\NUL\206\SOH\170\NUL\NUL\NULz\NUL{\NUL&\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL(\SOH)\SOH*\SOH<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL<\254\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254+\STX\206\NUL\207\NUL$\NUL\NUL\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\ACK\NUL<\254\a\NUL\NUL\NUL\244\NUL\t\NULF\SOH<\NUL=\NUL\134\NUL\NUL\NUL%\NUL>\NUL\NUL\NUL?\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NULA\NUL\NUL\NULB\NULC\NUL\142\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NULD\NULE\NULF\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NULd\NULG\NUL\144\NULg\NUL&\NUL\NUL\NUL\NUL\NULH\NUL\NUL\NUL\NUL\NUL\SOH\STX\NUL\NUL\170\NUL\ACK\ETXj\NULI\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\STX\STX,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\187\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\145\NULj\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\161\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\162\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\163\NUL\132\NUL\159\NUL\134\NUL&\NUL<\254\NUL\NUL\ACK\NULf\SOH\a\NUL\NUL\NUL\244\NUL\t\NULG\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\SYN\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL$\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL%\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL\161\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\180\NUL\134\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\STX\162\NUL\170\NUL\NUL\NUL%\STX\NUL\NUL\163\NUL\161\STX\NUL\NUL\NUL\NUL&\NUL=\254\STX\STX\146\NULc\NUL\147\NUL&\STX\148\NULg\NUL\247\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\175\SOH\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\161\NUL\ACK\NUL\NUL\NUL\a\NUL\161\NUL\ACK\SOH\t\NUL\161\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NUL\149\NULj\NUL\NUL\NUL\162\NUL\163\NUL\NUL\NUL\162\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\163\NUL\CAN\NUL\EM\NUL%\NUL\ACK\NUL\NUL\NUL\a\NUL\164\NUL\b\SOH\t\NUL=\254\164\NUL\NUL\NUL\132\NUL\164\NUL\134\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\132\NUL\215\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\CAN\NUL\EM\NUL\NUL\NUL&\NUL\176\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL/\STX\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NULu\STX\NUL\NUL\214\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULK\SOH\ESC\NUL$\NULu\STX\NUL\NUL\NUL\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NULw\STXf\ETX\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULM\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX4\ETX\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULQ\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\DC1\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\147\NUL$\NUL\148\NULg\NUL\ACK\NUL\ESC\NUL\a\NULu\STX\v\SOH\t\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\CAN\NUL\EM\NUL$\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NULH\SOH\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\149\SOHj\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\CAN\NUL\EM\NUL<\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULf\SOH\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULR\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\161\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\ETX\SOH\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\134\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\ACK\NUL$\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULN\SOH\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\158\STX\206\NUL\207\NUL\159\STX\209\NUL\NUL\NUL\229\SOHb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\203\SOH\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\230\STX\NUL\NUL\NUL\NUL\204\SOH\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULL\SOH\ESC\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\156\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULO\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULP\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL$\NUL\ESC\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NULc\STX\NUL\NUL\ACK\NUL%\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL*\SOH\NUL\NUL$\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL%\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL%\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\f\SOH\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL&\NUL\CAN\NUL\EM\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX\NUL\NUL\146\NULc\NUL\233\SOH'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\149\SOHj\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\209\STX\NUL\NUL\NUL\NUL&\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL$\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\b\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\a\ETX\NUL\NUL\146\NULc\NUL\233\SOH\n\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NULf\SOH,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULm\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL$\NULn\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL=\254\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\134\NUL\NUL\NUL%\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\ACK\STX\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\135\NUL&\NUL\NUL\NUL\a\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL-\SOH.\SOH/\SOH0\SOH1\SOH2\SOH3\SOH4\SOH5\SOH6\SOH7\SOH\NUL\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\ACK\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\a\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\203\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\204\SOHq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NULm\NULr\NUL\NUL\NUL\203\SOHs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\204\SOHy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\SOH\STX\251\STX\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NUL\161\NUL\NUL\NUL\STX\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\162\NULq\NUL\NUL\NUL\NUL\NULr\NUL\163\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\132\NUL}\NUL\134\NUL\NUL\NUL\158\NUL=\254\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\176\SOH\177\SOH=\254S\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\132\NUL\NUL\NUL\134\NUL\181\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\199\STXj\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\149\SOHj\NUL\181\SOH\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NULh\NUL\204\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\SOHj\NUL\NUL\NULh\NUL_\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\185\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\216\NUL\185\NUL\NUL\NUL\217\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\218\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\171\NUL\186\NUL\172\NUL\NUL\NULh\NUL\186\SOHj\NUL\206\STX\NUL\NUL\173\NUL]\NUL^\NUL\a\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\b\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\252\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\253\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\NUL\NUL\171\NUL\NUL\NUL\172\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\221\NUL\173\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL#\STX\207\NUL\NUL\NUL\NUL\NUL\254\SOH\255\SOH\200\SOHc\NUL\201\SOH\242\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\151\NUL\NUL\NUL\152\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\159\SOH\NUL\NUL\160\SOH\NUL\NUL\NUL\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\161\SOH]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL_\NUL\156\NUL\NUL\NUL\162\SOH\243\SOHj\NUL_\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\NUL\NUL\212\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\241\SOHb\NULc\NUL\208\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\DC2\SOH\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\STX\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\129\STX\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\183\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NULU\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\239\SOH\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\240\SOH\NUL\NUL\FS\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\GS\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NULT\SOH\NUL\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH1\STX\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL2\STX\NUL\NUL\215\SOH\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\216\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\169\STXU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\247\STX\171\STX\172\STX\169\STXU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\170\STX\171\STX\172\STX\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\SO\SOHU\NUL\DC2\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\132\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\174\STXj\NUL\NUL\NUL\SO\SOHU\NULm\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NULh\NUL\174\STXj\NUL\NUL\NUL\172\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\173\NUL]\NUL^\NUL\174\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NULn\SOH\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\152\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\248\STX_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\DEL\STX\236\STXj\NUL\249\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NULb\SOHc\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL\DC2\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\141\SOH\DC3\STX\DC4\STXj\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL\NUL\NUL\143\NULb\NULc\NULd\NUL\NUL\NUL\144\NULg\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\170\SOH\NUL\NUL\NUL\NUL\174\NUL\185\STX\NUL\NUL\CAN\NUL\EM\NUL+\STX\206\NUL\207\NUL\NUL\NUL\156\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOHh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\SOH\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\173\SOHj\NUL\197\STX\DEL\STX\237\STXj\NUL\142\SOH\206\NUL\207\NUL\202\STX\159\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\192\STX\NUL\NULh\NUL\198\STXj\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULh\NUL\203\STXj\NUL\176\STX\NUL\NUL\ENQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\176\STX\NUL\NUL\177\STX\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\192\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NULo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\133\NUL\134\NUL\178\STX\195\NUL\NUL\NUL\NUL\NULu\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\161\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NULu\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\162\NUL\NUL\NUL\NUL\NUL\164\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NUL\134\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL=\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\208\STX\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\188\SOH\133\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254;\254;\254;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254o\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\167\SOH\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\133\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NUL\NUL\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL\NUL\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\NUL\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\180\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254;\254p\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL;\254;\254s\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\158\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\159\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NUL\NUL\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\STX\134\NUL'\ETXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULl\STXs\STXm\STXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL1\ETXs\STX\NUL\NUL2\ETXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NULs\STX\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\227\STX\CAN\NUL\EM\NUL\NUL\NULg\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL.\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\215\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\156\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULC\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULD\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\147\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\148\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\235\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULw\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULx\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULa\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL:\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\146\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULA\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NULB\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULC\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULW\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULZ\SOH\NUL\NUL\NUL\NUL[\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULz\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL|\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL~\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\DEL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\ETB\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULV\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULX\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL[\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULf\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\232\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\238\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL)\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULi\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULk\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULl\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\246\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULj\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULd\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NULV\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NULS\SOH\STX\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\t\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULY\ETX\v\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\SOH\ETX\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\203\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH7\STX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduceArr")) (UnGuardedRhs (App (App (Var (UnQual (Ident "array"))) (Tuple Boxed [Lit (Int 4),Lit (Int 463)])) (List [Tuple Boxed [Lit (Int 4),Var (UnQual (Ident "happyReduce_4"))],Tuple Boxed [Lit (Int 5),Var (UnQual (Ident "happyReduce_5"))],Tuple Boxed [Lit (Int 6),Var (UnQual (Ident "happyReduce_6"))],Tuple Boxed [Lit (Int 7),Var (UnQual (Ident "happyReduce_7"))],Tuple Boxed [Lit (Int 8),Var (UnQual (Ident "happyReduce_8"))],Tuple Boxed [Lit (Int 9),Var (UnQual (Ident "happyReduce_9"))],Tuple Boxed [Lit (Int 10),Var (UnQual (Ident "happyReduce_10"))],Tuple Boxed [Lit (Int 11),Var (UnQual (Ident "happyReduce_11"))],Tuple Boxed [Lit (Int 12),Var (UnQual (Ident "happyReduce_12"))],Tuple Boxed [Lit (Int 13),Var (UnQual (Ident "happyReduce_13"))],Tuple Boxed [Lit (Int 14),Var (UnQual (Ident "happyReduce_14"))],Tuple Boxed [Lit (Int 15),Var (UnQual (Ident "happyReduce_15"))],Tuple Boxed [Lit (Int 16),Var (UnQual (Ident "happyReduce_16"))],Tuple Boxed [Lit (Int 17),Var (UnQual (Ident "happyReduce_17"))],Tuple Boxed [Lit (Int 18),Var (UnQual (Ident "happyReduce_18"))],Tuple Boxed [Lit (Int 19),Var (UnQual (Ident "happyReduce_19"))],Tuple Boxed [Lit (Int 20),Var (UnQual (Ident "happyReduce_20"))],Tuple Boxed [Lit (Int 21),Var (UnQual (Ident "happyReduce_21"))],Tuple Boxed [Lit (Int 22),Var (UnQual (Ident "happyReduce_22"))],Tuple Boxed [Lit (Int 23),Var (UnQual (Ident "happyReduce_23"))],Tuple Boxed [Lit (Int 24),Var (UnQual (Ident "happyReduce_24"))],Tuple Boxed [Lit (Int 25),Var (UnQual (Ident "happyReduce_25"))],Tuple Boxed [Lit (Int 26),Var (UnQual (Ident "happyReduce_26"))],Tuple Boxed [Lit (Int 27),Var (UnQual (Ident "happyReduce_27"))],Tuple Boxed [Lit (Int 28),Var (UnQual (Ident "happyReduce_28"))],Tuple Boxed [Lit (Int 29),Var (UnQual (Ident "happyReduce_29"))],Tuple Boxed [Lit (Int 30),Var (UnQual (Ident "happyReduce_30"))],Tuple Boxed [Lit (Int 31),Var (UnQual (Ident "happyReduce_31"))],Tuple Boxed [Lit (Int 32),Var (UnQual (Ident "happyReduce_32"))],Tuple Boxed [Lit (Int 33),Var (UnQual (Ident "happyReduce_33"))],Tuple Boxed [Lit (Int 34),Var (UnQual (Ident "happyReduce_34"))],Tuple Boxed [Lit (Int 35),Var (UnQual (Ident "happyReduce_35"))],Tuple Boxed [Lit (Int 36),Var (UnQual (Ident "happyReduce_36"))],Tuple Boxed [Lit (Int 37),Var (UnQual (Ident "happyReduce_37"))],Tuple Boxed [Lit (Int 38),Var (UnQual (Ident "happyReduce_38"))],Tuple Boxed [Lit (Int 39),Var (UnQual (Ident "happyReduce_39"))],Tuple Boxed [Lit (Int 40),Var (UnQual (Ident "happyReduce_40"))],Tuple Boxed [Lit (Int 41),Var (UnQual (Ident "happyReduce_41"))],Tuple Boxed [Lit (Int 42),Var (UnQual (Ident "happyReduce_42"))],Tuple Boxed [Lit (Int 43),Var (UnQual (Ident "happyReduce_43"))],Tuple Boxed [Lit (Int 44),Var (UnQual (Ident "happyReduce_44"))],Tuple Boxed [Lit (Int 45),Var (UnQual (Ident "happyReduce_45"))],Tuple Boxed [Lit (Int 46),Var (UnQual (Ident "happyReduce_46"))],Tuple Boxed [Lit (Int 47),Var (UnQual (Ident "happyReduce_47"))],Tuple Boxed [Lit (Int 48),Var (UnQual (Ident "happyReduce_48"))],Tuple Boxed [Lit (Int 49),Var (UnQual (Ident "happyReduce_49"))],Tuple Boxed [Lit (Int 50),Var (UnQual (Ident "happyReduce_50"))],Tuple Boxed [Lit (Int 51),Var (UnQual (Ident "happyReduce_51"))],Tuple Boxed [Lit (Int 52),Var (UnQual (Ident "happyReduce_52"))],Tuple Boxed [Lit (Int 53),Var (UnQual (Ident "happyReduce_53"))],Tuple Boxed [Lit (Int 54),Var (UnQual (Ident "happyReduce_54"))],Tuple Boxed [Lit (Int 55),Var (UnQual (Ident "happyReduce_55"))],Tuple Boxed [Lit (Int 56),Var (UnQual (Ident "happyReduce_56"))],Tuple Boxed [Lit (Int 57),Var (UnQual (Ident "happyReduce_57"))],Tuple Boxed [Lit (Int 58),Var (UnQual (Ident "happyReduce_58"))],Tuple Boxed [Lit (Int 59),Var (UnQual (Ident "happyReduce_59"))],Tuple Boxed [Lit (Int 60),Var (UnQual (Ident "happyReduce_60"))],Tuple Boxed [Lit (Int 61),Var (UnQual (Ident "happyReduce_61"))],Tuple Boxed [Lit (Int 62),Var (UnQual (Ident "happyReduce_62"))],Tuple Boxed [Lit (Int 63),Var (UnQual (Ident "happyReduce_63"))],Tuple Boxed [Lit (Int 64),Var (UnQual (Ident "happyReduce_64"))],Tuple Boxed [Lit (Int 65),Var (UnQual (Ident "happyReduce_65"))],Tuple Boxed [Lit (Int 66),Var (UnQual (Ident "happyReduce_66"))],Tuple Boxed [Lit (Int 67),Var (UnQual (Ident "happyReduce_67"))],Tuple Boxed [Lit (Int 68),Var (UnQual (Ident "happyReduce_68"))],Tuple Boxed [Lit (Int 69),Var (UnQual (Ident "happyReduce_69"))],Tuple Boxed [Lit (Int 70),Var (UnQual (Ident "happyReduce_70"))],Tuple Boxed [Lit (Int 71),Var (UnQual (Ident "happyReduce_71"))],Tuple Boxed [Lit (Int 72),Var (UnQual (Ident "happyReduce_72"))],Tuple Boxed [Lit (Int 73),Var (UnQual (Ident "happyReduce_73"))],Tuple Boxed [Lit (Int 74),Var (UnQual (Ident "happyReduce_74"))],Tuple Boxed [Lit (Int 75),Var (UnQual (Ident "happyReduce_75"))],Tuple Boxed [Lit (Int 76),Var (UnQual (Ident "happyReduce_76"))],Tuple Boxed [Lit (Int 77),Var (UnQual (Ident "happyReduce_77"))],Tuple Boxed [Lit (Int 78),Var (UnQual (Ident "happyReduce_78"))],Tuple Boxed [Lit (Int 79),Var (UnQual (Ident "happyReduce_79"))],Tuple Boxed [Lit (Int 80),Var (UnQual (Ident "happyReduce_80"))],Tuple Boxed [Lit (Int 81),Var (UnQual (Ident "happyReduce_81"))],Tuple Boxed [Lit (Int 82),Var (UnQual (Ident "happyReduce_82"))],Tuple Boxed [Lit (Int 83),Var (UnQual (Ident "happyReduce_83"))],Tuple Boxed [Lit (Int 84),Var (UnQual (Ident "happyReduce_84"))],Tuple Boxed [Lit (Int 85),Var (UnQual (Ident "happyReduce_85"))],Tuple Boxed [Lit (Int 86),Var (UnQual (Ident "happyReduce_86"))],Tuple Boxed [Lit (Int 87),Var (UnQual (Ident "happyReduce_87"))],Tuple Boxed [Lit (Int 88),Var (UnQual (Ident "happyReduce_88"))],Tuple Boxed [Lit (Int 89),Var (UnQual (Ident "happyReduce_89"))],Tuple Boxed [Lit (Int 90),Var (UnQual (Ident "happyReduce_90"))],Tuple Boxed [Lit (Int 91),Var (UnQual (Ident "happyReduce_91"))],Tuple Boxed [Lit (Int 92),Var (UnQual (Ident "happyReduce_92"))],Tuple Boxed [Lit (Int 93),Var (UnQual (Ident "happyReduce_93"))],Tuple Boxed [Lit (Int 94),Var (UnQual (Ident "happyReduce_94"))],Tuple Boxed [Lit (Int 95),Var (UnQual (Ident "happyReduce_95"))],Tuple Boxed [Lit (Int 96),Var (UnQual (Ident "happyReduce_96"))],Tuple Boxed [Lit (Int 97),Var (UnQual (Ident "happyReduce_97"))],Tuple Boxed [Lit (Int 98),Var (UnQual (Ident "happyReduce_98"))],Tuple Boxed [Lit (Int 99),Var (UnQual (Ident "happyReduce_99"))],Tuple Boxed [Lit (Int 100),Var (UnQual (Ident "happyReduce_100"))],Tuple Boxed [Lit (Int 101),Var (UnQual (Ident "happyReduce_101"))],Tuple Boxed [Lit (Int 102),Var (UnQual (Ident "happyReduce_102"))],Tuple Boxed [Lit (Int 103),Var (UnQual (Ident "happyReduce_103"))],Tuple Boxed [Lit (Int 104),Var (UnQual (Ident "happyReduce_104"))],Tuple Boxed [Lit (Int 105),Var (UnQual (Ident "happyReduce_105"))],Tuple Boxed [Lit (Int 106),Var (UnQual (Ident "happyReduce_106"))],Tuple Boxed [Lit (Int 107),Var (UnQual (Ident "happyReduce_107"))],Tuple Boxed [Lit (Int 108),Var (UnQual (Ident "happyReduce_108"))],Tuple Boxed [Lit (Int 109),Var (UnQual (Ident "happyReduce_109"))],Tuple Boxed [Lit (Int 110),Var (UnQual (Ident "happyReduce_110"))],Tuple Boxed [Lit (Int 111),Var (UnQual (Ident "happyReduce_111"))],Tuple Boxed [Lit (Int 112),Var (UnQual (Ident "happyReduce_112"))],Tuple Boxed [Lit (Int 113),Var (UnQual (Ident "happyReduce_113"))],Tuple Boxed [Lit (Int 114),Var (UnQual (Ident "happyReduce_114"))],Tuple Boxed [Lit (Int 115),Var (UnQual (Ident "happyReduce_115"))],Tuple Boxed [Lit (Int 116),Var (UnQual (Ident "happyReduce_116"))],Tuple Boxed [Lit (Int 117),Var (UnQual (Ident "happyReduce_117"))],Tuple Boxed [Lit (Int 118),Var (UnQual (Ident "happyReduce_118"))],Tuple Boxed [Lit (Int 119),Var (UnQual (Ident "happyReduce_119"))],Tuple Boxed [Lit (Int 120),Var (UnQual (Ident "happyReduce_120"))],Tuple Boxed [Lit (Int 121),Var (UnQual (Ident "happyReduce_121"))],Tuple Boxed [Lit (Int 122),Var (UnQual (Ident "happyReduce_122"))],Tuple Boxed [Lit (Int 123),Var (UnQual (Ident "happyReduce_123"))],Tuple Boxed [Lit (Int 124),Var (UnQual (Ident "happyReduce_124"))],Tuple Boxed [Lit (Int 125),Var (UnQual (Ident "happyReduce_125"))],Tuple Boxed [Lit (Int 126),Var (UnQual (Ident "happyReduce_126"))],Tuple Boxed [Lit (Int 127),Var (UnQual (Ident "happyReduce_127"))],Tuple Boxed [Lit (Int 128),Var (UnQual (Ident "happyReduce_128"))],Tuple Boxed [Lit (Int 129),Var (UnQual (Ident "happyReduce_129"))],Tuple Boxed [Lit (Int 130),Var (UnQual (Ident "happyReduce_130"))],Tuple Boxed [Lit (Int 131),Var (UnQual (Ident "happyReduce_131"))],Tuple Boxed [Lit (Int 132),Var (UnQual (Ident "happyReduce_132"))],Tuple Boxed [Lit (Int 133),Var (UnQual (Ident "happyReduce_133"))],Tuple Boxed [Lit (Int 134),Var (UnQual (Ident "happyReduce_134"))],Tuple Boxed [Lit (Int 135),Var (UnQual (Ident "happyReduce_135"))],Tuple Boxed [Lit (Int 136),Var (UnQual (Ident "happyReduce_136"))],Tuple Boxed [Lit (Int 137),Var (UnQual (Ident "happyReduce_137"))],Tuple Boxed [Lit (Int 138),Var (UnQual (Ident "happyReduce_138"))],Tuple Boxed [Lit (Int 139),Var (UnQual (Ident "happyReduce_139"))],Tuple Boxed [Lit (Int 140),Var (UnQual (Ident "happyReduce_140"))],Tuple Boxed [Lit (Int 141),Var (UnQual (Ident "happyReduce_141"))],Tuple Boxed [Lit (Int 142),Var (UnQual (Ident "happyReduce_142"))],Tuple Boxed [Lit (Int 143),Var (UnQual (Ident "happyReduce_143"))],Tuple Boxed [Lit (Int 144),Var (UnQual (Ident "happyReduce_144"))],Tuple Boxed [Lit (Int 145),Var (UnQual (Ident "happyReduce_145"))],Tuple Boxed [Lit (Int 146),Var (UnQual (Ident "happyReduce_146"))],Tuple Boxed [Lit (Int 147),Var (UnQual (Ident "happyReduce_147"))],Tuple Boxed [Lit (Int 148),Var (UnQual (Ident "happyReduce_148"))],Tuple Boxed [Lit (Int 149),Var (UnQual (Ident "happyReduce_149"))],Tuple Boxed [Lit (Int 150),Var (UnQual (Ident "happyReduce_150"))],Tuple Boxed [Lit (Int 151),Var (UnQual (Ident "happyReduce_151"))],Tuple Boxed [Lit (Int 152),Var (UnQual (Ident "happyReduce_152"))],Tuple Boxed [Lit (Int 153),Var (UnQual (Ident "happyReduce_153"))],Tuple Boxed [Lit (Int 154),Var (UnQual (Ident "happyReduce_154"))],Tuple Boxed [Lit (Int 155),Var (UnQual (Ident "happyReduce_155"))],Tuple Boxed [Lit (Int 156),Var (UnQual (Ident "happyReduce_156"))],Tuple Boxed [Lit (Int 157),Var (UnQual (Ident "happyReduce_157"))],Tuple Boxed [Lit (Int 158),Var (UnQual (Ident "happyReduce_158"))],Tuple Boxed [Lit (Int 159),Var (UnQual (Ident "happyReduce_159"))],Tuple Boxed [Lit (Int 160),Var (UnQual (Ident "happyReduce_160"))],Tuple Boxed [Lit (Int 161),Var (UnQual (Ident "happyReduce_161"))],Tuple Boxed [Lit (Int 162),Var (UnQual (Ident "happyReduce_162"))],Tuple Boxed [Lit (Int 163),Var (UnQual (Ident "happyReduce_163"))],Tuple Boxed [Lit (Int 164),Var (UnQual (Ident "happyReduce_164"))],Tuple Boxed [Lit (Int 165),Var (UnQual (Ident "happyReduce_165"))],Tuple Boxed [Lit (Int 166),Var (UnQual (Ident "happyReduce_166"))],Tuple Boxed [Lit (Int 167),Var (UnQual (Ident "happyReduce_167"))],Tuple Boxed [Lit (Int 168),Var (UnQual (Ident "happyReduce_168"))],Tuple Boxed [Lit (Int 169),Var (UnQual (Ident "happyReduce_169"))],Tuple Boxed [Lit (Int 170),Var (UnQual (Ident "happyReduce_170"))],Tuple Boxed [Lit (Int 171),Var (UnQual (Ident "happyReduce_171"))],Tuple Boxed [Lit (Int 172),Var (UnQual (Ident "happyReduce_172"))],Tuple Boxed [Lit (Int 173),Var (UnQual (Ident "happyReduce_173"))],Tuple Boxed [Lit (Int 174),Var (UnQual (Ident "happyReduce_174"))],Tuple Boxed [Lit (Int 175),Var (UnQual (Ident "happyReduce_175"))],Tuple Boxed [Lit (Int 176),Var (UnQual (Ident "happyReduce_176"))],Tuple Boxed [Lit (Int 177),Var (UnQual (Ident "happyReduce_177"))],Tuple Boxed [Lit (Int 178),Var (UnQual (Ident "happyReduce_178"))],Tuple Boxed [Lit (Int 179),Var (UnQual (Ident "happyReduce_179"))],Tuple Boxed [Lit (Int 180),Var (UnQual (Ident "happyReduce_180"))],Tuple Boxed [Lit (Int 181),Var (UnQual (Ident "happyReduce_181"))],Tuple Boxed [Lit (Int 182),Var (UnQual (Ident "happyReduce_182"))],Tuple Boxed [Lit (Int 183),Var (UnQual (Ident "happyReduce_183"))],Tuple Boxed [Lit (Int 184),Var (UnQual (Ident "happyReduce_184"))],Tuple Boxed [Lit (Int 185),Var (UnQual (Ident "happyReduce_185"))],Tuple Boxed [Lit (Int 186),Var (UnQual (Ident "happyReduce_186"))],Tuple Boxed [Lit (Int 187),Var (UnQual (Ident "happyReduce_187"))],Tuple Boxed [Lit (Int 188),Var (UnQual (Ident "happyReduce_188"))],Tuple Boxed [Lit (Int 189),Var (UnQual (Ident "happyReduce_189"))],Tuple Boxed [Lit (Int 190),Var (UnQual (Ident "happyReduce_190"))],Tuple Boxed [Lit (Int 191),Var (UnQual (Ident "happyReduce_191"))],Tuple Boxed [Lit (Int 192),Var (UnQual (Ident "happyReduce_192"))],Tuple Boxed [Lit (Int 193),Var (UnQual (Ident "happyReduce_193"))],Tuple Boxed [Lit (Int 194),Var (UnQual (Ident "happyReduce_194"))],Tuple Boxed [Lit (Int 195),Var (UnQual (Ident "happyReduce_195"))],Tuple Boxed [Lit (Int 196),Var (UnQual (Ident "happyReduce_196"))],Tuple Boxed [Lit (Int 197),Var (UnQual (Ident "happyReduce_197"))],Tuple Boxed [Lit (Int 198),Var (UnQual (Ident "happyReduce_198"))],Tuple Boxed [Lit (Int 199),Var (UnQual (Ident "happyReduce_199"))],Tuple Boxed [Lit (Int 200),Var (UnQual (Ident "happyReduce_200"))],Tuple Boxed [Lit (Int 201),Var (UnQual (Ident "happyReduce_201"))],Tuple Boxed [Lit (Int 202),Var (UnQual (Ident "happyReduce_202"))],Tuple Boxed [Lit (Int 203),Var (UnQual (Ident "happyReduce_203"))],Tuple Boxed [Lit (Int 204),Var (UnQual (Ident "happyReduce_204"))],Tuple Boxed [Lit (Int 205),Var (UnQual (Ident "happyReduce_205"))],Tuple Boxed [Lit (Int 206),Var (UnQual (Ident "happyReduce_206"))],Tuple Boxed [Lit (Int 207),Var (UnQual (Ident "happyReduce_207"))],Tuple Boxed [Lit (Int 208),Var (UnQual (Ident "happyReduce_208"))],Tuple Boxed [Lit (Int 209),Var (UnQual (Ident "happyReduce_209"))],Tuple Boxed [Lit (Int 210),Var (UnQual (Ident "happyReduce_210"))],Tuple Boxed [Lit (Int 211),Var (UnQual (Ident "happyReduce_211"))],Tuple Boxed [Lit (Int 212),Var (UnQual (Ident "happyReduce_212"))],Tuple Boxed [Lit (Int 213),Var (UnQual (Ident "happyReduce_213"))],Tuple Boxed [Lit (Int 214),Var (UnQual (Ident "happyReduce_214"))],Tuple Boxed [Lit (Int 215),Var (UnQual (Ident "happyReduce_215"))],Tuple Boxed [Lit (Int 216),Var (UnQual (Ident "happyReduce_216"))],Tuple Boxed [Lit (Int 217),Var (UnQual (Ident "happyReduce_217"))],Tuple Boxed [Lit (Int 218),Var (UnQual (Ident "happyReduce_218"))],Tuple Boxed [Lit (Int 219),Var (UnQual (Ident "happyReduce_219"))],Tuple Boxed [Lit (Int 220),Var (UnQual (Ident "happyReduce_220"))],Tuple Boxed [Lit (Int 221),Var (UnQual (Ident "happyReduce_221"))],Tuple Boxed [Lit (Int 222),Var (UnQual (Ident "happyReduce_222"))],Tuple Boxed [Lit (Int 223),Var (UnQual (Ident "happyReduce_223"))],Tuple Boxed [Lit (Int 224),Var (UnQual (Ident "happyReduce_224"))],Tuple Boxed [Lit (Int 225),Var (UnQual (Ident "happyReduce_225"))],Tuple Boxed [Lit (Int 226),Var (UnQual (Ident "happyReduce_226"))],Tuple Boxed [Lit (Int 227),Var (UnQual (Ident "happyReduce_227"))],Tuple Boxed [Lit (Int 228),Var (UnQual (Ident "happyReduce_228"))],Tuple Boxed [Lit (Int 229),Var (UnQual (Ident "happyReduce_229"))],Tuple Boxed [Lit (Int 230),Var (UnQual (Ident "happyReduce_230"))],Tuple Boxed [Lit (Int 231),Var (UnQual (Ident "happyReduce_231"))],Tuple Boxed [Lit (Int 232),Var (UnQual (Ident "happyReduce_232"))],Tuple Boxed [Lit (Int 233),Var (UnQual (Ident "happyReduce_233"))],Tuple Boxed [Lit (Int 234),Var (UnQual (Ident "happyReduce_234"))],Tuple Boxed [Lit (Int 235),Var (UnQual (Ident "happyReduce_235"))],Tuple Boxed [Lit (Int 236),Var (UnQual (Ident "happyReduce_236"))],Tuple Boxed [Lit (Int 237),Var (UnQual (Ident "happyReduce_237"))],Tuple Boxed [Lit (Int 238),Var (UnQual (Ident "happyReduce_238"))],Tuple Boxed [Lit (Int 239),Var (UnQual (Ident "happyReduce_239"))],Tuple Boxed [Lit (Int 240),Var (UnQual (Ident "happyReduce_240"))],Tuple Boxed [Lit (Int 241),Var (UnQual (Ident "happyReduce_241"))],Tuple Boxed [Lit (Int 242),Var (UnQual (Ident "happyReduce_242"))],Tuple Boxed [Lit (Int 243),Var (UnQual (Ident "happyReduce_243"))],Tuple Boxed [Lit (Int 244),Var (UnQual (Ident "happyReduce_244"))],Tuple Boxed [Lit (Int 245),Var (UnQual (Ident "happyReduce_245"))],Tuple Boxed [Lit (Int 246),Var (UnQual (Ident "happyReduce_246"))],Tuple Boxed [Lit (Int 247),Var (UnQual (Ident "happyReduce_247"))],Tuple Boxed [Lit (Int 248),Var (UnQual (Ident "happyReduce_248"))],Tuple Boxed [Lit (Int 249),Var (UnQual (Ident "happyReduce_249"))],Tuple Boxed [Lit (Int 250),Var (UnQual (Ident "happyReduce_250"))],Tuple Boxed [Lit (Int 251),Var (UnQual (Ident "happyReduce_251"))],Tuple Boxed [Lit (Int 252),Var (UnQual (Ident "happyReduce_252"))],Tuple Boxed [Lit (Int 253),Var (UnQual (Ident "happyReduce_253"))],Tuple Boxed [Lit (Int 254),Var (UnQual (Ident "happyReduce_254"))],Tuple Boxed [Lit (Int 255),Var (UnQual (Ident "happyReduce_255"))],Tuple Boxed [Lit (Int 256),Var (UnQual (Ident "happyReduce_256"))],Tuple Boxed [Lit (Int 257),Var (UnQual (Ident "happyReduce_257"))],Tuple Boxed [Lit (Int 258),Var (UnQual (Ident "happyReduce_258"))],Tuple Boxed [Lit (Int 259),Var (UnQual (Ident "happyReduce_259"))],Tuple Boxed [Lit (Int 260),Var (UnQual (Ident "happyReduce_260"))],Tuple Boxed [Lit (Int 261),Var (UnQual (Ident "happyReduce_261"))],Tuple Boxed [Lit (Int 262),Var (UnQual (Ident "happyReduce_262"))],Tuple Boxed [Lit (Int 263),Var (UnQual (Ident "happyReduce_263"))],Tuple Boxed [Lit (Int 264),Var (UnQual (Ident "happyReduce_264"))],Tuple Boxed [Lit (Int 265),Var (UnQual (Ident "happyReduce_265"))],Tuple Boxed [Lit (Int 266),Var (UnQual (Ident "happyReduce_266"))],Tuple Boxed [Lit (Int 267),Var (UnQual (Ident "happyReduce_267"))],Tuple Boxed [Lit (Int 268),Var (UnQual (Ident "happyReduce_268"))],Tuple Boxed [Lit (Int 269),Var (UnQual (Ident "happyReduce_269"))],Tuple Boxed [Lit (Int 270),Var (UnQual (Ident "happyReduce_270"))],Tuple Boxed [Lit (Int 271),Var (UnQual (Ident "happyReduce_271"))],Tuple Boxed [Lit (Int 272),Var (UnQual (Ident "happyReduce_272"))],Tuple Boxed [Lit (Int 273),Var (UnQual (Ident "happyReduce_273"))],Tuple Boxed [Lit (Int 274),Var (UnQual (Ident "happyReduce_274"))],Tuple Boxed [Lit (Int 275),Var (UnQual (Ident "happyReduce_275"))],Tuple Boxed [Lit (Int 276),Var (UnQual (Ident "happyReduce_276"))],Tuple Boxed [Lit (Int 277),Var (UnQual (Ident "happyReduce_277"))],Tuple Boxed [Lit (Int 278),Var (UnQual (Ident "happyReduce_278"))],Tuple Boxed [Lit (Int 279),Var (UnQual (Ident "happyReduce_279"))],Tuple Boxed [Lit (Int 280),Var (UnQual (Ident "happyReduce_280"))],Tuple Boxed [Lit (Int 281),Var (UnQual (Ident "happyReduce_281"))],Tuple Boxed [Lit (Int 282),Var (UnQual (Ident "happyReduce_282"))],Tuple Boxed [Lit (Int 283),Var (UnQual (Ident "happyReduce_283"))],Tuple Boxed [Lit (Int 284),Var (UnQual (Ident "happyReduce_284"))],Tuple Boxed [Lit (Int 285),Var (UnQual (Ident "happyReduce_285"))],Tuple Boxed [Lit (Int 286),Var (UnQual (Ident "happyReduce_286"))],Tuple Boxed [Lit (Int 287),Var (UnQual (Ident "happyReduce_287"))],Tuple Boxed [Lit (Int 288),Var (UnQual (Ident "happyReduce_288"))],Tuple Boxed [Lit (Int 289),Var (UnQual (Ident "happyReduce_289"))],Tuple Boxed [Lit (Int 290),Var (UnQual (Ident "happyReduce_290"))],Tuple Boxed [Lit (Int 291),Var (UnQual (Ident "happyReduce_291"))],Tuple Boxed [Lit (Int 292),Var (UnQual (Ident "happyReduce_292"))],Tuple Boxed [Lit (Int 293),Var (UnQual (Ident "happyReduce_293"))],Tuple Boxed [Lit (Int 294),Var (UnQual (Ident "happyReduce_294"))],Tuple Boxed [Lit (Int 295),Var (UnQual (Ident "happyReduce_295"))],Tuple Boxed [Lit (Int 296),Var (UnQual (Ident "happyReduce_296"))],Tuple Boxed [Lit (Int 297),Var (UnQual (Ident "happyReduce_297"))],Tuple Boxed [Lit (Int 298),Var (UnQual (Ident "happyReduce_298"))],Tuple Boxed [Lit (Int 299),Var (UnQual (Ident "happyReduce_299"))],Tuple Boxed [Lit (Int 300),Var (UnQual (Ident "happyReduce_300"))],Tuple Boxed [Lit (Int 301),Var (UnQual (Ident "happyReduce_301"))],Tuple Boxed [Lit (Int 302),Var (UnQual (Ident "happyReduce_302"))],Tuple Boxed [Lit (Int 303),Var (UnQual (Ident "happyReduce_303"))],Tuple Boxed [Lit (Int 304),Var (UnQual (Ident "happyReduce_304"))],Tuple Boxed [Lit (Int 305),Var (UnQual (Ident "happyReduce_305"))],Tuple Boxed [Lit (Int 306),Var (UnQual (Ident "happyReduce_306"))],Tuple Boxed [Lit (Int 307),Var (UnQual (Ident "happyReduce_307"))],Tuple Boxed [Lit (Int 308),Var (UnQual (Ident "happyReduce_308"))],Tuple Boxed [Lit (Int 309),Var (UnQual (Ident "happyReduce_309"))],Tuple Boxed [Lit (Int 310),Var (UnQual (Ident "happyReduce_310"))],Tuple Boxed [Lit (Int 311),Var (UnQual (Ident "happyReduce_311"))],Tuple Boxed [Lit (Int 312),Var (UnQual (Ident "happyReduce_312"))],Tuple Boxed [Lit (Int 313),Var (UnQual (Ident "happyReduce_313"))],Tuple Boxed [Lit (Int 314),Var (UnQual (Ident "happyReduce_314"))],Tuple Boxed [Lit (Int 315),Var (UnQual (Ident "happyReduce_315"))],Tuple Boxed [Lit (Int 316),Var (UnQual (Ident "happyReduce_316"))],Tuple Boxed [Lit (Int 317),Var (UnQual (Ident "happyReduce_317"))],Tuple Boxed [Lit (Int 318),Var (UnQual (Ident "happyReduce_318"))],Tuple Boxed [Lit (Int 319),Var (UnQual (Ident "happyReduce_319"))],Tuple Boxed [Lit (Int 320),Var (UnQual (Ident "happyReduce_320"))],Tuple Boxed [Lit (Int 321),Var (UnQual (Ident "happyReduce_321"))],Tuple Boxed [Lit (Int 322),Var (UnQual (Ident "happyReduce_322"))],Tuple Boxed [Lit (Int 323),Var (UnQual (Ident "happyReduce_323"))],Tuple Boxed [Lit (Int 324),Var (UnQual (Ident "happyReduce_324"))],Tuple Boxed [Lit (Int 325),Var (UnQual (Ident "happyReduce_325"))],Tuple Boxed [Lit (Int 326),Var (UnQual (Ident "happyReduce_326"))],Tuple Boxed [Lit (Int 327),Var (UnQual (Ident "happyReduce_327"))],Tuple Boxed [Lit (Int 328),Var (UnQual (Ident "happyReduce_328"))],Tuple Boxed [Lit (Int 329),Var (UnQual (Ident "happyReduce_329"))],Tuple Boxed [Lit (Int 330),Var (UnQual (Ident "happyReduce_330"))],Tuple Boxed [Lit (Int 331),Var (UnQual (Ident "happyReduce_331"))],Tuple Boxed [Lit (Int 332),Var (UnQual (Ident "happyReduce_332"))],Tuple Boxed [Lit (Int 333),Var (UnQual (Ident "happyReduce_333"))],Tuple Boxed [Lit (Int 334),Var (UnQual (Ident "happyReduce_334"))],Tuple Boxed [Lit (Int 335),Var (UnQual (Ident "happyReduce_335"))],Tuple Boxed [Lit (Int 336),Var (UnQual (Ident "happyReduce_336"))],Tuple Boxed [Lit (Int 337),Var (UnQual (Ident "happyReduce_337"))],Tuple Boxed [Lit (Int 338),Var (UnQual (Ident "happyReduce_338"))],Tuple Boxed [Lit (Int 339),Var (UnQual (Ident "happyReduce_339"))],Tuple Boxed [Lit (Int 340),Var (UnQual (Ident "happyReduce_340"))],Tuple Boxed [Lit (Int 341),Var (UnQual (Ident "happyReduce_341"))],Tuple Boxed [Lit (Int 342),Var (UnQual (Ident "happyReduce_342"))],Tuple Boxed [Lit (Int 343),Var (UnQual (Ident "happyReduce_343"))],Tuple Boxed [Lit (Int 344),Var (UnQual (Ident "happyReduce_344"))],Tuple Boxed [Lit (Int 345),Var (UnQual (Ident "happyReduce_345"))],Tuple Boxed [Lit (Int 346),Var (UnQual (Ident "happyReduce_346"))],Tuple Boxed [Lit (Int 347),Var (UnQual (Ident "happyReduce_347"))],Tuple Boxed [Lit (Int 348),Var (UnQual (Ident "happyReduce_348"))],Tuple Boxed [Lit (Int 349),Var (UnQual (Ident "happyReduce_349"))],Tuple Boxed [Lit (Int 350),Var (UnQual (Ident "happyReduce_350"))],Tuple Boxed [Lit (Int 351),Var (UnQual (Ident "happyReduce_351"))],Tuple Boxed [Lit (Int 352),Var (UnQual (Ident "happyReduce_352"))],Tuple Boxed [Lit (Int 353),Var (UnQual (Ident "happyReduce_353"))],Tuple Boxed [Lit (Int 354),Var (UnQual (Ident "happyReduce_354"))],Tuple Boxed [Lit (Int 355),Var (UnQual (Ident "happyReduce_355"))],Tuple Boxed [Lit (Int 356),Var (UnQual (Ident "happyReduce_356"))],Tuple Boxed [Lit (Int 357),Var (UnQual (Ident "happyReduce_357"))],Tuple Boxed [Lit (Int 358),Var (UnQual (Ident "happyReduce_358"))],Tuple Boxed [Lit (Int 359),Var (UnQual (Ident "happyReduce_359"))],Tuple Boxed [Lit (Int 360),Var (UnQual (Ident "happyReduce_360"))],Tuple Boxed [Lit (Int 361),Var (UnQual (Ident "happyReduce_361"))],Tuple Boxed [Lit (Int 362),Var (UnQual (Ident "happyReduce_362"))],Tuple Boxed [Lit (Int 363),Var (UnQual (Ident "happyReduce_363"))],Tuple Boxed [Lit (Int 364),Var (UnQual (Ident "happyReduce_364"))],Tuple Boxed [Lit (Int 365),Var (UnQual (Ident "happyReduce_365"))],Tuple Boxed [Lit (Int 366),Var (UnQual (Ident "happyReduce_366"))],Tuple Boxed [Lit (Int 367),Var (UnQual (Ident "happyReduce_367"))],Tuple Boxed [Lit (Int 368),Var (UnQual (Ident "happyReduce_368"))],Tuple Boxed [Lit (Int 369),Var (UnQual (Ident "happyReduce_369"))],Tuple Boxed [Lit (Int 370),Var (UnQual (Ident "happyReduce_370"))],Tuple Boxed [Lit (Int 371),Var (UnQual (Ident "happyReduce_371"))],Tuple Boxed [Lit (Int 372),Var (UnQual (Ident "happyReduce_372"))],Tuple Boxed [Lit (Int 373),Var (UnQual (Ident "happyReduce_373"))],Tuple Boxed [Lit (Int 374),Var (UnQual (Ident "happyReduce_374"))],Tuple Boxed [Lit (Int 375),Var (UnQual (Ident "happyReduce_375"))],Tuple Boxed [Lit (Int 376),Var (UnQual (Ident "happyReduce_376"))],Tuple Boxed [Lit (Int 377),Var (UnQual (Ident "happyReduce_377"))],Tuple Boxed [Lit (Int 378),Var (UnQual (Ident "happyReduce_378"))],Tuple Boxed [Lit (Int 379),Var (UnQual (Ident "happyReduce_379"))],Tuple Boxed [Lit (Int 380),Var (UnQual (Ident "happyReduce_380"))],Tuple Boxed [Lit (Int 381),Var (UnQual (Ident "happyReduce_381"))],Tuple Boxed [Lit (Int 382),Var (UnQual (Ident "happyReduce_382"))],Tuple Boxed [Lit (Int 383),Var (UnQual (Ident "happyReduce_383"))],Tuple Boxed [Lit (Int 384),Var (UnQual (Ident "happyReduce_384"))],Tuple Boxed [Lit (Int 385),Var (UnQual (Ident "happyReduce_385"))],Tuple Boxed [Lit (Int 386),Var (UnQual (Ident "happyReduce_386"))],Tuple Boxed [Lit (Int 387),Var (UnQual (Ident "happyReduce_387"))],Tuple Boxed [Lit (Int 388),Var (UnQual (Ident "happyReduce_388"))],Tuple Boxed [Lit (Int 389),Var (UnQual (Ident "happyReduce_389"))],Tuple Boxed [Lit (Int 390),Var (UnQual (Ident "happyReduce_390"))],Tuple Boxed [Lit (Int 391),Var (UnQual (Ident "happyReduce_391"))],Tuple Boxed [Lit (Int 392),Var (UnQual (Ident "happyReduce_392"))],Tuple Boxed [Lit (Int 393),Var (UnQual (Ident "happyReduce_393"))],Tuple Boxed [Lit (Int 394),Var (UnQual (Ident "happyReduce_394"))],Tuple Boxed [Lit (Int 395),Var (UnQual (Ident "happyReduce_395"))],Tuple Boxed [Lit (Int 396),Var (UnQual (Ident "happyReduce_396"))],Tuple Boxed [Lit (Int 397),Var (UnQual (Ident "happyReduce_397"))],Tuple Boxed [Lit (Int 398),Var (UnQual (Ident "happyReduce_398"))],Tuple Boxed [Lit (Int 399),Var (UnQual (Ident "happyReduce_399"))],Tuple Boxed [Lit (Int 400),Var (UnQual (Ident "happyReduce_400"))],Tuple Boxed [Lit (Int 401),Var (UnQual (Ident "happyReduce_401"))],Tuple Boxed [Lit (Int 402),Var (UnQual (Ident "happyReduce_402"))],Tuple Boxed [Lit (Int 403),Var (UnQual (Ident "happyReduce_403"))],Tuple Boxed [Lit (Int 404),Var (UnQual (Ident "happyReduce_404"))],Tuple Boxed [Lit (Int 405),Var (UnQual (Ident "happyReduce_405"))],Tuple Boxed [Lit (Int 406),Var (UnQual (Ident "happyReduce_406"))],Tuple Boxed [Lit (Int 407),Var (UnQual (Ident "happyReduce_407"))],Tuple Boxed [Lit (Int 408),Var (UnQual (Ident "happyReduce_408"))],Tuple Boxed [Lit (Int 409),Var (UnQual (Ident "happyReduce_409"))],Tuple Boxed [Lit (Int 410),Var (UnQual (Ident "happyReduce_410"))],Tuple Boxed [Lit (Int 411),Var (UnQual (Ident "happyReduce_411"))],Tuple Boxed [Lit (Int 412),Var (UnQual (Ident "happyReduce_412"))],Tuple Boxed [Lit (Int 413),Var (UnQual (Ident "happyReduce_413"))],Tuple Boxed [Lit (Int 414),Var (UnQual (Ident "happyReduce_414"))],Tuple Boxed [Lit (Int 415),Var (UnQual (Ident "happyReduce_415"))],Tuple Boxed [Lit (Int 416),Var (UnQual (Ident "happyReduce_416"))],Tuple Boxed [Lit (Int 417),Var (UnQual (Ident "happyReduce_417"))],Tuple Boxed [Lit (Int 418),Var (UnQual (Ident "happyReduce_418"))],Tuple Boxed [Lit (Int 419),Var (UnQual (Ident "happyReduce_419"))],Tuple Boxed [Lit (Int 420),Var (UnQual (Ident "happyReduce_420"))],Tuple Boxed [Lit (Int 421),Var (UnQual (Ident "happyReduce_421"))],Tuple Boxed [Lit (Int 422),Var (UnQual (Ident "happyReduce_422"))],Tuple Boxed [Lit (Int 423),Var (UnQual (Ident "happyReduce_423"))],Tuple Boxed [Lit (Int 424),Var (UnQual (Ident "happyReduce_424"))],Tuple Boxed [Lit (Int 425),Var (UnQual (Ident "happyReduce_425"))],Tuple Boxed [Lit (Int 426),Var (UnQual (Ident "happyReduce_426"))],Tuple Boxed [Lit (Int 427),Var (UnQual (Ident "happyReduce_427"))],Tuple Boxed [Lit (Int 428),Var (UnQual (Ident "happyReduce_428"))],Tuple Boxed [Lit (Int 429),Var (UnQual (Ident "happyReduce_429"))],Tuple Boxed [Lit (Int 430),Var (UnQual (Ident "happyReduce_430"))],Tuple Boxed [Lit (Int 431),Var (UnQual (Ident "happyReduce_431"))],Tuple Boxed [Lit (Int 432),Var (UnQual (Ident "happyReduce_432"))],Tuple Boxed [Lit (Int 433),Var (UnQual (Ident "happyReduce_433"))],Tuple Boxed [Lit (Int 434),Var (UnQual (Ident "happyReduce_434"))],Tuple Boxed [Lit (Int 435),Var (UnQual (Ident "happyReduce_435"))],Tuple Boxed [Lit (Int 436),Var (UnQual (Ident "happyReduce_436"))],Tuple Boxed [Lit (Int 437),Var (UnQual (Ident "happyReduce_437"))],Tuple Boxed [Lit (Int 438),Var (UnQual (Ident "happyReduce_438"))],Tuple Boxed [Lit (Int 439),Var (UnQual (Ident "happyReduce_439"))],Tuple Boxed [Lit (Int 440),Var (UnQual (Ident "happyReduce_440"))],Tuple Boxed [Lit (Int 441),Var (UnQual (Ident "happyReduce_441"))],Tuple Boxed [Lit (Int 442),Var (UnQual (Ident "happyReduce_442"))],Tuple Boxed [Lit (Int 443),Var (UnQual (Ident "happyReduce_443"))],Tuple Boxed [Lit (Int 444),Var (UnQual (Ident "happyReduce_444"))],Tuple Boxed [Lit (Int 445),Var (UnQual (Ident "happyReduce_445"))],Tuple Boxed [Lit (Int 446),Var (UnQual (Ident "happyReduce_446"))],Tuple Boxed [Lit (Int 447),Var (UnQual (Ident "happyReduce_447"))],Tuple Boxed [Lit (Int 448),Var (UnQual (Ident "happyReduce_448"))],Tuple Boxed [Lit (Int 449),Var (UnQual (Ident "happyReduce_449"))],Tuple Boxed [Lit (Int 450),Var (UnQual (Ident "happyReduce_450"))],Tuple Boxed [Lit (Int 451),Var (UnQual (Ident "happyReduce_451"))],Tuple Boxed [Lit (Int 452),Var (UnQual (Ident "happyReduce_452"))],Tuple Boxed [Lit (Int 453),Var (UnQual (Ident "happyReduce_453"))],Tuple Boxed [Lit (Int 454),Var (UnQual (Ident "happyReduce_454"))],Tuple Boxed [Lit (Int 455),Var (UnQual (Ident "happyReduce_455"))],Tuple Boxed [Lit (Int 456),Var (UnQual (Ident "happyReduce_456"))],Tuple Boxed [Lit (Int 457),Var (UnQual (Ident "happyReduce_457"))],Tuple Boxed [Lit (Int 458),Var (UnQual (Ident "happyReduce_458"))],Tuple Boxed [Lit (Int 459),Var (UnQual (Ident "happyReduce_459"))],Tuple Boxed [Lit (Int 460),Var (UnQual (Ident "happyReduce_460"))],Tuple Boxed [Lit (Int 461),Var (UnQual (Ident "happyReduce_461"))],Tuple Boxed [Lit (Int 462),Var (UnQual (Ident "happyReduce_462"))],Tuple Boxed [Lit (Int 463),Var (UnQual (Ident "happyReduce_463"))]]))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happy_n_terms")) (UnGuardedRhs (ExpTypeSig (SrcLoc "" -1 -1) (Lit (Int 102)) (TyCon (UnQual (Ident "Int"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happy_n_nonterms")) (UnGuardedRhs (ExpTypeSig (SrcLoc "" -1 -1) (Lit (Int 125)) (TyCon (UnQual (Ident "Int"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_4")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 0))) (Var (UnQual (Ident "happyReduction_4"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_4") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "decls")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Case (Var (UnQual (Ident "decls"))) [Alt (SrcLoc "" -1 -1) (PList []) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "n")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc "" -1 -1) (PVar (Ident "p")) (Var (UnQual (Ident "getCurrentPosition"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))) (Paren (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "p")))) (Tuple Boxed [Var (UnQual (Ident "p")),Lit (Int 0)])) (Var (UnQual (Ident "n")))))))])) Nothing,Alt (SrcLoc "" -1 -1) (PParen (PInfixApp (PVar (Ident "d")) (Special Cons) (PVar (Ident "ds")))) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "d")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn7"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_5")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_5"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_5")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_6")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_6"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_6") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_7")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_7"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_7") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_8")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_8"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_8") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut10"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CFDefExt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_9")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_9"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_9") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CDeclExt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_10")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_10"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_10") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_11")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_11"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_11") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAsmExt"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn9"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_12")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_12"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_12") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (List [])) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_13")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_13"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_13") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_14")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_14"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_14") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_15")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_15"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_15") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_16")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_16"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_16") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_17")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_17"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_17") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_18")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_18"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_18") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_19")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_19"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_19") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_20")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_20"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_20") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_21")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_21"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_21") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_22")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_22"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_22") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_23")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_23"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_23") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_24")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_24"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_24") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_25")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_25"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_25") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_26")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 4))) (Var (UnQual (Ident "happyReduction_26"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_26") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declr")) (UnGuardedRhs (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (InfixApp (InfixApp (Var (UnQual (Ident "enterScope"))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "doFuncParamDeclIdent"))) (Var (UnQual (Ident "declr"))))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "declr")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn11"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_27")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_27"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_27") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut13"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_28")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_28"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_28") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_29")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_29"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_29") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut22"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_30")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_30"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_30") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut23"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_31")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_31"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_31") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut24"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_32")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_32"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_32") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut25"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_33")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_33"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_33") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut26"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (App (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "CAsm"))) (Var (UnQual (Ident "happy_var_1")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn12"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_34")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_34"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_34") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CLabel"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_35")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_35"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_35") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCase"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_36")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_36"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_36") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CDefault"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_37")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_37"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_37") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCases"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_38")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_38"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_38") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (List [])) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_39")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_39"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_39") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_40")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 8))) (Var (UnQual (Ident "happyReduction_40"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_40") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "enterScope")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn15"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_41")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 9))) (Var (UnQual (Ident "happyReduction_41"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_41") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "leaveScope")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn16"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_42")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_42"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_42")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_43")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_43"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_43") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut18"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_44")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_44"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_44") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn18"))) (Paren (App (Con (UnQual (Ident "CBlockStmt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_45")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_45"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_45") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn18"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_46")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_46"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_46") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CBlockDecl"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_47")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_47"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_47") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut20"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CNestedFunDef"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_48")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_48"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_48") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_49")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_49"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_49") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_50")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_50"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_50") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_51")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_51"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_51") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_52")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_52"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_52") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_53")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_53"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_53") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_54")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_54"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_54") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn21"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_55")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_55"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_55") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn21"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappendr"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_56")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_56"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_56") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Con (UnQual (Ident "Nothing"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_57")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_57"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_57") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_58")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_58"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_58") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "Nothing"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_59")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_59"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_59") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_7"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_60")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_60"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_60") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CSwitch"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_61")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_61"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_61") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "False"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_62")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_62"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_62") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_2")))) (Con (UnQual (Ident "True"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_63")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 9))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_63"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_63") [PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_9")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Left"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_64")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_64"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_64") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_9")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_65")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_65"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_65") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGoto"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_66")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_66"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_66") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGotoPtr"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_67")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_67"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_67") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCont")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_68")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_68"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_68") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBreak")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_69")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_69"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_69") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CReturn"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_70")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_70"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_70") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (List [])) (List [])) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_71")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 8))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_71"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_71") [PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (List [])) (List []))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_72")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_72"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_72") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_8")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (List []))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_73")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 12))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_73"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_73") [PParen (PInfixApp (PVar (Ident "happy_x_12")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_11")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_8")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_10")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_10")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_10"))))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_74")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_74"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_74")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_75")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_75"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_75") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_76")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_76"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_76")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (List [])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_77")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_77"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_77") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_78")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_78"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_78") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn29"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_79")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_79"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_79") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn29"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_80")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_80"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_80") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_81")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_81"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_81") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_82")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_82"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_82") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_83")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_83"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_83") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn31"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_84")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_84"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_84") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn31"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_85")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_85"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_85") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_86")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_86"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_86") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_87")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_87"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_87") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) Nothing]))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_88")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_88"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_88") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) Nothing]))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_89")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_89"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_89")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_90")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_90"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_90") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_91")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_91"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_91") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_92")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_92"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_92") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_93")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_93"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_93") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_5")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_94")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_94"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_94") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_95")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_95"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_95") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))))])) Nothing]))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_96")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 28))) (Var (UnQual (Ident "happyReduction_96"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_96") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut64"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn35"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_97")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_97"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_97") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_98")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_98"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_98") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_99")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_99"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_99") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (App (Var (UnQual (Ident "return"))) (Paren (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))))])) Nothing]))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_100")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_100"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_100") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_101")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_101"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_101") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_102")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_102"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_102") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_103")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_103"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_103") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_104")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_104"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_104") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_105")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_105"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_105") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_106")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_106"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_106") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_107")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_107"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_107") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_108")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_108"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_108") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_109")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_109"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_109") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_110")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_110"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_110") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_111")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_111"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_111") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CTypedef")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_112")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_112"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_112") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CExtern")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_113")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_113"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_113") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CStatic")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_114")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_114"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_114") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CAuto")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_115")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_115"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_115") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRegister")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_116")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_116"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_116") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CThread")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_117")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_117"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_117") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_118")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_118"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_118") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_119")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_119"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_119") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_120")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_120"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_120") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVoidType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_121")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_121"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_121") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCharType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_122")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_122"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_122") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CShortType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_123")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_123"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_123") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CIntType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_124")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_124"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_124") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CLongType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_125")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_125"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_125") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CFloatType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_126")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_126"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_126") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CDoubleType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_127")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_127"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_127") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CSignedType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_128")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_128"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_128") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CUnsigType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_129")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_129"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_129") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBoolType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_130")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_130"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_130") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CComplexType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_131")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_131"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_131") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_132")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_132"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_132") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_133")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_133"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_133") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_134")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_134"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_134") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_135")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_135"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_135") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_136")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_136"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_136") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_137")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_137"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_137") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_138")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_138"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_138") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_139")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_139"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_139") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_140")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_140"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_140") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_141")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_141"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_141") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_142")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_142"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_142") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_143")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_143"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_143") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_144")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_144"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_144") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_145")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_145"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_145") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_146")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_146"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_146") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_147")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_147"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_147") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_148")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_148"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_148") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_149")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_149"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_149") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_150")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_150"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_150") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_151")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_151"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_151") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_152")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_152"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_152") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_153")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_153"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_153") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_154")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_154"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_154") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_155")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_155"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_155") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_156")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_156"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_156") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_157")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_157"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_157") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_158")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_158"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_158") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_159")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_159"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_159") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_160")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_160"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_160") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_161")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_161"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_161") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_162")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_162"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_162") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_163")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_163"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_163") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_164")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_164"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_164") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_165")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_165"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_165") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_166")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_166"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_166") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_167")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_167"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_167") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_168")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_168"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_168") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_169")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_169"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_169") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_170")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_170"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_170") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_171")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_171"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_171") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn48"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_172")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_172"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_172") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn48"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_173")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_173"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_173") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut50"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSUType"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_174")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_174"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_174") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut58"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CEnumType"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_175")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_175"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_175") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_176")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_176"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_176") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_177")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_177"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_177") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_178")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_178"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_178") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CStructTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_179")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_179"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_179") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CUnionTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_180")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_180"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_180")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_181")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_181"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_181") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_182")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_182"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_182") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_183")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_183"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_183") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_184")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_184"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_184") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_185")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_185"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_185") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_186")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_186"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_186") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_3"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_187")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_187"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_187") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_188")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_188"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_188") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn54"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])) Nothing]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_189")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_189"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_189") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_190")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_190"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_190") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn55"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "attr")]) (UnGuardedRhs (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) Nothing])) Nothing]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_191")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_191"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_191") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_192")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_192"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_192") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_193")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_193"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_193") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_194")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_194"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_194") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_195")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_195"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_195") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_196")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_196"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_196") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_197")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_197"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_197") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_198")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_198"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_198") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "expr")]) (UnGuardedRhs (Tuple Boxed [Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "expr"))])) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "name"),PVar (Ident "derived"),PVar (Ident "asmname"),PVar (Ident "attrs"),PVar (Ident "node")])],PVar (Ident "bsz")]) (UnGuardedRhs (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "name")))) (Var (UnQual (Ident "derived")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "node"))))),Var (UnQual (Ident "bsz"))])) Nothing])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_199")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_199"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_199") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_200")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_200"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_200") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_201")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_201"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_201") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_202")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_202"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_202") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_203")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_203"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_203") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_204")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_204"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_204") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn59"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_205")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_205"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_205") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn59"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_206")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_206"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_206") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_207")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_207"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_207") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_208")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_208"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_208") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CConstQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_209")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_209"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_209") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVolatQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_210")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_210"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_210") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRestrQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_211")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_211"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_211") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CInlineQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_212")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_212"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_212") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_213")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_213"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_213") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_214")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_214"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_214") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappend"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_215")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_215"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_215") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_216")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_216"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_216") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut65"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_217")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_217"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_217")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn64"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_218")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_218"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_218") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn64"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_219")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_219"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_219") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_220")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_220"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_220") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_221")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_221"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_221") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_222")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_222"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_222") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_223")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_223"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_223") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn66"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_224")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_224"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_224") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut68"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn67"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_225")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_225"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_225") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_226")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_226"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_226") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_227")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_227"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_227") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_228")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_228"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_228") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_229")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_229"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_229") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn68"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_230")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_230"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_230") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_231")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_231"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_231") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_232")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_232"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_232") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_233")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_233"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_233") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut70"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn69"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_234")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_234"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_234") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_235")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_235"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_235") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_236")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_236"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_236") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_237")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_237"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_237") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_238")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_238"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_238") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_239")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_239"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_239") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_240")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_240"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_240") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn70"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_241")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_241"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_241") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_242")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_242"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_242") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_243")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_243"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_243") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn71"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_244")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_244"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_244") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn71"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_245")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_245"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_245") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_246")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_246"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_246") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_247")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_247"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_247") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut74"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn73"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_248")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_248"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_248") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_249")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_249"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_249") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_250")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_250"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_250") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_251")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_251"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_251") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_252")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_252"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_252") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_253")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_253"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_253") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn74"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_254")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_254"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_254") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_255")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_255"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_255") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_256")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_256"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_256") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_257")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_257"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_257") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn75"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_258")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_258"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_258") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn75"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_259")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_259"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_259") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn75"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_260")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 69))) (Var (UnQual (Ident "happyReduction_260"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_260") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn76"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_261")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_261"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_261") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut78"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn77"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_262")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_262"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_262") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_263")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_263"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_263") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_264")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_264"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_264") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Con (UnQual (Ident "Left"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn78"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_265")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_265"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_265") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn78"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_266")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_266"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_266") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn78"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_267")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_267"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_267")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [List [],Con (UnQual (Ident "False"))])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_268")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_268"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_268") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "False"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_269")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_269"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_269") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "True"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_270")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_270"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_270") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn80"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_271")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_271"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_271") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn80"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_272")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_272"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_272") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_273")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_273"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_273") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_274")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_274"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_274") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_275")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_275"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_275") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_276")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_276"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_276") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_277")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_277"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_277") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_278")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_278"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_278") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_279")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_279"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_279") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_280")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_280"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_280") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_281")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_281"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_281") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_282")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_282"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_282") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_283")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_283"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_283") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_284")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_284"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_284") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_285")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_285"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_285") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_286")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_286"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_286") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_287")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_287"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_287") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn82"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_288")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_288"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_288") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn82"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_289")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_289"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_289") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_290")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_290"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_290") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_291")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_291"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_291") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_292")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_292"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_292") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_293")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_293"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_293") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_294")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_294"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_294") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_295")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_295"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_295") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "emptyDeclr"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_296")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_296"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_296") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn85"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_297")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_297"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_297") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut79"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "params"),PVar (Ident "variadic")]) (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Con (UnQual (Ident "Right"))) (Tuple Boxed [Var (UnQual (Ident "params")),Var (UnQual (Ident "variadic"))])))) (List [])) (Var (UnQual (Ident "at"))))) Nothing]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn85"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_298")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_298"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_298") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn86"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_299")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_299"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_299") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn86"))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "decl")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "decl")))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_300")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_300"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_300") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_301")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_301"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_301") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_302")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_302"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_302") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_303")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_303"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_303") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_304")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_304"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_304") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_305")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_305"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_305") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_306")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_306"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_306") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_6")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_307")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_307"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_307") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_308")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_308"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_308") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_2"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_4")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_309")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_309"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_309") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_310")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_310"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_310") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_311")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_311"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_311") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_312")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_312"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_312") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_313")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_313"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_313") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_314")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_314"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_314") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_315")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_315"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_315") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_316")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_316"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_316") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_317")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_317"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_317") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_318")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_318"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_318") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_319")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_319"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_319") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "emptyDeclr"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_320")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_320"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_320") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_321")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_321"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_321") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_322")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_322"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_322") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_323")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_323"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_323") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "emptyDeclr")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_324")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_324"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_324") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_325")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_325"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_325") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_326")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_326"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_326") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitExpr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_327")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_327"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_327") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_328")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_328"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_328") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_329")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_329"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_329")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_330")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_330"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_330") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_331")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_331"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_331")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_332")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_332"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_332") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_1"))]))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_333")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_333"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_333") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))]))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_334")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_334"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_334") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_3"))]))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_335")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_335"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_335") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_3")),Var (UnQual (Ident "happy_var_4"))])))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_336")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_336"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_336") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn93"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_337")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_337"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_337") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (List [App (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))]))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn93"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_338")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_338"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_338") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn93"))) (Paren (List [Var (UnQual (Ident "happy_var_1"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_339")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_339"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_339") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn94"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_340")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_340"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_340") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn94"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_341")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_341"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_341") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_342")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_342"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_342") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_343")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_343"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_343") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn95"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_344")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 89))) (Var (UnQual (Ident "happyReduction_344"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_344") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CRangeDesig"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn96"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_345")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_345"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_345") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CVar"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_346")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_346"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_346") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut122"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_347")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_347"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_347") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Paren (App (Var (UnQual (Ident "liftStrLit"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_348")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_348"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_348") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_349")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_349"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_349") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CStatExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_350")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_350"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_350") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinVaArg"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_351")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_351"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_351") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinOffsetOf"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5")))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_352")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_352"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_352") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinTypesCompatible"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_353")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_353"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_353") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "singleton"))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_354")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_354"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_354") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_355")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_355"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_355") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_356")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_356"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_356") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut97"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn99"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_357")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_357"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_357") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CIndex"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_358")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_358"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_358") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_359")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_359"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_359") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_360")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_360"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_360") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "False"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_361")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_361"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_361") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "True"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_362")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_362"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_362") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostIncOp")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_363")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_363"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_363") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostDecOp")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_364")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_364"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_364") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_365")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_365"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_365") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_366")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_366"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_366") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn100"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_367")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_367"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_367") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn100"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_368")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_368"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_368") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_369")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_369"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_369") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreIncOp")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_370")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_370"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_370") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreDecOp")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_371")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_371"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_371") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_372")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_372"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_372") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut102"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_373")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_373"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_373") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_374")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_374"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_374") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofType"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_375")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_375"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_375") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_376")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_376"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_376") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofType"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_377")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_377"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_377") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexReal"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_378")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_378"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_378") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexImag"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_379")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_379"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_379") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CLabAddrExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_380")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_380"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_380") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAdrOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_381")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_381"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_381") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CIndOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_382")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_382"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_382") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CPlusOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_383")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_383"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_383") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMinOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_384")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_384"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_384") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CCompOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_385")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_385"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_385") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CNegOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_386")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_386"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_386") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn103"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_387")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_387"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_387") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCast"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn103"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_388")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_388"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_388") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn104"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_389")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_389"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_389") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CMulOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_390")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_390"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_390") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CDivOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_391")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_391"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_391") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CRmdOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_392")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_392"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_392") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn105"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_393")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_393"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_393") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAddOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_394")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_394"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_394") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CSubOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_395")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_395"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_395") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn106"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_396")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_396"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_396") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShlOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_397")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_397"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_397") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_398")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_398"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_398") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn107"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_399")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_399"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_399") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_400")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_400"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_400") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_401")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_401"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_401") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_402")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_402"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_402") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_403")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_403"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_403") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn108"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_404")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_404"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_404") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CEqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_405")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_405"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_405") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CNeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_406")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_406"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_406") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn109"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_407")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_407"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_407") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn109"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_408")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_408"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_408") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn110"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_409")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_409"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_409") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CXorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn110"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_410")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_410"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_410") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn111"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_411")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_411"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_411") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "COrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn111"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_412")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_412"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_412") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn112"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_413")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_413"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_413") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn112"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_414")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_414"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_414") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn113"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_415")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_415"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_415") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn113"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_416")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_416"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_416") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn114"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_417")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_417"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_417") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_418")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_418"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_418") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_419")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_419"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_419") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn115"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_420")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_420"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_420") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut116"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAssign"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn115"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_421")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_421"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_421") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAssignOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_422")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_422"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_422") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMulAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_423")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_423"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_423") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CDivAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_424")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_424"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_424") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CRmdAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_425")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_425"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_425") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAddAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_426")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_426"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_426") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CSubAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_427")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_427"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_427") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShlAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_428")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_428"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_428") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_429")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_429"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_429") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAndAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_430")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_430"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_430") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CXorAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_431")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_431"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_431") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "COrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_432")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_432"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_432") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn117"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_433")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_433"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_433") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "es")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))) Nothing]) (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "es")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComma"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QConOp (Special Cons)) (Var (UnQual (Ident "es")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn117"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_434")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_434"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_434") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn118"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_435")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_435"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_435") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn118"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_436")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_436"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_436")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_437")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_437"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_437") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_438")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_438"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_438")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_439")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_439"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_439") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_440")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 114))) (Var (UnQual (Ident "happyReduction_440"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_440") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn121"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_441")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_441"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_441") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PVar (Ident "i")]) (UnGuardedRhs (App (Con (UnQual (Ident "CIntConst"))) (Var (UnQual (Ident "i"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_442")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_442"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_442") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PVar (Ident "c")]) (UnGuardedRhs (App (Con (UnQual (Ident "CCharConst"))) (Var (UnQual (Ident "c"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_443")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_443"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_443") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PVar (Ident "f")]) (UnGuardedRhs (App (Con (UnQual (Ident "CFloatConst"))) (Var (UnQual (Ident "f"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_444")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_444"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_444") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Con (UnQual (Ident "CStrLit"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_445")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_445"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_445") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Con (UnQual (Ident "CStrLit"))) (Paren (App (Var (UnQual (Ident "concatCStrings"))) (Paren (InfixApp (Var (UnQual (Ident "s"))) (QConOp (Special Cons)) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))))))) Nothing])))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_446")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_446"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_446") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_447")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_447"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_447") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_448")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_448"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_448") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_449")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_449"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_449") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_450")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_450"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_450")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (List [])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_451")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_451"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_451") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_452")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_452"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_452") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn127"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_453")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_453"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_453") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn127"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_454")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 121))) (Var (UnQual (Ident "happyReduction_454"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_454") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn128"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_455")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_455"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_455") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn129"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (Var (UnQual (Ident "empty")))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "attr")]) (UnGuardedRhs (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "attr"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_456")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_456"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_456") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn129"))) (Paren (App (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Ident "snoc")))))) (Var (UnQual (Ident "happy_var_3"))))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_457")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_457"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_457")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn130"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_458")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_458"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_458") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_459")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_459"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_459") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Paren (App (Var (UnQual (Ident "internalIdent"))) (Lit (String "const"))))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_460")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_460"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_460") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_461")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_461"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_461") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_462")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_462"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_462") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn131"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_463")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_463"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_463") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn131"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyNewToken") [PVar (Ident "action"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "lexC"))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "tk")] (Let (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "cont") [PVar (Ident "i")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing]]) (Case (Var (UnQual (Ident "tk"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEof")) []) (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLParen")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 1)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRParen")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 2)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLBracket")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 3)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRBracket")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 4)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokArrow")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 5)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDot")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 6)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokExclam")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 7)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTilde")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 8)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInc")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 9)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDec")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 10)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPlus")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 11)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokMinus")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 12)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 13)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSlash")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 14)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPercent")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 15)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAmper")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 16)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShiftL")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 17)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShiftR")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 18)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLess")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 19)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLessEq")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 20)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHigh")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 21)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHighEq")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 22)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEqual")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 23)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnequal")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 24)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHat")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 25)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 26)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAnd")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 27)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokOr")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 28)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokQuest")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 29)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokColon")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 30)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAssign")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 31)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPlusAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 32)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokMinusAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 33)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStarAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 34)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSlashAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 35)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPercAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 36)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAmpAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 37)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHatAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 38)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBarAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 39)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 40)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSRAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 41)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokComma")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 42)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSemic")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 43)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLBrace")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 44)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRBrace")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 45)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEllipsis")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 46)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAlignof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 47)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAsm")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 48)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAuto")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 49)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBreak")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 50)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBool")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 51)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCase")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 52)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokChar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 53)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokConst")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 54)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokContinue")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 55)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokComplex")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 56)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDefault")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 57)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDo")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 58)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDouble")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 59)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokElse")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 60)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEnum")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 61)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokExtern")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 62)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFloat")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 63)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFor")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 64)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGoto")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 65)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokIf")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 66)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInline")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 67)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInt")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 68)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLong")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 69)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLabel")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 70)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRegister")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 71)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRestrict")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 72)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokReturn")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 73)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShort")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 74)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSigned")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 75)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSizeof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 76)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStatic")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 77)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStruct")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 78)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSwitch")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 79)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTypedef")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 80)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTypeof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 81)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokThread")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 82)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnion")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 83)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnsigned")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 84)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokVoid")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 85)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokVolatile")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 86)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokWhile")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 87)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 88)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 89)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 90)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 91)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 92)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 93)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCAttrTok")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 94)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCExtTok")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 95)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexReal")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 96)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexImag")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 97)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCVaArg")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 98)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCOffsetof")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 99)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCTyCompat")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 100)))) Nothing,Alt (SrcLoc "" -1 -1) PWildCard (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) Nothing])))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyError_") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "happyThen"] (TyForall Nothing [] (TyFun (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))) (TyFun (TyParen (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b")))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyThen")) (UnGuardedRhs (Var (UnQual (Symbol ">>=")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyReturn"] (TyForall Nothing [] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReturn")) (UnGuardedRhs (Paren (Var (UnQual (Ident "return"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyThen1")) (UnGuardedRhs (Var (UnQual (Ident "happyThen")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyReturn1"] (TyForall Nothing [] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReturn1")) (UnGuardedRhs (Var (UnQual (Ident "happyReturn")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyError'"] (TyForall Nothing [] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyError'") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "token")] (Var (UnQual (Ident "happyError"))))) (Var (UnQual (Ident "tk"))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "translation_unit")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 0))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut7"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "external_declaration")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 1))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "statement")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 2))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "expression")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 3))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySeq")) (UnGuardedRhs (Var (UnQual (Ident "happyDontSeq")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "reverseList"] (TyFun (TyList (TyVar (Ident "a"))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyVar (Ident "a"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "reverseList")) (UnGuardedRhs (InfixApp (Con (UnQual (Ident "Reversed"))) (QVarOp (UnQual (Symbol "."))) (Var (Qual (ModuleName "List") (Ident "reverse"))))) Nothing,DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Located") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "L") [TyBang BangedTy (TyVar (Ident "a")),TyBang BangedTy (TyCon (UnQual (Ident "Position")))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "unL"] (TyFun (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a"))) (TyVar (Ident "a"))),FunBind [Match (SrcLoc "" -1 -1) (Ident "unL") [PParen (PApp (UnQual (Ident "L")) [PVar (Ident "a"),PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "a")))) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "L")) [PWildCard,PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "pos")))) Nothing])],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withNodeInfo")),TypeSig (SrcLoc "" -1 -1) [Ident "withNodeInfo"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withNodeInfo") [PVar (Ident "node"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc "" -1 -1) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "firstPos")) (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Var (UnQual (Ident "name"))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withLength")),TypeSig (SrcLoc "" -1 -1) [Ident "withLength"] (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withLength") [PVar (Ident "nodeinfo"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "firstPos")) (UnGuardedRhs (App (Var (UnQual (Ident "posOfNode"))) (Var (UnQual (Ident "nodeinfo"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Paren (App (Var (UnQual (Ident "error"))) (Lit (String "nameOfNode"))))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "nameOfNode"))) (Var (UnQual (Ident "nodeinfo"))))))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) Nothing],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "CDeclrR") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "CDeclrR") [TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident")))),TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDerivedDeclr"))))),TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))),TyList (TyCon (UnQual (Ident "CAttr"))),TyCon (UnQual (Ident "NodeInfo"))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "reverseDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclr")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "reverseDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ide"),PVar (Ident "reversedDDs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ide")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "reversedDDs")))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "CNode")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "nodeInfo") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "n")))) Nothing])],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "Pos")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n"))))) Nothing])],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withAttribute")),TypeSig (SrcLoc "" -1 -1) [Ident "withAttribute"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAttribute") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "newDeclr")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkDeclrNode"))) (Var (UnQual (Ident "attrs")))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withAttributePF")),TypeSig (SrcLoc "" -1 -1) [Ident "withAttributePF"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAttributePF") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrCtor")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "newDeclr")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "mkDeclrCtor"))) (Var (UnQual (Ident "attrs")))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendObjAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendObjAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendObjAttrsR"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendObjAttrsR") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "setAsmName"] (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "setAsmName") [PVar (Ident "mAsmName"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "oldName"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "combineName"))) (Var (UnQual (Ident "mAsmName")))) (Var (UnQual (Ident "oldName")))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Left")) [PTuple Boxed [PVar (Ident "n1"),PVar (Ident "n2")]]) (UnGuardedRhs (App (App (Var (UnQual (Ident "failP"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n2")))))) (List [Lit (String "Duplicate assembler name: "),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n1"))),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n2")))]))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Right")) [PVar (Ident "newName")]) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "newName")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at")))))) Nothing])) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Con (UnQual (Ident "Nothing"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PAsPat (Ident "oldname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard]))] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "oldname"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PAsPat (Ident "newname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard])),PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "newname"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n1")]),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n2")])] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Left"))) (Tuple Boxed [Var (UnQual (Ident "n1")),Var (UnQual (Ident "n2"))]))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "showName") [PParen (PApp (UnQual (Ident "CStrLit")) [PVar (Ident "cstr"),PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "show"))) (Var (UnQual (Ident "cstr"))))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "withAsmNameAttrs"] (TyFun (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAsmNameAttrs") [PTuple Boxed [PVar (Ident "mAsmName"),PVar (Ident "newAttrs")],PVar (Ident "declr")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "setAsmName"))) (Var (UnQual (Ident "mAsmName")))) (Paren (App (App (Var (UnQual (Ident "appendObjAttrsR"))) (Var (UnQual (Ident "newAttrs")))) (Var (UnQual (Ident "declr"))))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendDeclrAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PList []]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "empty")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) (PVar (Ident "xs")))]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (App (Con (UnQual (Ident "Reversed"))) (Paren (InfixApp (App (Var (UnQual (Ident "appendAttrs"))) (Var (UnQual (Ident "x")))) (QConOp (Special Cons)) (Var (UnQual (Ident "xs")))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CPtrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CArrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "arraySize"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "arraySize")))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "parameters"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "parameters")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "ptrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "ptrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "funDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyParen (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyList (TyCon (UnQual (Ident "Ident"))))) (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "funDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "dcattrs"),PVar (Ident "dat")]),PVar (Ident "params"),PVar (Ident "cattrs"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "params")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "dcattrs")))) (Var (UnQual (Ident "dat"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "arrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "arrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "var_sized"),PVar (Ident "static_size"),PVar (Ident "size_expr_opt"),PVar (Ident "at")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "arr_sz"))) (QVarOp (UnQual (Ident "seq"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "arr_sz")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "arr_sz")) (UnGuardedRhs (Case (Var (UnQual (Ident "size_expr_opt"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "e")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CArrSize"))) (Var (UnQual (Ident "static_size")))) (Var (UnQual (Ident "e"))))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Con (UnQual (Ident "CNoArrSize"))) (Var (UnQual (Ident "var_sized"))))) Nothing])) Nothing]))],TypeSig (SrcLoc "" -1 -1) [Ident "liftTypeQuals"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "liftTypeQuals")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CTypeQual")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "reverse"))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "liftCAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "liftCAttrs")) (UnGuardedRhs (App (Var (UnQual (Ident "map"))) (Paren (InfixApp (Con (UnQual (Ident "CTypeQual"))) (QVarOp (UnQual (Symbol "."))) (Con (UnQual (Ident "CAttrQual"))))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "addTrailingAttrs"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "addTrailingAttrs") [PVar (Ident "declspecs"),PVar (Ident "new_attrs")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "viewr"))) (Var (UnQual (Ident "declspecs")))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CSUType")) [PParen (PApp (UnQual (Ident "CStruct")) [PVar (Ident "tag"),PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "su_node")]),PVar (Ident "node")])]]) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CSUType"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Var (UnQual (Ident "tag")))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "su_node")))))) (Var (UnQual (Ident "node"))))))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CEnumType")) [PParen (PApp (UnQual (Ident "CEnum")) [PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "e_node")]),PVar (Ident "node")])]]) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CEnumType"))) (Paren (App (App (App (App (Con (UnQual (Ident "CEnum"))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "e_node")))))) (Var (UnQual (Ident "node"))))))))) Nothing,Alt (SrcLoc "" -1 -1) PWildCard (UnGuardedRhs (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "new_attrs"))))))) Nothing])) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyList (TyVar (Ident "a"))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) PWildCard)] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) Nothing])],InstDecl (SrcLoc "" -1 -1) Nothing [] [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "Reversed")) [PVar (Ident "x")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) Nothing])],TypeSig (SrcLoc "" -1 -1) [Ident "emptyDeclr"] (TyCon (UnQual (Ident "CDeclrR"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "emptyDeclr")) (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List [])) (Var (UnQual (Ident "undefNode"))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "mkVarDeclr"] (TyFun (TyCon (UnQual (Ident "Ident"))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "mkVarDeclr") [PVar (Ident "ident")] Nothing (UnGuardedRhs (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "ident")))))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List []))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "doDeclIdent"] (TyFun (TyList (TyCon (UnQual (Ident "CDeclSpec")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "doDeclIdent") [PVar (Ident "declspecs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "mIdent"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (App (App (Var (UnQual (Ident "any"))) (Var (UnQual (Ident "iypedef")))) (Var (UnQual (Ident "declspecs"))))] (App (Var (UnQual (Ident "addTypedef"))) (Var (UnQual (Ident "ident")))),GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))]) Nothing])) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "iypedef") [PParen (PApp (UnQual (Ident "CStorageSpec")) [PParen (PApp (UnQual (Ident "CTypedef")) [PWildCard])])] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "iypedef") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "doFuncParamDeclIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "doFuncParamDeclIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PWildCard,PParen (PInfixApp (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "params"),PWildCard,PWildCard]) (Special Cons) PWildCard),PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "sequence_"))) (ListComp (Case (App (Var (UnQual (Ident "getCDeclrIdent"))) (Var (UnQual (Ident "declr")))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (UnGuardedRhs (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))) Nothing]) [QualStmt (Generator (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PWildCard,PVar (Ident "dle"),PWildCard]) (App (App (App (Var (UnQual (Ident "either"))) (Paren (App (Var (UnQual (Ident "const"))) (List [])))) (Var (UnQual (Ident "fst")))) (Var (UnQual (Ident "params"))))),QualStmt (Generator (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "declr")],PWildCard,PWildCard]) (Var (UnQual (Ident "dle"))))]))) Nothing,Match (SrcLoc "" -1 -1) (Ident "doFuncParamDeclIdent") [PWildCard] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "getCDeclrIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "getCDeclrIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Var (UnQual (Ident "mIdent")))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "happyError"] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyError")) (UnGuardedRhs (Var (UnQual (Ident "parseError")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "parseC"] (TyFun (TyCon (UnQual (Ident "InputStream"))) (TyFun (TyCon (UnQual (Ident "Position"))) (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyCon (UnQual (Ident "ParseError")))) (TyCon (UnQual (Ident "CTranslUnit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "parseC") [PVar (Ident "input"),PVar (Ident "initialPosition")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "fmap"))) (Var (UnQual (Ident "fst")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Var (UnQual (Ident "execParser"))) (Var (UnQual (Ident "translUnitP")))) (Var (UnQual (Ident "input")))) (Var (UnQual (Ident "initialPosition")))) (Var (UnQual (Ident "builtinTypeNames")))) (Paren (App (Var (UnQual (Ident "namesStartingFrom"))) (Lit (Int 0))))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "translUnitP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CTranslUnit")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "translUnitP")) (UnGuardedRhs (Var (UnQual (Ident "translation_unit")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "extDeclP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExtDecl")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "extDeclP")) (UnGuardedRhs (Var (UnQual (Ident "external_declaration")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "statementP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CStat")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "statementP")) (UnGuardedRhs (Var (UnQual (Ident "statement")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "expressionP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExpr")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "expressionP")) (UnGuardedRhs (Var (UnQual (Ident "expression")))) Nothing,DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Happy_IntList") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyCons") [TyCon (UnQual (Ident "Int#")),TyCon (UnQual (Ident "Happy_IntList"))])] [],InfixDecl (SrcLoc "" -1 -1) AssocRight 9 [ConOp (Ident "HappyStk")],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "HappyStk") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyStk") [TyVar (Ident "a"),TyParen (TyApp (TyCon (UnQual (Ident "HappyStk"))) (TyVar (Ident "a")))])] [],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyParse") [PVar (Ident "start_state")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "start_state")))) (Var (UnQual (Ident "notHappyAtAll")))) (Var (UnQual (Ident "notHappyAtAll"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyAccept") [PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PInfixApp PWildCard (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "ans")) (UnQual (Ident "HappyStk")) PWildCard))] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyAccept") [PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PApp (UnQual (Ident "HappyStk")) [PVar (Ident "ans"),PWildCard])] Nothing (UnGuardedRhs (App (Paren (App (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "j")))) (Paren (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "st"))))))) (Paren (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDoAction") [PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "action"))) [Alt (SrcLoc "" -1 -1) (PLit Signless (PrimInt 0)) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyFail"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) Nothing,Alt (SrcLoc "" -1 -1) (PLit Negative (PrimInt 1)) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyAccept"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) Nothing,Alt (SrcLoc "" -1 -1) (PVar (Ident "n")) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "<#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#")))))))] (App (App (App (Paren (InfixApp (Var (UnQual (Ident "happyReduceArr"))) (QVarOp (UnQual (Symbol "!"))) (Var (UnQual (Ident "rule"))))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))]) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "rule")) (UnGuardedRhs (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Paren (App (Var (UnQual (Ident "negateInt#"))) (Paren (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "+#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))))))))) Nothing])),Alt (SrcLoc "" -1 -1) (PVar (Ident "n")) (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "happyShift"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) Nothing]))])) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyActOffsets")))) (Var (UnQual (Ident "st"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "i")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "check")) (UnGuardedRhs (If (Paren (InfixApp (Var (UnQual (Ident "off_i"))) (QVarOp (UnQual (Symbol ">=#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#"))))))) (Paren (InfixApp (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyCheck")))) (Var (UnQual (Ident "off_i")))) (QVarOp (UnQual (Symbol "==#"))) (Var (UnQual (Ident "i"))))) (Con (UnQual (Ident "False"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "action")) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "check")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i")))),GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyDefActions")))) (Var (UnQual (Ident "st"))))]) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "indexShortOffAddr") [PParen (PApp (UnQual (Ident "HappyA#")) [PVar (Ident "arr")]),PVar (Ident "off")] Nothing (UnGuardedRhs (InfixApp (App (App (App (App (Var (UnQual (Ident "narrow16Int#"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "intToInt16#")))) (Var (UnQual (Ident "i")))) (Paren (InfixApp (Var (UnQual (Ident "i"))) (QVarOp (UnQual (Ident "iShiftL#"))) (Lit (PrimInt 16))))) (QVarOp (UnQual (Ident "iShiftRA#"))) (Lit (PrimInt 16)))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "uncheckedShiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "shiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "high")) (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Paren (InfixApp (Var (UnQual (Ident "off'"))) (QVarOp (UnQual (Symbol "+#"))) (Lit (PrimInt 1)))))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "low")) (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Var (UnQual (Ident "off'"))))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off'")) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "*#"))) (Lit (PrimInt 2)))) Nothing]))],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "HappyAddr") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyA#") [TyCon (UnQual (Ident "Addr#"))])] [],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyShift") [PVar (Ident "new_state"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PAsPat (Ident "stk") (PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) PWildCard))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (Paren (Case (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "I#")) [PParen (PVar (Ident "i"))])) (UnGuardedRhs (Var (UnQual (Ident "i")))) Nothing]))) Nothing]) (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (Var (UnQual (Ident "stk"))))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyShift") [PVar (Ident "new_state"),PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "happyInTok"))) (Paren (Var (UnQual (Ident "tk")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_0") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_0") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PAsPat (Ident "st") (PParen (PParen (PVar (Ident "action")))),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Var (UnQual (Ident "fn"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_1") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_1") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_2") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_2") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'"))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_3") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_3") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PInfixApp (PVar (Ident "v3")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2")))) (Var (UnQual (Ident "v3"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "k"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "sts")))) [Alt (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk"))))) Nothing]) (App (App (Var (UnQual (Ident "happyDoSeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Var (UnQual (Ident "r")))))))) Nothing])) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "drop_stk")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "drop_stk")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st1"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDrop") [PLit Signless (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyDrop") [PVar (Ident "n"),PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PVar (Ident "t"))])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "t"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDropStk") [PLit Signless (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyDropStk") [PVar (Ident "n"),PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) (PVar (Ident "xs")))] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "xs"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyGoto") [PVar (Ident "nt"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state"))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyFail") [PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "old_st"),PWildCard,PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError_"))) (Var (UnQual (Ident "tk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyFail") [PVar (Ident "i"),PVar (Ident "tk"),PParen (PVar (Ident "action")),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "unsafeCoerce#"))) (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Var (UnQual (Ident "i")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "notHappyAtAll")) (UnGuardedRhs (App (Var (UnQual (Ident "error"))) (Lit (String "Internal Happy error\n")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyTcHack"] (TyFun (TyCon (UnQual (Ident "Int#"))) (TyFun (TyVar (Ident "a")) (TyVar (Ident "a")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyTcHack") [PVar (Ident "x"),PVar (Ident "y")] Nothing (UnGuardedRhs (Var (UnQual (Ident "y")))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyTcHack")),TypeSig (SrcLoc "" -1 -1) [Ident "happyDoSeq",Ident "happyDontSeq"] (TyFun (TyVar (Ident "a")) (TyFun (TyVar (Ident "b")) (TyVar (Ident "b")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDoSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "a"))) (QVarOp (UnQual (Ident "seq"))) (Var (UnQual (Ident "b"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDontSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (Var (UnQual (Ident "b")))) Nothing],InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyDoAction")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyTable")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyCheck")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyActOffsets")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyGotoOffsets")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyDefActions")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyShift")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_0")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_1")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_2")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_3")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyReduce")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyMonadReduce")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyGoto")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyFail"))]
-
-AST 2:
-
-Module (SrcLoc "" -1 -1) (ModuleName "Language.C.Parser.Parser") [OptionsPragma (SrcLoc "" -1 -1) Nothing "-fglasgow-exts -cpp ",LanguagePragma (SrcLoc "" -1 -1) [Ident "MagicHash"]] Nothing (Just [EVar (UnQual (Ident "parseC")),EVar (UnQual (Ident "translUnitP")),EVar (UnQual (Ident "extDeclP")),EVar (UnQual (Ident "statementP")),EVar (UnQual (Ident "expressionP"))]) [ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Prelude", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (True,[IVar (Ident "reverse")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Data.List", importQualified = True, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Just (ModuleName "List"), importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Control.Monad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "mplus")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Builtin", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "builtinTypeNames")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Lexer", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IVar (Ident "lexC"),IVar (Ident "parseError")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.Tokens", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IThingAll (Ident "CToken"),IThingAll (Ident "GnuCTok"),IVar (Ident "posLenOfTok")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Parser.ParserMonad", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Just (False,[IAbs NoNamespace (Ident "P"),IVar (Ident "failP"),IVar (Ident "execParser"),IVar (Ident "getNewName"),IVar (Ident "addTypedef"),IVar (Ident "shadowTypedef"),IVar (Ident "getCurrentPosition"),IVar (Ident "enterScope"),IVar (Ident "leaveScope"),IVar (Ident "getLastToken"),IVar (Ident "getSavedToken"),IThingAll (Ident "ParseError")])},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.RList", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.InputStream", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Ident", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Name", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Node", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Data.Position", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Language.C.Syntax", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Data.Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "Array", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "GHC.Exts", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing},ImportDecl {importLoc = SrcLoc "" -1 -1, importModule = ModuleName "GlaExts", importQualified = False, importSrc = False, importSafe = False, importPkg = Nothing, importAs = Nothing, importSpecs = Nothing}] [DataDecl (SrcLoc "" -1 -1) NewType [] (Ident "HappyAbsSyn") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyAbsSyn") [TyParen (TyFun (TyCon (Special UnitCon)) (TyCon (Special UnitCon)))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "happyIn7"] (TyFun (TyParen (TyCon (UnQual (Ident "CTranslUnit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn7")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut7"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTranslUnit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut7") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut7")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn8"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn8")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut8"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExtDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut8") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut8")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn9"] (TyFun (TyParen (TyCon (UnQual (Ident "CExtDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn9")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut9"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExtDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut9") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut9")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn10"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn10")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut10"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut10") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut10")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn11"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn11")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut11"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut11") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut11")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn12"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn12")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut12"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut12") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut12")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn13"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn13")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut13"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut13") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut13")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn14"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn14")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut14"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut14") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut14")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn15"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn15")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut15"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut15") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut15")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn16"] (TyFun (TyParen (TyCon (Special UnitCon))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn16")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut16"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut16") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut16")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn17"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn17")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut17"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CBlockItem"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut17") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut17")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn18"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn18")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut18"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut18") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut18")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn19"] (TyFun (TyParen (TyCon (UnQual (Ident "CBlockItem")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn19")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut19"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CBlockItem"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut19") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut19")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn20"] (TyFun (TyParen (TyCon (UnQual (Ident "CFunDef")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn20")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut20"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CFunDef"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut20") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut20")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn21"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn21")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut21"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut21") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut21")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn22"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn22")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut22"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut22") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut22")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn23"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn23")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut23"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut23") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut23")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn24"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn24")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut24"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut24") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut24")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn25"] (TyFun (TyParen (TyCon (UnQual (Ident "CStat")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn25")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut25"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStat"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut25") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut25")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn26"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmStmt")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn26")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut26"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmStmt"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut26") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut26")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn27"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn27")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut27"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CTypeQual")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut27") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut27")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn28"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn28")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut28"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAsmOperand")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut28") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut28")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn29"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn29")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut29"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAsmOperand"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut29") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut29")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn30"] (TyFun (TyParen (TyCon (UnQual (Ident "CAsmOperand")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn30")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut30"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CAsmOperand"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut30") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut30")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn31"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn31")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut31"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CStrLit"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut31") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut31")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn32"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn32")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut32"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut32") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut32")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn33"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn33")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut33"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut33") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut33")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn34"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn34")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut34"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut34") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut34")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn35"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn35")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut35"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut35") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut35")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn36"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn36")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut36"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut36") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut36")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn37"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn37")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut37"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut37") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut37")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn38"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn38")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut38"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut38") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut38")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn39"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn39")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut39"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut39") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut39")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn40"] (TyFun (TyParen (TyCon (UnQual (Ident "CStorageSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn40")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut40"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStorageSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut40") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut40")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn41"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn41")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut41"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDeclSpec")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut41") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut41")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn42"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn42")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut42"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut42") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut42")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn43"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn43")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut43"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut43") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut43")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn44"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn44")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut44"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut44") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut44")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn45"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn45")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut45"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut45") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut45")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn46"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn46")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut46"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut46") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut46")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn47"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn47")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut47"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut47") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut47")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn48"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn48")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut48"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut48") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut48")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn49"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeSpec")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn49")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut49"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeSpec"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut49") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut49")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn50"] (TyFun (TyParen (TyCon (UnQual (Ident "CStructUnion")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn50")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut50"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStructUnion"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut50") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut50")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn51"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn51")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut51"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CStructTag")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut51") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut51")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn52"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn52")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut52"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut52") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut52")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn53"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn53")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut53"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut53") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut53")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn54"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn54")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut54"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut54") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut54")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn55"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn55")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut55"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut55") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut55")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn56"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn56")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut56"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut56") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut56")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn57"] (TyFun (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn57")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut57"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CDeclr"))),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut57") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut57")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn58"] (TyFun (TyParen (TyCon (UnQual (Ident "CEnum")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn58")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut58"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CEnum"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut58") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut58")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn59"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn59")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut59"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut59") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut59")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn60"] (TyFun (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn60")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut60"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyCon (UnQual (Ident "Ident")),TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut60") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut60")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn61"] (TyFun (TyParen (TyCon (UnQual (Ident "CTypeQual")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn61")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut61"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CTypeQual"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut61") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut61")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn62"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn62")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut62"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut62") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut62")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn63"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn63")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut63"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut63") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut63")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn64"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn64")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut64"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut64") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut64")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn65"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn65")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut65"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut65") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut65")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn66"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn66")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut66"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut66") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut66")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn67"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn67")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut67"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut67") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut67")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn68"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn68")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut68"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut68") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut68")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn69"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn69")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut69"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut69") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut69")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn70"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn70")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut70"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut70") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut70")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn71"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn71")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut71"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut71") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut71")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn72"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn72")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut72"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut72") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut72")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn73"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn73")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut73"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut73") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut73")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn74"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn74")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut74"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut74") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut74")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn75"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn75")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut75"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut75") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut75")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn76"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn76")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut76"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut76") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut76")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn77"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn77")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut77"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut77") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut77")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn78"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn78")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut78"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut78") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut78")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn79"] (TyFun (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))])) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn79")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut79"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut79") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut79")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn80"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn80")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut80"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDecl"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut80") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut80")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn81"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn81")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut81"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut81") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut81")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn82"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn82")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut82"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "Ident"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut82") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut82")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn83"] (TyFun (TyParen (TyCon (UnQual (Ident "CDecl")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn83")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut83"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDecl"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut83") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut83")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn84"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn84")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut84"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut84") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut84")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn85"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn85")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut85"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut85") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut85")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn86"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn86")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut86"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut86") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut86")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn87"] (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn87")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut87"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut87") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut87")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn88"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn88")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut88"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut88") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut88")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn89"] (TyFun (TyParen (TyCon (UnQual (Ident "CDeclrR")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn89")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut89"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut89") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut89")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn90"] (TyFun (TyParen (TyCon (UnQual (Ident "CInit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn90")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut90"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CInit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut90") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut90")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn91"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn91")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut91"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CInit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut91") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut91")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn92"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn92")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut92"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyCon (UnQual (Ident "CInitList")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut92") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut92")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn93"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CDesignator"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn93")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut93"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CDesignator")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut93") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut93")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn94"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn94")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut94"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut94") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut94")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn95"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn95")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut95"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut95") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut95")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn96"] (TyFun (TyParen (TyCon (UnQual (Ident "CDesignator")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn96")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut96"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CDesignator"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut96") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut96")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn97"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn97")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut97"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut97") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut97")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn98"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn98")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut98"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDesignator"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut98") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut98")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn99"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn99")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut99"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut99") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut99")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn100"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn100")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut100"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut100") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut100")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn101"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn101")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut101"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut101") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut101")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn102"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn102")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut102"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CUnaryOp")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut102") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut102")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn103"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn103")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut103"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut103") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut103")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn104"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn104")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut104"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut104") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut104")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn105"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn105")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut105"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut105") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut105")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn106"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn106")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut106"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut106") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut106")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn107"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn107")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut107"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut107") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut107")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn108"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn108")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut108"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut108") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut108")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn109"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn109")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut109"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut109") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut109")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn110"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn110")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut110"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut110") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut110")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn111"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn111")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut111"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut111") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut111")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn112"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn112")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut112"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut112") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut112")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn113"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn113")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut113"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut113") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut113")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn114"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn114")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut114"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut114") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut114")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn115"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn115")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut115"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut115") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut115")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn116"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn116")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut116"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyCon (UnQual (Ident "CAssignOp")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut116") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut116")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn117"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn117")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut117"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut117") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut117")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn118"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn118")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut118"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut118") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut118")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn119"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn119")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut119"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut119") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut119")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn120"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn120")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut120"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut120") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut120")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn121"] (TyFun (TyParen (TyCon (UnQual (Ident "CExpr")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn121")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut121"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CExpr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut121") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut121")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn122"] (TyFun (TyParen (TyCon (UnQual (Ident "CConst")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn122")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut122"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CConst"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut122") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut122")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn123"] (TyFun (TyParen (TyCon (UnQual (Ident "CStrLit")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn123")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut123"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "CStrLit"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut123") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut123")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn124"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn124")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut124"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CString"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut124") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut124")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn125"] (TyFun (TyParen (TyCon (UnQual (Ident "Ident")))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn125")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut125"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut125") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut125")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn126"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn126")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut126"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut126") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut126")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn127"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn127")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut127"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut127") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut127")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn128"] (TyFun (TyParen (TyList (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn128")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut128"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyList (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut128") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut128")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn129"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn129")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut129"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CAttr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut129") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut129")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn130"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr"))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn130")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut130"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CAttr")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut130") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut130")),TypeSig (SrcLoc "" -1 -1) [Ident "happyIn131"] (TyFun (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr")))))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyIn131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyIn131")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOut131"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CExpr"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOut131") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOut131")),TypeSig (SrcLoc "" -1 -1) [Ident "happyInTok"] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyParen (TyCon (UnQual (Ident "HappyAbsSyn"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyInTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyInTok")),TypeSig (SrcLoc "" -1 -1) [Ident "happyOutTok"] (TyFun (TyParen (TyCon (UnQual (Ident "HappyAbsSyn")))) (TyCon (UnQual (Ident "CToken")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyOutTok") [PVar (Ident "x")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x"))))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyOutTok")),TypeSig (SrcLoc "" -1 -1) [Ident "happyActOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyActOffsets")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\GS\SI\211\t1\SI\NUL\NUL\128\a\NUL\NUL\DEL\tw\SI1\SI\NUL\NUL\200\t\US\ENQ\ENQ\ENQ\DEL\ETX\240\EOTe\bT\bI\b>\b\198\EOT\NUL\NUL+\b\239\a\NUL\NUL\NUL\NUL\v\t\NUL\NUL\NUL\NUL\205\SO\205\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\EOT\175\SO\150\SO\NUL\NUL\NUL\NUL\NUL\NUL\246\a\NUL\NUL2\SO\DC4\SO\DC4\SO\&H\bG\b$\b\182\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\a\230\a\NUL\NUL\NUL\NULJ\ENQ\210\a\251\r\208\a\214\a\211\t\245\a$\NUL\237\a\251\r\236\a\213\a\198\a\NUL\NULv\a\NUL\NUL\174\a\NUL\NUL\149\EOT\142\EOT\SOH\SOH\213\DC1\NUL\NUL\SOH\SOH\NUL\NUL\154\EM\154\EM\DC1\CAN\SOH\CAN!\b!\b\NUL\NUL\NUL\NULq\a\NUL\NUL\166\DC1\NUL\NUL\NUL\NUL\NUL\NUL\217\SOH\NUL\NUL\NUL\NUL\NUL\NULJ\ENQ\137\DC2\NUL\NUL=\SOH=\SOH\203\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULk\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\187\a\GS\SIU\a\NUL\NUL\184\ao\tz\SOHY\a[\a\179\DC2\NUL\NUL\NUL\NULK\NUL\178\a\180\t\170\aK\NUL\134\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL\167\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL8\CAN\NUL\NUL\157\a\NUL\NUL\148\CAN\255\nr\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULw\DC1\151\a\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULg\a_\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULb\a\NUL\NULn\STXH\STX\SI\NULR\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL{\a\NUL\NULO\aS\a\NUL\NUL\ESC\a\NUL\NUL\ESC\a\NUL\NUL\NUL\NUL\251\r\251\r\NUL\NULM\a\251\rA\a\251\r\NUL\NULC\b\DC4\a\211\t\NUL\NUL\NUL\NUL\NUL\NUL\US\NUL\NUL\NULe\a\NUL\NUL.\a\244\ACK\NUL\NUL\195\SUB\195\SUB\251\r\NUL\NUL\v\t\NUL\NUL\NUL\NUL\240\ACK\NUL\NUL\NUL\NUL\v\t\NUL\NUL\v\t\NUL\NUL\NUL\NUL\NUL\NULN\a\151\ETX\231\SUB\171\EOT\171\EOTz\nL\aK\a\159\SUB\251\r\251\r\151\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\r\251\r6\EOT6\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\an\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\t\163\t\138\EOT\138\EOTO\EOTO\EOTO\EOTO\EOT\DEL\ETX\DEL\ETX\GS\EOT5\a+\a\SYN\a\f\a\251\r%\a\NUL\NUL\251\ACK\NUL\NULa\r\NUL\NUL\NUL\NUL\NUL\NUL\183\ACKW\SUB3\SUBH\DC1\NUL\SI\NUL\NUL\NUL\NUL\SI\a\SO\a\NUL\NUL\243\ACK\221\ACK\219\ACK\199\ACK\211\t\223\a\173\ACK\148\ACK|\ACK\211\t\251\r\NUL\NUL\203\ACKl\EM\171\ACK\167\ACK\NUL\NUL\196\ACK\NUL\NUL\195\ACK\193\ACK\234\NUL\216\NUL8\CAN\161\ACK]\ACK\170\ACK\NUL\NULo\t8\CAN\134\ACK\NUL\NUL\NUL\NUL\RS\EM[\v\NUL\NUL\NUL\NUL\177\SOH\147\SOH\142\ACK\136\ACK\SI\NULG\NUL\147\SOH\NUL\NUL8\CANf\ACK\NUL\NULI\ACK\NUL\NULo\t>\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULb\ACK\NUL\NUL8\CAN=\ACK\NUL\NUL\155\n\NUL\NUL)\ACK\224\v\t\NUL\206\ENQt\STX\255\SIt\STX!\b!\b\208\SI$\ACK\251\ENQ\NUL\NUL\ESC\SOHE\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\EM\DC1\216\NUL\234\DLEZ\DC2o\t8\CAN\EOT\ACK\NUL\NUL\EM\ACK\158\t\DC2\NUL\DC2\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\220\f\t\ACK\244\ENQ\204\ETX\ETX\ACK\254\ENQw\NUL\202\NUL\NUL\NUL\NUL\NUL\239\ENQ\NUL\NUL\NUL\NUL\205\STX\NUL\NUL\203\ENQ\204\ETX\170\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\220\fK\t\NUL\NUL\SI\NUL\NUL\NUL\253\f\NUL\NUL\200\ENQ\193\ENQ\140\ENQ\140\ENQ\187\DLE\NUL\NUL\241\NUL\201\NUL\140\ENQ\NUL\NULV\ENQf\CAN\NUL\NULS\ENQ\NUL\NUL\240\CAN\194\CAN\161\SI\222\DC2S\ENQS\ENQ\NUL\NULr\SII\aS\ENQ\NUL\NULS\ENQS\ENQ\NUL\NUL\171\EOTb\f\157\ENQ\155\ENQ\t\NUL\NUL\NUL\144\ENQF\ENQ7\n\t\NUL\NUL\NUL\NUL\NULo\t8\CANm\ENQ\NUL\NUL\143\ENQ\141\ENQ\220\ETB\NUL\NUL\NUL\NUL\NUL\NUL/\t\132\ENQ\SO\NUL\190\NUL\131\ENQ\SI\NUL\SI\NUL,\t\NUL\NUL\NUL\NUL\NUL\NUL\227\ne\NUL\NUL\NUL\NUL\NUL\129\ENQy\ENQ\DLE\ENQ\NUL\NUL\NUL\NUL\NUL\NUL5\ENQ5\ENQ\211\t\211\t\211\t\NUL\NUL\251\r\251\r\251\rB\ENQ\NUL\NUL\170\SOH\201\ETX\223\a\242\EOT\NUL\NUL#\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\140\DLE\216\NUL]\DLE-\ENQ\167\b\NUL\NUL{\SUB\154\ETX{\SUB\FS\ENQ\FS\ENQ\FS\ENQ0\f\NUL\NUL\162\t1\ENQ/\ENQ-\NUL3\DC2\NUL\NUL\NUL\NUL\254\v\251\r\NUL\NUL\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\STX\253\f\220\STX\NUL\NUL\153\SOH\NUL\NUL\212\EOT\251\r\154\ETX\254\v!\ENQ\r\ENQ\DC3\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\EOT\t\ENQ\237\STX\NUL\NUL\249\EOT\NUL\NUL\192\EOT.\DLE\192\EOT\192\EOT\192\EOT\NUL\NUL\163\ETX\137\EOT\NUL\NUL\162\EOT*\NUL\211\t\199\EOT\156\EOT\151\EOT\DEL\EOT\NUL\NUL\NUL\NUL\136\EOT\136\EOT\161\EOT\NUL\NUL\NUL\NUL\"\t\NUL\NUL\NUL\NUL+\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\224\n\SI\NUL\NUL\NUL\175\ETB\212\STX\NUL\NUL\160\ETX\152\ETX\SI\SUB\194\DC2\NUL\NUL\NUL\NUL\190\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\159\EOT\154\EOT\139\EOT\134\EOT\t\NUL\n\EOT\NUL\NULz\EOT\NUL\NUL\NUL\NULh\EOT\251\r\NUL\NUL\NUL\NUL\NUL\NUL\180\EOT\159\NUL\EOT\DC2\NUL\NUL\NUL\NUL\220\n>\t$\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\US\SOH+\NUL+\NUL\SYN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\STX\251\r\244\NUL\NUL\NUL\228\fd\EOTw\NUL\NUL\NUL\NUL\NUL\NUL\NUL\168\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\NUL\NUL\NUL+\NUL_\SOH\205\NUL>\EOT\NUL\NUL\NUL\NUL\251\r<\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\221\ETX\ESC\EOT\251\r\158\NUL\235\EM\200\ETX\NUL\NUL\200\ETX\NUL\NUL\200\ETX\ACK\EOT\251\r\NUL\NUL\NUL\NUL\205\NUL\US\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\211\t\251\r\251\r\245\ETX\NUL\NUL\n\SOH\239\ETX\NUL\NUL\SUB\EOTI\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\223\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r@\ETX\NUL\NUL\NUL\NUL\NUL\NUL\SI\NUL\NUL\NUL\151\SOH\NUL\NUL\DLE\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\v\NUL\NUL\NUL\NUL\128\f\NUL\NUL\NUL\NUL\251\rc\v\NUL\NUL\NUL\NUL\NUL\NUL\ETX\EOT\NUL\NUL\SOH\EOT\225\ETX\251\r*\NUL\182\ETX*\NUL\NUL\NUL\216\ETX\211\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\158\NUL\212\STXj\ETX\NUL\NUL\251\r\NUL\NUL\NUL\NUL\185\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NULJ\ETXJ\ETX\NUL\NUL\211\t\211\t\213\NUL\NUL\NUL\NUL\NUL\168\ETX;\ETX;\ETX\NUL\NUL\NUL\NULz\ETX\NUL\NUL\NUL\NULt\ETXr\ETX\NUL\NULF\ETX\v\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\NUL\NUL\NUL\NUL\NUL\251\r\251\rl\ETX[\ETX\ETB\ETX\233\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyGotoOffsets"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyGotoOffsets")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "6\ETXq\NUL\211\ACK\198\GS<\ETX8\NUL\NUL\NUL\NUL\NUL\197\STX5\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\NUL\NUL\NUL\NULq\r\164\v\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\STX\213\n\185\n\NUL\NUL\NUL\NUL\NUL\NUL\167\STX\NUL\NUL \f\190\ETX`\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\ETX\SUB\NUL\NUL\NULv\US\NUL\NUL\NUL\NUL\184\ACK\NUL\NUL\149\STX\NUL\NULL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\ETX\NUL\NUL\NUL\NUL\NUL\NUL*\ACK\195\NUL\NUL\NUL\138\ENQ\NUL\NUL\DC4\NUL\SYN\SOHl\STX}\SOH\162\SOH\203\NUL\NUL\NUL\NUL\NUL\150\b\NUL\NUL\154\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\b\226\STX\NUL\NUL\NUL\NUL\187\STX\NAK\SOH\NUL\NUL\168\n\215\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\\\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\255\255\NUL\NUL\NUL\NUL\NUL\NUL\202\NAKq\STX]\STXj\STXw\b\NUL\NUL\NUL\NULp\STX\NUL\NUL[\b\NUL\NUL@\NUL\198\STX\NUL\NUL\NUL\NUL\NUL\NULR\STX\158\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\173\EOT\NUL\NULf\STX\NUL\NUL\168\DC3\SYN\ETB\169\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULQ\STX\144\STX\236\NUL\NUL\NUL\NUL\NUL\SUB\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\STXO\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\STX\154\DC3\232\SYN5\bu\STX\NUL\NUL\NUL\NUL\NUL\NULJ\STX\\\STX\NUL\NUL\NUL\NUL\NUL\NULb\STX1\STXV\STX\243\a\NUL\NUL\238\a\NUL\NUL\NUL\NUL\171\GS\144\GS\NUL\NUL\NUL\NULu\GS\NUL\NULZ\GS\NUL\NUL\152\ACK\NUL\NULN\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\235\SOH\233\a\NUL\NUL{\SYNS\SYN[\US\NUL\NUL\231\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\193\STX\NUL\NUL[\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULi\ENQ\155\NULx\NULP\NUL\137\SYN\NUL\NUL\NUL\NUL\172\ETX?\GS\199\US$\GS\226\US\b\NAK\132\NAK\253\US\241\vo\v\240\f\187\f@\f:\v\155\f\SUB\v\252\a&\a\193\v,\n\157\t\NUL\NUL@\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t\GS\238\FS\219\SOH\205\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\a\NUL\NUL\NUL\NUL\NUL\NUL\198\SOHa\EOT\NUL\NULs\DC3\218\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL3\ACK5\STX3\STX\234\SOH~\SOH\CAN\ACK%\US\NUL\NUL\NUL\NUL\166\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\ETX\145 \135\EOT\221\SOH\206\a\NUL\NUL\NUL\NUL\166\NAKL\EOT\183\SOH\NUL\NUL\NUL\NUL\218\DC3&\ETX\NUL\NUL\NUL\NULl\ENQ0\DC3\NUL\NUL\NUL\NUL\162\a6\STX\182\v\NUL\NUL&\EOT\160\SOH\NUL\NUL\NUL\NUL\167\SOHN\NAK\199\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL.\STX\176\SOH\NUL\NUL\NUL\NUL\235\ETX`\SOH\NUL\NUL\169\SYN\NUL\NUL\NUL\NUL\196\ESCj\a\DC4\SOH@ \CAN\DC4( \159\SOH\CAN\NUL,\DC4\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\166\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132 G\aw h\DC4\175\DC4*\NAK\197\ETXM\SOH\NUL\NUL\NUL\NULs\a\211\SOH\235\EOT'\a\NUL\NUL \a\NUL\NUL\NAK\a\NUL\NUL\NUL\NUL\191\ETX\NUL\NUL\NUL\NUL\185\SOH\NUL\NUL\NUL\NUL\253\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\EOT\NAK\a\NUL\NUL\217\ACK\NUL\NUL\169\ESC\NUL\NUL\NUL\NUL\NUL\NUL\SYN\STX\247\SOH\169\DC4\NUL\NULo\DC3\r\SO\244\SOH\NUL\NUL\NUL\NUL\n\DC4\NUL\NUL\150\ACK\NUL\NUL\NUL\EOT\NUL\NUL>\DC3`\ETBv\ACKh\ACK\NUL\NUL\ACK\DC3Y\ETB+\ACK\NUL\NUL\DLE\ACK\226\ENQ\NUL\NUL\219\NULb\ETB\NUL\NUL\NUL\NUL\223\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\224\SYN\217\ENQ\NUL\NUL\NUL\NUL\210\DC4d\ETXB\SOH\NUL\NUL\NUL\NUL\NUL\NUL1\SYN\\\SOH\NUL\NUL\NUL\NUL\255\ENQ\NUL\NUL\249\b`\a\NUL\NUL\241\ENQ\228\ENQ\225\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\146\f\CAN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOHW\SOH\174\ENQ\147\ENQx\ENQ\NUL\NUL1\FS\SYN\FS\211\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\192\SOH3\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULT\tC\SOH\196\a>\SOH\NUL\NUL6\a\NUL\NUL@\SYN\213\255\225\DC4\NUL\NUL\NUL\NUL\NUL\NUL\199\STX\NUL\NUL\138\STX\NUL\NUL\NUL\NUL\249\NUL\150\DC4\NUL\NUL\NUL\NUL\DC3\ESC\n\US\NUL\NUL\145\US\NUL\NUL\239\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\142\ESC\157\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\212\RS\211\NUL\241\SUB\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\180\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\SOHg\SOH6\SOH\GS\SOH\ETB\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\244\255\SO\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\128\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\ENQ\NUL\NUL\NUL\NULk\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\t\\\ENQ\NUL\NUL1\SYNj \NUL\NUL\NUL\NUL\NUL\NUL\EOT\EOT\185\SYN\NUL\NUL\NUL\NUL\"\SYN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\EOT\176\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\RS\NUL\NUL\NUL\NUL\NUL\NUL\SUB\ETB\250\ENQd\DC4\NUL\NUL\NUL\NUL\128\SYN\154\ACK\202\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\195\STX\170\r6\r\250\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\158\RS\217\255\NUL\NULP\ESC\NUL\NULM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\145\ACK\191\ETXZ\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\131\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL(\NUL\NUL\NULh\RSW\EOTa\EOTx\EOT\NUL\NUL\t\EOT\NUL\NUL\134\ETX\NUL\NULM\RS\NUL\NUL\NUL\NULZ\ENQ\171\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\243\EOT\251\ESC\224\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\FSD\NUL\NUL\NUL\NUL\NUL\NUL\NUL,\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\ESC\NUL\NUL\NUL\NULs\ESC\NUL\NUL\NUL\NUL2\RS5\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\157\FS\245\255\NUL\NUL\241\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETB\RS\NUL\NUL_\ETX[ \208\255\NUL\NUL\252\GS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\225\GS\NUL\NUL\NUL\NUL\NUL\NUL\236\SOH\208\255\NUL\NUL\214\EOT\158\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL2\NUL\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\249\255I\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\FSg\FS\NUL\NUL\NUL\NUL\NUL\NUL\145\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyDefActions"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyDefActions")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\250\255=\254\NUL\NUL\NUL\NUL\NUL\NUL=\254\155\254\143\254}\254\NUL\NUL{\254w\254t\254q\254l\254i\254g\254e\254c\254a\254_\254\\\254O\254\NUL\NUL\165\254\164\254=\254~\254\DEL\254\NUL\NUL\NUL\NUL\129\254\128\254\130\254\131\254\NUL\NUL\NUL\NUL\NUL\NULE\254F\254D\254C\254\166\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\255\227\255\226\255\225\255\224\255\223\255\222\255\NUL\NUL\NUL\NUL\199\255\215\255\181\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULK\254\NUL\NUL\NUL\NUL\166\254>\254\NUL\NUL\247\255\NUL\NUL\246\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\152\255\NUL\NULw\255\155\255\138\255\154\255\137\255\153\255\136\255l\255R\255=\254Q\255\NUL\NUL\229\255\n\255\b\255\t\255\166\255\251\254\250\254\NUL\NUL<\254;\254\NUL\NUL=\254\NUL\NUL\141\255~\255\134\255}\255\129\255=\254\143\255\130\255\132\255\131\255\140\255\133\255\128\255\142\255M\255\144\255\NUL\NUL\139\255L\255\DEL\255\135\255\254\254`\255\NUL\NUL=\254\NUL\NUL\245\255\NUL\NUL=\254\NUL\NUL<\254\NUL\NUL\NUL\NUL\a\255\249\254<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\151\255v\255k\255&\255\166\255:\254\NUL\NULZ\255+\255/\255,\255-\255.\255=\254\ETX\255\215\254\213\254\244\254I\254\NUL\NUL\150\255u\255j\255*\255&\255\166\255\NUL\NUL\NUL\NUL]\255\NUL\NULf\255T\255S\255b\255\146\255\145\255a\255o\255h\255g\255\169\255n\255m\255\170\255{\255r\255s\255q\255z\255y\255x\255\NUL\NUL&\255'\255#\255 \255\US\255$\255\SYN\255(\255\166\255\NUL\NUL=\254\"\255\NUL\NUL\148\255|\255p\255&\255\166\255\147\255\NUL\NULe\255\NUL\NUL&\255\166\255=\254\168\255=\254\167\255\243\255\NUL\NUL\NUL\NULJ\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL?\254K\254\NUL\NUL\NUL\NUL\188\255}\254G\254\NUL\NUL\187\255\NUL\NUL\180\255\213\255=\254\198\255=\254=\254\NUL\NUL\133\254=\254\134\254\140\254B\254A\254\138\254=\254\136\254=\254\132\254\141\254\142\254\NUL\NUL\222\254\138\255\137\255\136\255\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\139\254\NUL\NULZ\254V\254U\254Y\254X\254W\254R\254Q\254P\254T\254S\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\254\148\254\248\255\249\255\151\254\150\254\NUL\NUL\NUL\NUL\145\254\153\254[\254x\254y\254z\254u\254v\254r\254s\254m\254o\254n\254p\254j\254k\254h\254f\254d\254b\254\NUL\NUL\NUL\NUL`\254M\254N\254\163\254\NUL\NUL\219\254\216\254\218\254\217\254\NUL\NUL\220\254\244\254\200\254\221\254\162\254\NUL\NUL\NUL\NUL@\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\214\255\213\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\219\255\NUL\NUL=\254\NUL\NUL\NUL\NUL\190\255\NUL\NUL\186\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\182\254=\254\NUL\NUL\241\255=\254=\254\182\254\239\255!\255\244\254\NUL\NUL\RS\255\DC2\255<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\255=\254\182\254\240\255N\255K\255=\254\NUL\NUL\149\255t\255i\255)\255&\255\166\255\NUL\NULW\255=\254\182\254\238\255I\254H\254\NUL\NULI\254\130\254=\254\239\254\235\254\232\254\154\255\137\255\228\254\NUL\NUL\243\254\241\254\NUL\NUL<\254\224\254\212\254\236\255\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254=\254=\254\182\254\242\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\246\254\253\254\STX\255\ACK\255\t\255\ENQ\255\248\254\NUL\NUL\NUL\NUL4\255\NUL\NUL\NUL\NUL\NUL\NUL6\254\NUL\NUL8\254\&4\254\&5\254_\255^\255\NUL\NUL3\255\&1\255\NUL\NUL\NUL\NUL\EOT\255\SOH\255\245\254\NUL\NUL\NUL\NUL\252\254\NUL\255\161\255\NUL\NUL\235\255\NUL\NUL\NUL\NUL&\255&\255\NUL\NUL(\255\NUL\NUL=\254&\255\247\254\NUL\NUL=\254\214\254=\254\226\254\NUL\NUL\227\254\244\254\200\254=\254=\254\231\254\244\254\200\254=\254\234\254=\254=\254\238\254=\254\NUL\NUL\NUL\NUL\NUL\NUL\130\254\211\254\NUL\NUL\NUL\NULI\254\130\254\163\255\231\255=\254=\254\182\254\237\255\NUL\NUL\NUL\NUL=\254K\255\157\255\233\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\SI\255\SUB\255\NUL\NUL\GS\255\FS\255\DC1\255\NUL\NUL\NUL\NUL\164\255\232\255\NUL\NUL\NUL\NUL\NUL\NUL\159\255\158\255\234\255&\255&\255\NUL\NUL\NUL\NUL\NUL\NUL\189\255K\254K\254\NUL\NUL\NUL\NUL\220\255\NUL\NUL\NUL\NUL\214\255\NUL\NUL\211\255\NUL\NUL\212\255\210\255\208\255\209\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\255=\254\221\255=\254\NUL\NUL=\254\NUL\NUL\137\254\135\254=\254\198\254\196\254\NUL\NUL\NUL\NUL\NUL\NUL<\254\186\254|\254\180\254\NUL\NUL]\254\NUL\NUL\152\254\NUL\NUL\154\254\144\254^\254L\254\179\254\NUL\NUL\NUL\NUL\NUL\NUL\172\254\173\254\185\254\NUL\NUL\NUL\NUL\NUL\NUL\180\254\NUL\NUL\NUL\NUL\NUL\NUL\193\254\194\254\192\254\195\254\197\254\199\254<\254\NUL\NUL\NUL\NUL\158\254\NUL\NUL\207\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\NUL\NUL\201\255\NUL\NUL\179\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\255\195\255\194\255\182\254\182\254\NUL\NULd\255c\255\NUL\NUL\ESC\255\DLE\255\NUL\NUL\NAK\255\EM\255\r\255\SO\255\NUL\NUL\CAN\255\v\255=\254@\255I\255\NUL\NUL\NUL\NUL=\254<\254J\255O\255=\254\\\255[\255\162\255\230\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\254=\254\209\254\NUL\NUL\210\254\204\254\NUL\NUL\NUL\NUL\237\254\236\254\233\254=\254\196\254<\254\230\254\229\254=\254\196\254<\254\225\254\240\254\242\254\223\254\NUL\NUL\NUL\NUL\NUL\NUL&\255Y\255X\255\181\254\255\254\244\255\NUL\NUL\NUL\NUL\NUL\NUL8\255\NUL\NUL\NUL\NUL6\254\&7\254\&9\254\&1\254\NUL\NUL2\254\&2\255\&7\255\&0\255\NUL\NUL6\255\NUL\NUL<\254<\254\NUL\NUL\207\254\203\254\NUL\NUL\NUL\NUL\208\254\202\254V\255U\255F\255D\255<\255\NUL\NUL\NUL\NUL<\254=\254H\255=\254G\255=\254?\255\NUL\NULP\255\ETB\255\NUL\NUL\NUL\NUL\DC4\255%\255\156\255\160\255\NUL\NULK\254K\254\NUL\NUL\218\255\NUL\NUL\178\255\177\255\NUL\NUL\NUL\NUL\185\255\216\255\200\255\206\255\204\255\205\255\NUL\NUL\203\255\159\254\160\254\NUL\NUL\NUL\NUL\161\254\191\254\189\254\190\254\188\254\NUL\NUL\169\254\NUL\NUL\174\254\171\254\168\254\175\254\178\254\NUL\NUL\147\254\177\254\NUL\NUL\146\254\170\254\NUL\NUL\NUL\NUL\184\254\187\254\157\254\NUL\NUL\202\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\255\193\255\NUL\NUL\NUL\NUL\196\255\DC3\255>\255\NUL\NULB\255\NUL\NUL\NUL\NULE\255;\255\NUL\NUL9\255\201\254\NUL\NUL\206\254\&5\255\&3\254\NUL\NUL0\254\205\254:\255=\254C\255=\255\NUL\NUL\NUL\NUL\NUL\NUL\184\255\176\255\NUL\NUL\NUL\NUL\NUL\NUL\156\254\183\254\NUL\NUL\176\254\167\254\NUL\NUL\NUL\NUL\175\255\NUL\NUL\NUL\NUL\214\255\192\255A\255\191\255\NUL\NUL\172\255\183\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\255\182\255\173\255\174\255")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyCheck"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyCheck")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\255\255\STX\NUL\ETX\NUL\EOT\NUL6\NULt\NUL\NAK\NUL\SYN\NUL\ETB\NUL\NAK\NUL\SYN\NUL\ETB\NUL\ETB\NUL\EOT\NUL5\NUL\SOH\NUL\SOH\NUL\CAN\NUL\ETX\NUL\SOH\NUL\EOT\NUL\STX\NUL\FS\NUL\STX\NUL\EM\NULt\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\SOH\NUL\ETX\NUL\DC4\NUL\STX\NUL[\NUL\r\NUL3\NUL9\NUL \NUL!\NUL7\NUL#\NUL\r\NUL!\NUL\STX\NUL\ETX\NUL\EOT\NUL\RS\NUL.\NUL*\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NUL\SOH\NULy\NUL6\NULv\NUL\SOH\NUL.\NUL6\NULv\NUL6\NUL\EM\NUL\t\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULt\NUL\SOH\NUL^\NULt\NULt\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL^\NUL\r\NUL\STX\NUL\ETX\NUL\EOT\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NULB\NULC\NULD\NUL[\NUL6\NUL\\\NUL]\NUL^\NUL\EM\NUL^\NUL\ESC\NULy\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\EOT\NUL\SOH\NUL\SOH\NULy\NUL\ETX\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL\STX\NUL\r\NUL\r\NUL6\NUL6\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NULv\NUL!\NUL\RS\NUL#\NUL#\NUL\SOH\NUL\a\NUL\\\NUL]\NUL^\NUL*\NUL+\NUL,\NUL\EOT\NUL{\NULy\NUL\SOH\NUL\r\NUL\STX\NUL3\NUL\SOH\NUL,\NUL6\NUL6\NUL*\NUL\\\NULT\NUL6\NUL\r\NUL\STX\NULT\NUL\SOH\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULC\NUL \NUL!\NUL\r\NUL#\NULH\NULw\NULx\NULy\NUL\SOH\NUL!\NUL*\NUL+\NUL,\NUL\EOT\NULy\NUL\SOH\NUL\RS\NUL*\NULV\NUL3\NUL\r\NULy\NUL6\NUL\\\NUL\\\NUL]\NUL^\NUL\r\NUL\\\NUL]\NUL6\NUL\SOH\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL-\NUL\STX\NUL!\NUL\r\NUL#\NULC\NUL6\NULx\NULy\NULy\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\\\NUL]\NUL^\NUL\STX\NUL\a\NUL3\NUL\SOH\NUL-\NUL6\NULV\NUL\a\NUL\\\NUL]\NUL^\NUL\RS\NUL\\\NUL]\NUL^\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL!\NUL#\NUL#\NUL\\\NUL]\NULy\NUL\a\NUL\SOH\NUL*\NUL+\NUL,\NUL\EOT\NUL\a\NULy\NUL*\NUL\\\NUL\EOT\NUL3\NULv\NUL\r\NUL7\NUL6\NUL\\\NUL]\NUL^\NUL\\\NUL]\NULw\NULx\NULy\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL\SOH\NUL#\NULC\NUL \NUL!\NULy\NUL#\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\r\NUL*\NUL+\NUL,\NUL\STX\NUL3\NULy\NUL\FS\NUL6\NULV\NUL3\NULz\NUL{\NUL6\NUL\FS\NUL\\\NUL]\NUL^\NULK\NULA\NULB\NULC\NULD\NULt\NULA\NULB\NULC\NULD\NUL!\NUL-\NUL#\NULw\NULx\NULy\NULy\NULy\NUL9\NUL*\NUL+\NUL,\NUL\SOH\NUL6\NULT\NUL9\NUL*\NUL\\\NUL3\NUL^\NUL\ETX\NUL6\NUL!\NUL\ACK\NUL\r\NULT\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULH\NULA\NULB\NULC\NULD\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL6\NULT\NULV\NULx\NULy\NUL\US\NUL4\NUL5\NUL\\\NULy\NUL^\NUL\r\NUL \NUL!\NUL*\NUL \NUL!\NUL-\NUL\ENQ\NUL\ACK\NUL\a\NUL\RS\NUL\t\NUL\SUB\NUL\v\NUL\f\NUL\r\NUL\a\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL-\NUL6\NUL\\\NUL]\NUL6\NUL\EM\NUL\SOH\NUL\ESC\NUL\ETX\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL4\NUL5\NUL\\\NUL]\NUL^\NULt\NUL3\NULT\NUL\n\NULy\NUL7\NULZ\NUL\SO\NUL\\\NULv\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULT\NULn\NUL\\\NUL]\NUL^\NUL\FS\NULs\NULt\NUL\FS\NULv\NULB\NULC\NULD\NULy\NUL,\NULZ\NULy\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL9\NULn\NULv\NUL9\NULT\NUL\FS\NULs\NULt\NULK\NULv\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\n\NUL\t\NULy\NUL\v\NUL\f\NUL\r\NULv\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL\FS\NULx\NULy\NUL\FS\NUL\EM\NUL9\NUL\ESC\NULv\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NULw\NULx\NULy\NUL\FS\NUL9\NUL3\NUL\a\NUL9\NUL\FS\NUL7\NUL\FS\NUL\FS\NUL\SOH\NUL\SUB\NUL*\NUL<\NUL=\NUL-\NUL\SOH\NUL\SUB\NUL\ETX\NULB\NULC\NULD\NUL\r\NUL\a\NUL\"\NUL#\NUL\SUB\NUL%\NUL\r\NUL'\NUL9\NUL)\NUL*\NUL+\NUL,\NUL9\NUL\a\NUL9\NUL9\NUL \NUL!\NUL3\NULZ\NULv\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NULn\NUL\\\NUL]\NUL^\NULL\NULs\NULt\NUL\SUB\NULv\NULw\NULx\NULy\NULy\NUL\a\NULA\NULB\NULC\NULD\NULZ\NULP\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NUL\\\NUL]\NUL^\NUL\a\NULs\NULt\NUL\\\NUL]\NULw\NULx\NULy\NUL\SOH\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL*\NULt\NUL\ETX\NUL-\NUL\r\NUL\ACK\NUL\"\NUL#\NULy\NUL%\NULv\NUL'\NULy\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\STX\NUL\ETX\NUL6\NUL\RS\NUL\ACK\NUL3\NULX\NULY\NUL*\NUL7\NUL6\NUL-\NUL\US\NUL\SUB\NUL6\NUL;\NUL<\NUL=\NUL>\NUL?\NULy\NULA\NULB\NULC\NULD\NUL\a\NUL\"\NUL#\NULv\NUL%\NULL\NUL'\NUL\b\NUL)\NUL*\NUL+\NUL,\NULM\NULN\NULO\NULP\NULQ\NULR\NUL3\NULZ\NULu\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULv\NULn\NUL\\\NUL]\NULm\NULL\NULs\NULt\NUL\NUL\NUL\SOH\NULw\NULx\NULy\NULx\NULy\NUL\SOH\NULw\NULx\NULy\NULZ\NUL+\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NULA\NULB\NULC\NULD\NULs\NULt\NUL6\NUL\STX\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL[\NULA\NULB\NULC\NULD\NUL\a\NULF\NULG\NUL\STX\NUL\"\NUL#\NUL+\NUL%\NUL\SOH\NUL'\NUL\SOH\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\EM\NUL\EOT\NUL\ESC\NUL3\NUL\GS\NUL\RS\NUL\US\NUL7\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL[\NUL3\NUL\SOH\NULL\NUL\ETX\NUL7\NUL\\\NUL]\NULx\NULy\NULA\NULB\NULC\NULD\NUL\r\NUL\\\NUL]\NULZ\NUL^\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULZ\NULn\NUL\\\NUL\EOT\NUL^\NUL_\NULs\NULt\NUL*\NUL+\NULw\NULx\NULy\NUL!\NUL^\NUL#\NUL*\NUL+\NUL\a\NUL*\NUL+\NUL#\NUL*\NUL+\NUL,\NULs\NULt\NUL\STX\NUL*\NUL+\NUL,\NUL3\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL3\NUL\ESC\NUL+\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL6\NUL\\\NUL]\NUL3\NULN\NULO\NULP\NUL7\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL,\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULZ\NUL*\NUL\\\NUL\SOH\NUL^\NUL_\NUL3\NULy\NUL+\NUL!\NUL7\NUL#\NUL\RS\NULy\NUL^\NUL#\NUL\\\NUL]\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL,\NULs\NULt\NUL3\NUL\ETB\NUL\CAN\NUL6\NUL3\NULy\NUL\RS\NUL6\NUL^\NULw\NULx\NULy\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL0\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\DC1\NUL\DC2\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL6\NULw\NULx\NULy\NUL\EOT\NUL3\NULw\NULx\NULy\NUL7\NUL#\NULA\NULB\NULC\NULD\NUL2\NUL\EOT\NUL*\NUL+\NUL,\NUL\a\NUL\EOT\NULx\NULy\NUL\\\NUL]\NUL3\NUL\v\NUL\f\NUL6\NULA\NULB\NULC\NULD\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL\US\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\SOH\NUL-\NUL\ETX\NUL*\NUL+\NUL3\NUL<\NULx\NULy\NUL7\NUL*\NUL+\NUL\r\NUL+\NULw\NULx\NULy\NUL\EM\NUL+\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL+\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\\\NUL]\NUL3\NUL6\NUL\FS\NUL\GS\NUL7\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL6\NUL!\NUL,\NUL#\NULC\NULw\NULx\NULy\NUL\RS\NULH\NUL*\NUL+\NUL,\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL\STX\NULH\NUL3\NULw\NULx\NULy\NULV\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\ETB\NUL\CAN\NUL^\NULV\NUL\STX\NULB\NULC\NULD\NUL\STX\NUL\\\NUL]\NUL^\NUL\ENQ\NUL\ACK\NUL\a\NUL\DC1\NUL\DC2\NULN\NULO\NULP\NULQ\NULR\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL7\NUL\STX\NULw\NULx\NULy\NULw\NULx\NULy\NUL\v\NUL\f\NULA\NULB\NULC\NULD\NULZ\NUL\STX\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULw\NULx\NULy\NUL,\NULs\NULt\NUL\RS\NULv\NULZ\NUL\\\NUL\\\NUL-\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\RS\NULn\NULw\NULx\NULy\NUL0\NULs\NULt\NULZ\NULv\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL6\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\US\NULC\NUL\EOT\NUL\STX\NUL6\NUL\STX\NULH\NULM\NUL\EOT\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NUL\EOT\NULV\NUL\EOT\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL;\NUL<\NUL=\NULN\NULO\NULP\NULA\NULB\NULC\NULD\NUL^\NUL\\\NUL\ENQ\NUL\ACK\NUL\a\NULM\NULN\NULO\NULP\NULQ\NULR\NUL0\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\STX\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\STX\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL+\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULN\NULO\NULP\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NULN\NULO\NULP\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULs\NULt\NUL\US\NULv\NUL*\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL^\NUL\EOT\NUL\EOT\NULN\NULO\NULP\NULN\NULO\NULP\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULN\NULO\NULP\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULN\NULO\NULP\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NULw\NULx\NULy\NULw\NULx\NULy\NUL\US\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\SOH\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL,\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL,\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\US\NULn\NULw\NULx\NULy\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\b\NULn\NULw\NULx\NULy\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL^\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL\US\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL<\NUL=\NUL>\NUL?\NUL@\NUL+\NULB\NULC\NULD\NUL+\NUL[\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULw\NULx\NULy\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULw\NULx\NULy\NUL\\\NUL*\NULZ\NULF\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NUL*\NULp\NULx\NULy\NULs\NULt\NULw\NULx\NULy\NUL\STX\NUL\STX\NULZ\NULy\NUL\\\NUL^\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NULN\NULO\NULP\NUL\RS\NULs\NULt\NULZ\NULv\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\ESC\NULn\NUL\f\NUL\r\NUL\EM\NUL\DLE\NULs\NULt\NUL\EOT\NULv\NUL\SOH\NUL[\NUL\ETX\NUL\STX\NUL\STX\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\SOH\NUL \NUL!\NUL3\NUL#\NULW\NUL+\NUL7\NULN\NULO\NULP\NUL*\NUL+\NUL,\NULF\NULN\NULO\NULP\NUL+\NUL^\NUL3\NUL,\NUL\SOH\NUL6\NUL,\NUL6\NULZ\NUL\SOH\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULA\NULB\NULC\NULD\NULC\NUL\r\NUL,\NUL0\NULZ\NULH\NUL\\\NUL,\NUL^\NUL_\NUL`\NUL7\NUL\SOH\NULs\NULt\NUL;\NUL<\NUL=\NUL,\NULV\NUL\ETX\NULA\NULB\NULC\NULD\NUL\\\NUL]\NUL^\NUL\SOH\NULs\NULt\NUL+\NUL\STX\NULw\NULx\NULy\NUL0\NUL1\NUL,\NUL3\NUL\STX\NUL5\NUL[\NUL^\NUL8\NUL\SOH\NULe\NUL;\NUL\SOH\NUL=\NUL>\NUL?\NULy\NULN\NULO\NULP\NULD\NULE\NUL\SOH\NULG\NUL\EOT\NUL^\NULJ\NULK\NUL\SOH\NULM\NULN\NUL^\NULP\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NULw\NULx\NULy\NUL,\NULe\NUL\\\NUL]\NUL^\NUL_\NUL\SOH\NULw\NULx\NULy\NUL\RS\NULe\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SOH\NUL\SOH\NUL\DLE\NULN\NULO\NULP\NULZ\NUL\RS\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NUL\ESC\NUL+\NUL8\NUL+\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\RS\NULA\NULB\NULC\NULD\NUL+\NUL+\NUL,\NULs\NULt\NUL/\NUL0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL:\NUL;\NULe\NUL=\NUL>\NUL?\NUL@\NULA\NULB\NULC\NULD\NULE\NUL\SOH\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\SOH\NUL\SOH\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL[\NUL1\NUL\DLE\NULe\NUL*\NULZ\NUL6\NUL\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NUL\ESC\NUL>\NULw\NULx\NULy\NUL\SUB\NULC\NULw\NULx\NULy\NULG\NULH\NULw\NULx\NULy\NUL\EM\NULM\NULs\NULt\NULP\NUL/\NULR\NUL1\NUL\DLE\NUL3\NULV\NUL5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL^\NUL=\NUL>\NUL?\NULN\NULO\NULP\NULC\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULN\NULO\NULP\NUL\255\255\&6\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULA\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\EM\NUL\255\255\ESC\NUL\ESC\NUL\GS\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL/\NUL\255\255\&1\NUL3\NUL3\NUL\255\255\&5\NUL7\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NULN\NULO\NULP\NUL\255\255D\NULE\NUL\255\255G\NULx\NULy\NULJ\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\255\255\&7\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255w\NULx\NULy\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\ESC\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255\255\255<\NUL=\NUL,\NUL\255\255\255\255/\NULB\NULC\NULD\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\SOH\NUL\STX\NUL\ETX\NULD\NULE\NULw\NULx\NULy\NUL\255\255J\NULK\NULL\NUL\EOT\NULN\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULx\NULy\NUL\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\SOH\NULC\NUL\ETX\NUL\255\255\ENQ\NUL\ACK\NULH\NUL\255\255\t\NUL\n\NUL\ESC\NUL\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NULV\NULA\NULB\NULC\NULD\NUL\255\255\\\NUL\255\255^\NUL\255\255/\NUL\SOH\NUL\STX\NUL\ETX\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\r\NUL\SO\NUL\SI\NULD\NULE\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255J\NULK\NULL\NUL\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\r\NUL\SO\NUL\SI\NUL6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL6\NUL\255\255\255\255\255\255H\NUL;\NUL<\NUL=\NUL\ESC\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255Z\NULV\NUL\\\NUL\255\255^\NUL_\NUL`\NUL+\NUL,\NUL^\NUL\255\255/\NUL0\NUL\255\255\&2\NUL\255\255\&4\NUL\255\255\255\255\&7\NUL\255\255\&9\NUL:\NUL7\NUL\255\255s\NULt\NUL\255\255@\NULA\NULB\NUL\255\255\255\255A\NULB\NULC\NULD\NULI\NULF\NULG\NULL\NUL\255\255\255\255O\NUL\255\255\255\255\SOH\NUL\255\255\ETX\NULx\NULy\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\ESC\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255/\NUL\255\255D\NULE\NUL\255\255G\NUL\255\255\&6\NULJ\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULC\NUL\SOH\NUL\255\255\ETX\NUL\255\255H\NUL\\\NUL]\NUL^\NULL\NULM\NUL\255\255Z\NUL\r\NUL\\\NUL\255\255^\NUL_\NUL`\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255s\NULt\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\ESC\NUL=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255/\NULQ\NUL\255\255S\NULT\NULU\NULV\NUL6\NUL\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\255\255\255\255\255\255\255\255\SOH\NULC\NUL\ETX\NUL\255\255\SOH\NUL\255\255H\NUL\SOH\NUL\255\255\255\255L\NULM\NUL\r\NULB\NULC\NULD\NUL\r\NULF\NULG\NUL\r\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\&6\NULZ\NUL\255\255\\\NUL6\NUL^\NUL_\NUL6\NUL\ESC\NUL\255\255\255\255\255\255\255\255C\NULx\NULy\NUL\255\255C\NULH\NUL\255\255C\NUL\255\255H\NUL\255\255\255\255H\NULs\NULt\NUL/\NULZ\NUL\255\255\\\NULV\NUL^\NUL_\NUL6\NULV\NUL\255\255\\\NULV\NUL^\NUL\255\255\\\NUL]\NUL^\NUL\\\NUL]\NUL^\NULC\NUL\255\255\255\255\255\255\255\255H\NULs\NULt\NUL\255\255L\NULM\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\ETX\NUL\255\255\r\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\ETX\NUL\255\255\255\255\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL,\NUL-\NUL6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL-\NUL\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\ESC\NULF\NULG\NULZ\NUL\SOH\NUL\\\NUL\ETX\NUL^\NUL_\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&6\NULs\NULt\NUL\ESC\NUL\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NULx\NULy\NUL\255\255\SOH\NUL\255\255\ETX\NULs\NULt\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL6\NUL\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NUL\SOH\NUL\255\255\255\255\255\255\255\255V\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL^\NUL\255\255\DLE\NUL/\NUL\255\255s\NULt\NUL\255\255\255\255\255\255\&6\NUL\255\255Z\NUL\ESC\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\&6\NUL\255\255\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\STX\NUL\255\255\255\255\r\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULy\NUL\255\255\DLE\NULs\NULt\NUL\255\255\255\255\&6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL\255\255\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL\255\255^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255\ESC\NUL\SOH\NUL\STX\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL,\NUL\255\255Z\NUL/\NUL\\\NUL\255\255^\NUL_\NUL`\NUL\255\255\ESC\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL\255\255/\NUL\255\255L\NULx\NULy\NUL\255\255\255\255\ESC\NUL\255\255\255\255\RS\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL/\NUL\255\255L\NUL\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255L\NULs\NULt\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NULX\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULx\NULy\NUL\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL7\NUL\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\ESC\NULA\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255L\NULx\NULy\NUL\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\ESC\NUL0\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NULV\NUL\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255^\NUL\255\255/\NULD\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL_\NULL\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\US\NUL \NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL\255\255\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\r\NUL5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\r\NUL8\NUL\255\255\SOH\NUL;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\r\NULG\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\RS\NUL\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&6\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&3\NULC\NUL5\NUL\255\255\255\255\&8\NULH\NUL\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255V\NUL\255\255\255\255J\NULK\NUL\255\255\\\NULN\NUL^\NUL\255\255Q\NUL6\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NULC\NUL\255\255\255\255\RS\NUL\US\NULH\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\&3\NUL\\\NUL\255\255^\NUL7\NUL\255\255\255\255\255\255\255\255<\NUL=\NUL\255\255\255\255\255\255\255\255B\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULB\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255x\NULy\NUL7\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255x\NULy\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NULK\NUL\255\255\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULH\NULI\NULJ\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255 \NUL!\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255!\NUL6\NUL#\NUL\255\255w\NULx\NULy\NULJ\NUL\255\255*\NUL+\NUL,\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255w\NULx\NULy\NUL\255\255!\NUL\255\255#\NUL\255\255!\NUL\255\255#\NUL\255\255\255\255*\NUL+\NUL,\NULy\NUL*\NUL+\NUL,\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255<\NUL=\NUL\255\255\255\255x\NULy\NULB\NULC\NULD\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255!\NUL\255\255#\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL3\NULy\NUL\255\255\&6\NULx\NULy\NUL3\NUL\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255y\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255y\NUL\255\255\255\255\255\255Z\NULL\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NUL\255\255\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\"\NUL#\NUL7\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255L\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\"\NUL#\NULL\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL6\NULw\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255L\NUL\255\255\255\255w\NULx\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL#\NUL\255\255\255\255\&6\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\&2\NUL3\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255w\NULx\NULy\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255x\NULy\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NUL\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\&7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL7\NUL\255\255\255\255\&6\NULq\NUL\255\255s\NULt\NUL;\NUL<\NUL=\NUL\255\255y\NUL\255\255A\NULB\NULC\NULD\NULw\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL7\NUL6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255w\NULx\NULy\NUL\255\255\255\255s\NULt\NULw\NULx\NULy\NUL+\NUL\255\255-\NUL\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255+\NUL\255\255-\NUL\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255+\NULQ\NUL\255\255S\NULT\NULU\NUL1\NUL\255\255\255\255\255\255\255\255\&6\NUL\255\255]\NUL^\NUL_\NUL+\NUL\255\255\255\255>\NUL\255\255\255\255\&1\NUL\255\255C\NUL\255\255\255\255\&6\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL>\NUL\255\255P\NUL\255\255R\NULC\NUL\255\255\255\255V\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL^\NUL\255\255P\NUL\255\255R\NUL,\NUL\255\255\255\255V\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255.\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255\255\255>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NUL\255\255\255\255P\NUL\255\255R\NUL\255\255T\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255\255\255\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255T\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255S\NUL^\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NUL\255\255V\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NULv\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NUL\255\255S\NUL\255\255\255\255\255\255\255\255\255\255|\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255Z\NUL\255\255\\\NULy\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255o\NUL\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&1\NULM\NULN\NULO\NULP\NULQ\NULR\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL1\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyTable"] (TyCon (UnQual (Ident "HappyAddr"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyTable")) (UnGuardedRhs (App (Con (UnQual (Ident "HappyA#"))) (Lit (PrimString "\NUL\NUL\136\NULL\NULM\NUL\162\SOH{\ETX^\ETX\DC2\ETX\DC3\ETX\DC1\ETX\DC2\ETX\DC3\ETX`\ETX=\254\230\STX%\STX\141\SOHr\ETX\170\NUL\203\SOH5\ETX%\ETX\SUB\STXz\ETXN\NULi\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\212\STX\SYN\ETX\248\NUL{\STX\130\STX\239\NUL_\NUL\132\SOH\199\NUL\185\NUL`\NUL\200\NUL\247\SOH\188\NUL=\SOHL\NULM\NULu\SOH6\ETX{\ETXa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL%\STXO\ETX\186\NUL\131\STX\203\SOHv\SOH\189\NUL\226\SOH\249\NULN\NULq\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\DC4\ETX\151\SOH\134\NUL\DC4\ETX\DC4\ETX\132\NUL_\NUL\134\NULs\ETX\132\NUL`\NUL\134\NUL\134\NUL\214\NULK\NULL\NULM\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\240\NULK\NUL\200\SOHc\NUL\201\SOH*\NUL\182\NUL\132\NUL\152\SOH\134\NULN\NUL\134\NULO\NUL\201\NULP\NULQ\NULR\NUL\190\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\170\NUL\203\SOH\ACK\STXO\ETX\170\NUL\132\NUL_\NUL\134\NULj\ETX\132\NUL`\NUL\134\NULU\ETX\204\SOH\a\STX\221\SOH\189\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL9\ETX\171\NUL\251\STX\172\NUL\196\NUL%\STX;\ETX\132\NUL\152\SOH\134\NUL\173\NUL]\NUL^\NUL\215\NUL\225\STX\183\NUL\211\STX&\STX\224\STX_\NUL%\STX\157\SOH\174\NUL\197\NULV\ETX\222\SOH\n\ETX<\254\247\SOHm\ETX\v\ETX\246\SOH&\STX\175\NULb\NULc\NULd\NUL\176\NULf\NULg\NUL<\254\216\NUL\185\NUL\247\SOH\217\NUL<\254h\NULi\NULj\NUL\203\SOH\181\NUL\218\NUL]\NUL^\NUL\158\SOH\190\NUL\212\STXn\ETX\225\STX<\254_\NUL\204\SOH`\STX\186\NUL\132\NUL\132\NUL\215\NUL\134\NUL\247\SOH\240\NULK\NUL\182\NUL\213\NUL\161\NUL\219\NULb\NULc\NULd\NUL\220\NULf\NULg\NULT\ETXA\ETX\159\SOH\214\NUL\160\SOH\162\NUL\174\NUL\177\NULj\NUL\198\NUL\163\NUL\161\SOH]\NUL^\NUL\150\NUL\132\NUL\215\NUL\134\NUL\249\SOH\EM\ETX_\NUL\236\STX\232\STX\162\SOH\164\NUL\SUB\ETX\132\NUL\215\NUL\134\NULB\ETX\132\NUL\215\NUL\134\NUL\247\SOH\163\SOHb\NULc\NULd\NUL\164\SOHf\NULg\NUL\132\NUL\215\NUL\151\NUL\195\NUL\152\NUL\196\NUL\240\NULK\NUL\221\NUL\ESC\ETXl\NUL\153\NUL]\NUL^\NUL\134\STX\GS\ETX\183\NUL\250\SOH\132\NUL\137\STX_\NUL(\ETXm\NUL\f\STX\197\NUL\132\NUL\152\SOH\134\NUL\240\NULK\NUL\193\STX\128\STXj\NUL\161\NUL\154\NULb\NULc\NULd\NUL\155\NULf\NULg\NUL\132\NUL\215\NUL\171\NUL\203\SOH\172\NUL\162\NUL\216\NUL\185\NUL\156\NUL\217\NUL\163\NUL\173\NUL]\NUL^\NUL\FS\ETX\204\SOH\218\NUL]\NUL^\NULg\STX_\NUL`\STX\152\STX\174\NUL\164\NUL_\NUL\218\SOH\219\SOH\186\NUL\153\STX\132\NUL\215\NUL\134\NUL\140\STX\175\NULb\NULc\NUL\208\SOH\154\STX\219\NULb\NULc\NUL\208\SOH\159\SOH\168\STX\160\SOH\r\STX\140\NULj\NUL\156\NUL\198\NUL\132\SOH\161\SOH]\NUL^\NUL\151\SOH\161\NUL\180\STX\132\SOHh\STX\132\NUL_\NUL\134\NUL\168\254\162\SOH\188\NUL\168\254\214\NUL\236\SOH\162\NULn\ETX2\NUL3\NUL\215\SOH\163\NUL\163\SOHb\NULc\NUL\208\SOH\144\STX4\NUL5\NUL6\NUL7\NUL8\NUL%\STX\189\NUL\SYN\STX\164\NUL\135\STXj\NUL\168\254\218\STX\225\SOH\132\NUL\221\NUL\134\NUL&\STX\192\NUL\185\NUL7\ETX\184\NUL\185\NUL8\ETXF\STX2\NUL3\NUL\145\STX\141\STX\EM\STXH\STXI\STXJ\STX\ESC\STX4\NUL5\NUL6\NUL7\NUL8\NUL\RS\STX\186\NUL\240\NULK\NUL\186\NULK\STX\169\NULO\NUL\170\NULP\NULL\STXM\STX\156\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\224\SOH\225\SOH\132\NUL\152\SOH\134\NULB\STX_\NUL \STXp\SOH\190\NULO\STX\ACK\NULq\SOH\a\NUL\226\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL/\STX9\NUL\132\NUL\215\NUL\134\NUL\137\SOH\CAN\NUL\EM\NUL\168\SOH:\NUL\146\NULc\NUL\233\SOH\193\NUL\229\255\ACK\NUL\187\NUL\a\NUL\134\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\132\SOH9\NUL\226\SOH\132\SOH5\STX\198\SOH\CAN\NUL\EM\NULC\STX:\NULh\NUL\195\SOHj\NULF\STX2\NUL3\NULD\STXG\STX`\STXH\STXI\STXJ\STX?\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\146\SOH\SUB\STX\149\NULj\NUL\131\SOHK\STX\132\SOHO\NUL@\SOHP\NULL\STXM\STX\214\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\r\SOHp\ETX\140\NULj\NUL\137\SOH\132\SOH_\NUL\134\SOH\132\SOH\153\SOHO\STX\168\SOH\198\SOH\151\SOH\130\SOH\234\STX#\STX\207\NUL\235\STX\ACK\STX\136\SOH\170\NUL\200\SOHc\NUL\201\SOH\214\NUL\138\SOH\SO\SOHU\NUL\152\SOH\SI\SOH\a\STX\DLE\SOH\132\SOH\DC1\SOH\\\NUL]\NUL^\NUL\132\SOH\154\SOH\132\SOH\132\SOH\192\NUL\185\NUL_\NUL\ACK\NUL\155\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\186\NUL9\NUL\132\NUL\215\NUL\134\NULh\SOH\CAN\NUL\EM\NUL\167\SOH:\NULh\NUL\195\SOHj\NUL\156\NUL\169\SOH\207\SOHb\NULc\NUL\208\SOH\ACK\NUL\188\SOH\a\NUL\197\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH\132\NUL\152\SOH\134\NUL\199\SOH\CAN\NUL\EM\NUL\132\NUL\215\NULh\NUL\NAK\SOHj\NUL\246\SOH\156\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH0\ETX\212\SOHu\STX1\ETX\247\SOHv\STX\SO\SOHU\NUL\193\NUL\SI\SOH\213\SOH\DLE\SOH\156\NUL\DC1\SOH\\\NUL]\NUL^\NUL\r\SOH \ETX!\ETX\159\NUL\EOT\ETX\"\ETX_\NUL+\ETX,\ETX\221\STX\DC2\SOH\174\NUL\222\STX.\ETX\164\NUL\174\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL\156\NUL\209\SOHb\NULc\NUL\208\SOH\231\NUL\SO\SOHU\NUL\237\NUL\SI\SOHi\SOH\DLE\SOH\250\NUL\DC1\SOH\\\NUL]\NUL^\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH_\NUL\ACK\NUL\EOT\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\n\SOH\DC4\SOH\132\NUL\215\NUL+\SOHk\SOH\CAN\NUL\EM\NUL\135\NUL\ENQ\NULh\NUL\NAK\SOHj\NUL-\STXj\NUL\ENQ\NUL\DEL\STX\128\STXj\NUL\ACK\NUL}\ETX\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH8\STXb\NULc\NUL\208\SOH\CAN\NUL\EM\NUL\174\NUL~\ETXh\NUL\NAK\SOHj\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL*\NUL\209\SOHb\NULc\NULd\NUL\181\STX\210\SOHg\NUL\DEL\ETX\SO\SOHU\NULu\ETX\SI\SOHv\ETX\DLE\SOHw\ETX\DC1\SOH\\\NUL]\NUL^\NUL8\ETX\166\NUL\167\NUL\190\SOHi\ETXO\NUL_\NULP\NUL\191\SOH\192\SOH\DC2\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NULZ\ETX \SOH!\SOH\"\SOH#\SOH*\NUL_\NULe\SOH\DC3\SOH\170\NUL\194\SOH\240\NULK\NUL-\STXj\NUL\249\STXb\NULc\NUL\208\SOHf\SOH=\ETX>\ETX\ACK\NUL\134\NUL\a\NULl\ETX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\ACK\NUL\DC4\SOH\a\NULX\ETX\NUL\SOH\t\NUL\CAN\NUL\EM\NUL\254\STX\255\STXh\NUL\NAK\SOHj\NUL\151\NUL\134\NUL\152\NUL\NUL\ETX\SOH\ETX\238\SOH\250\SOH\EM\ETX\152\NUL\153\NUL]\NUL^\NUL\CAN\NUL\EM\NUL]\ETX\153\NUL]\NUL^\NUL_\NUL^\ETXh\NUL\195\SOHj\NUL\190\SOH_\NULO\NUL`\ETXP\NUL\191\SOH\192\SOHc\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ETB\STX\250\SOH\143\STX\162\SOH\240\NULK\NUL_\NUL&\STX\166\NUL\167\NUL\194\SOHI\ETX\140\NULj\NUL\229\SOHb\NULc\NUL\208\SOH\190\SOHd\ETXO\NULe\ETXP\NUL\191\SOH\192\SOH=\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ACK\NUL@\ETX\a\NUL?\ETX\STX\SOH\t\NUL_\NUL\156\NULC\ETX\159\SOH\194\SOH\160\SOHI\ETX\156\NUL\134\NUL\172\NUL\240\NULK\NUL\161\SOH]\NUL^\NUL!\STX\173\NUL]\NUL^\NUL\CAN\NUL\EM\NUL_\NUL\RS\SOH\US\SOH\162\SOH_\NUL\156\NULO\ETX\174\NUL\134\NULh\NUL\195\SOHj\NUL\190\SOHQ\ETXO\NULS\ETXP\NUL\191\SOH\192\SOH\134\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL0\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX_\NUL\146\NULc\NUL\147\NUL\194\SOH\148\NULg\NUL$\SOH%\SOHh\NUL\195\SOHj\NUL\190\SOH\227\STXO\NUL\134\NULP\NUL\191\SOH\192\SOH\240\STXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NUL\174\NUL\251\STX\252\STXj\NUL\241\STX_\NULJ\ETX\140\NULj\NUL\194\SOH\160\SOH\209\SOHb\NULc\NUL\208\SOHL\ETX\244\STX\161\SOH]\NUL^\NUL6\STX\245\STX\149\SOHj\NUL\240\NULK\NUL_\NUL&\SOH'\SOH\162\SOH\249\STXb\NULc\NUL\208\SOH\246\STXh\NUL\195\SOHj\NUL\190\SOH\247\STXO\NUL\n\ETXP\NUL\191\SOH\192\SOH\238\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\189\SOH\ACK\STX\CAN\ETX\170\NUL\228\NUL\229\NUL_\NUL\r\ETX\211\SOHj\NUL\194\SOH\230\NUL\231\NUL\a\STX\SO\ETXh\NUL\195\SOHj\NUL\190\SOH\SI\ETXO\NUL\DLE\ETXP\NUL\191\SOH\192\SOH\ETB\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NULo\ETX2\NUL3\NUL\240\NULK\NUL_\NUL\161\NUL\CAN\SOH\EM\SOH\194\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\161\NUL\151\NUL=\NUL\152\NUL\162\NULK\ETX\140\NULj\NUL+\ETX\163\NUL\153\NUL]\NUL^\NUL\162\NULE\ETX2\NUL3\NUL\US\ETX\163\NUL_\NULh\NUL\195\SOHj\NUL\164\NUL4\NUL5\NUL6\NUL7\NUL8\NUL\RS\SOH\US\SOH\134\NUL\164\NUL#\ETX\200\SOHc\NUL\201\SOH&\ETX\132\NUL\215\NUL\134\NUL\DLE\ETX2\NUL3\NUL$\SOH%\SOHw\STX\166\NUL\167\NULx\STXy\STX4\NUL5\NUL6\NUL7\NUL8\NUL\232\SOH'\ETXh\NUL\195\SOHj\NUL\241\STX\140\NULj\NUL&\SOH'\SOH\143\NULb\NULc\NUL\208\SOH\ACK\NUL|\STX\a\NUL}\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL\242\STX\140\NULj\NULc\STX\CAN\NUL\EM\NUL>\254:\NUL\ACK\NUL\188\SOH\a\NUL\140\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\146\STX9\NULh\NUL\145\NULj\NUL\134\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\STX9\NUL\149\STX2\NUL3\NUL\161\NUL\CAN\NUL\EM\NUL\157\STX:\NUL\165\STX\167\STX4\NUL5\NUL6\NUL7\NUL8\NUL\238\SOH\162\NUL\202\NUL\179\STX\162\SOH\180\STX\163\NUL\188\STX\189\STX\158\STX\206\NUL\207\NUL\150\STX2\NUL3\NUL\229\SOHb\NULc\NUL\208\SOH\191\STX\164\NUL\192\STX4\NUL5\NUL6\NUL7\NUL8\NUL*\STX\206\NUL\207\NUL\ENQ\ETX\166\NUL\167\NUL\207\SOHb\NULc\NUL\208\SOH\134\NUL\209\STX\151\STX2\NUL3\NULf\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\134\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\203\NUL\214\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\215\STX\210\NULb\NULc\NULd\NUL\211\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL\218\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL&\STX\166\NUL\167\NUL\220\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\223\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\223\SOH9\NUL#\ETX\166\NUL\167\NUL\224\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\229\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\236\SOH9\NULA\STX2\NUL3\NUL\228\SOH\CAN\NUL\EM\NUL\238\SOH:\NUL\251\SOH\252\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\134\NUL\DC2\STX\224\NUL&\STX\166\NUL\167\NUL\162\STX\166\NUL\167\NUL*\STX\206\NUL\207\NULR\STX2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\163\STX\166\NUL\167\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH&\STX\166\NUL\167\NUL\184\STX\140\NULj\NULv\SOH2\NUL3\NUL\189\STX\140\NULj\NUL\194\STX\140\NULj\NUL\238\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\225\NUL\EM\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL=\NUL\210\NULb\NULc\NULd\NUL\226\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL \STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\238\SOH9\NUL\195\STX\140\NULj\NUL(\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL)\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULx\SOH9\NUL\196\STX\140\NULj\NUL\238\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL4\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\134\NUL9\NUL\241\NUL2\NUL3\NUL\238\SOH\CAN\NUL\EM\NUL:\STX:\NUL;\STX<\STX4\NUL5\NUL6\NUL7\NUL8\NUL@\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX=\STX\146\NULc\NUL\233\SOH>\STX*\NUL1\NUL2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\200\STX\140\NULj\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\201\STX\140\NULj\NUL\188\SOHT\STX\ACK\NULF\STX\a\NULW\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULU\STX\234\NULV\STXy\SOH\149\SOHj\NUL\CAN\NUL\EM\NUL\205\STX\140\NULj\NULX\STXY\STX\ACK\NUL\156\NUL\a\NUL\134\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULd\STX9\NUL\216\STX\166\NUL\167\NULf\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\ESC\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\SUB\SOH9\NUL\133\STXJ\STX\FS\SOH\GS\SOH\CAN\NUL\EM\NULi\STX:\NUL\ACK\STXk\SOH\170\NUL]\SOH^\SOHK\STXh\SOHO\NUL\134\NULP\NULL\STXM\STX\a\STXS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\165\NUL\166\NUL\167\NULt\SOH\216\NUL\185\NUL_\NUL\217\NULx\SOH|\SOHO\STX\230\SOH\166\NUL\167\NUL\218\NUL]\NUL^\NULs\SOH\231\SOH\166\NUL\167\NUL~\SOH\134\NUL_\NUL=\NUL\136\SOH\186\NUL=\NUL=\254\ACK\NULl\NUL\a\NUL\134\SOH\244\NUL\t\NUL\n\NULI\SOH\247\SOHb\NULc\NUL\208\SOH=\254m\NUL\229\255\134\SOH\ACK\NUL=\254\a\NUL=\NUL\244\NUL\t\NUL\ETX\SOH\165\STX\158\SOH\CAN\NUL\EM\NUL\142\SOH\206\NUL\207\NUL=\NUL=\254\170\NUL\143\NULb\NULc\NUL\208\SOH\132\NUL\215\NUL\134\NUL\197\SOH\CAN\NUL\EM\NUL?\SOH\205\SOHh\NUL\195\SOHj\NULn\NULo\NUL=\NULp\NUL\207\SOHq\NUL*\NUL\134\NULr\NUL\218\SOH\255\255s\NUL\138\NULt\NULu\NULv\NUL\221\NUL\165\NUL\166\NUL\167\NULw\NULx\NUL\139\NULy\NUL\136\STX\134\NULz\NUL{\NUL\142\NUL|\NUL}\NUL\134\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\233\NULh\NUL\144\SOHj\NUL=\NUL\255\255\132\NUL\133\NUL\134\NUL\135\NUL\ESC\NUL\SO\STX\140\NULj\NUL?\254\251\255\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\234\NUL\237\NUL#\NUL&\STX\166\NUL\167\NUL\ACK\NUL\243\NUL\a\NUL\241\NUL\244\NUL\t\NULa\STX$\NUL\244\NUL\203\NUL\248\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\252\NUL\210\NULb\NULc\NUL\208\SOH\253\NUL<\NUL=\NUL\CAN\NUL\EM\NUL%\NUL>\NULo\NUL?\NULp\NUL@\NULq\NUL=\254A\NULr\NULB\NULC\NULs\NUL\255\255t\NULu\NULv\NULD\NULE\NULF\NUL=\254w\NULx\NUL\254\NULy\NUL=\254G\NULz\NUL{\NUL&\NUL|\NUL}\NULH\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254I\NUL'\NUL(\NUL)\NUL*\NULJ\NULQ\STX\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL4\STX\140\NULj\NUL\255\NUL\NUL\SOH\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\ACK\SOHo\NUL#\NUL\255\255\ETB\SOH\ACK\NUL\161\NUL\a\NUL\SUB\SOH\244\NUL\t\NUL\n\NULJ\SOH$\NULu\NULo\SOH\140\NULj\NUL\ESC\SOH\162\NUL\128\SOH\140\NULj\NULy\NUL\163\NUL\129\SOH\140\NULj\NUL\FS\SOH|\NUL\CAN\NUL\EM\NUL~\NUL%\NUL\128\NUL\215\255\GS\SOH\215\255\164\NUL\215\255\215\255\NUL\NUL\215\255\NUL\NUL\NUL\NUL\215\255\134\NUL\215\255\215\255\215\255\139\SOH\166\NUL\167\NUL\215\255\215\255\215\255\NUL\NUL\215\255\215\255\NUL\NUL\215\255\215\255&\NUL\215\255\215\255\NUL\NUL\215\255\215\255\215\255\215\255\215\255\215\255\215\255\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\215\255\215\255,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\165\NUL\166\NUL\167\NUL\NUL\NUL\174\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\209\SOHb\NULc\NULd\NUL\NUL\NUL\210\SOHg\NUL>\STX\NUL\NULO\NUL$\NULP\NUL\191\SOH\192\SOH\NUL\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\139\NUL\140\NULj\NUL%\NUL\NUL\NULo\NUL_\NULp\NUL\NUL\NULq\NUL\194\SOH\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\165\NUL\166\NUL\167\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\211\SOHj\NULz\NUL{\NUL&\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\180\NUL\140\NULj\NUL\NUL\NULY\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NULh\NUL\195\SOHj\NUL\141\SOHG\ETX\170\NUL\141\SOH\t\ETX\170\NUL$\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\141\SOH\162\STX\170\NUL\141\SOH\168\STX\170\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL=\NUL\NUL\NUL\NUL\NUL%\NUL\146\NULc\NUL\233\SOHp\NUL\SOH\STXq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\STX\STX\141\SOH\206\SOH\170\NULw\NULx\NULh\NUL[\STXj\NUL\NUL\NULz\NUL{\NUL&\NUL\138\STX}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\149\SOHj\NUL\NUL\NUL<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL8\SOH<\254\&9\SOH\NUL\NUL:\SOH;\SOH<\254\NUL\NUL<\SOH=\SOH$\NUL\NUL\NUL\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL<\254\210\NULb\NULc\NUL\208\SOH\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL%\NUL\141\SOH\235\SOH\170\NULp\NULe\SOHq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NULf\SOH(\SOH)\SOH*\SOHw\NULx\NUL\169\NUL\206\SOH\170\NUL\NUL\NULz\NUL{\NUL&\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL(\SOH)\SOH*\SOH<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL<\254\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254+\STX\206\NUL\207\NUL$\NUL\NUL\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\ACK\NUL<\254\a\NUL\NUL\NUL\244\NUL\t\NULF\SOH<\NUL=\NUL\134\NUL\NUL\NUL%\NUL>\NUL\NUL\NUL?\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NULA\NUL\NUL\NULB\NULC\NUL\142\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NULD\NULE\NULF\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NULd\NULG\NUL\144\NULg\NUL&\NUL\NUL\NUL\NUL\NULH\NUL\NUL\NUL\NUL\NUL\SOH\STX\NUL\NUL\170\NUL\ACK\ETXj\NULI\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\STX\STX,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\187\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\145\NULj\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\161\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\162\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\163\NUL\132\NUL\159\NUL\134\NUL&\NUL<\254\NUL\NUL\ACK\NULf\SOH\a\NUL\NUL\NUL\244\NUL\t\NULG\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\SYN\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL$\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL%\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL\161\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\180\NUL\134\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\STX\162\NUL\170\NUL\NUL\NUL%\STX\NUL\NUL\163\NUL\161\STX\NUL\NUL\NUL\NUL&\NUL=\254\STX\STX\146\NULc\NUL\147\NUL&\STX\148\NULg\NUL\247\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\175\SOH\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\161\NUL\ACK\NUL\NUL\NUL\a\NUL\161\NUL\ACK\SOH\t\NUL\161\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NUL\149\NULj\NUL\NUL\NUL\162\NUL\163\NUL\NUL\NUL\162\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\163\NUL\CAN\NUL\EM\NUL%\NUL\ACK\NUL\NUL\NUL\a\NUL\164\NUL\b\SOH\t\NUL=\254\164\NUL\NUL\NUL\132\NUL\164\NUL\134\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\132\NUL\215\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\CAN\NUL\EM\NUL\NUL\NUL&\NUL\176\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL/\STX\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NULu\STX\NUL\NUL\214\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULK\SOH\ESC\NUL$\NULu\STX\NUL\NUL\NUL\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NULw\STXf\ETX\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULM\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX4\ETX\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULQ\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\DC1\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\147\NUL$\NUL\148\NULg\NUL\ACK\NUL\ESC\NUL\a\NULu\STX\v\SOH\t\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\CAN\NUL\EM\NUL$\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NULH\SOH\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\149\SOHj\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\CAN\NUL\EM\NUL<\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULf\SOH\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULR\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\161\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\ETX\SOH\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\134\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\ACK\NUL$\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULN\SOH\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\158\STX\206\NUL\207\NUL\159\STX\209\NUL\NUL\NUL\229\SOHb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\203\SOH\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\230\STX\NUL\NUL\NUL\NUL\204\SOH\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULL\SOH\ESC\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\156\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULO\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULP\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL$\NUL\ESC\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NULc\STX\NUL\NUL\ACK\NUL%\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL*\SOH\NUL\NUL$\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL%\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL%\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\f\SOH\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL&\NUL\CAN\NUL\EM\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX\NUL\NUL\146\NULc\NUL\233\SOH'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\149\SOHj\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\209\STX\NUL\NUL\NUL\NUL&\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL$\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\b\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\a\ETX\NUL\NUL\146\NULc\NUL\233\SOH\n\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NULf\SOH,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULm\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL$\NULn\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL=\254\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\134\NUL\NUL\NUL%\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\ACK\STX\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\135\NUL&\NUL\NUL\NUL\a\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL-\SOH.\SOH/\SOH0\SOH1\SOH2\SOH3\SOH4\SOH5\SOH6\SOH7\SOH\NUL\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\ACK\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\a\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\203\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\204\SOHq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NULm\NULr\NUL\NUL\NUL\203\SOHs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\204\SOHy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\SOH\STX\251\STX\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NUL\161\NUL\NUL\NUL\STX\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\162\NULq\NUL\NUL\NUL\NUL\NULr\NUL\163\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\132\NUL}\NUL\134\NUL\NUL\NUL\158\NUL=\254\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\176\SOH\177\SOH=\254S\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\132\NUL\NUL\NUL\134\NUL\181\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\199\STXj\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\149\SOHj\NUL\181\SOH\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NULh\NUL\204\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\SOHj\NUL\NUL\NULh\NUL_\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\185\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\216\NUL\185\NUL\NUL\NUL\217\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\218\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\171\NUL\186\NUL\172\NUL\NUL\NULh\NUL\186\SOHj\NUL\206\STX\NUL\NUL\173\NUL]\NUL^\NUL\a\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\b\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\252\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\253\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\NUL\NUL\171\NUL\NUL\NUL\172\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\221\NUL\173\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL#\STX\207\NUL\NUL\NUL\NUL\NUL\254\SOH\255\SOH\200\SOHc\NUL\201\SOH\242\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\151\NUL\NUL\NUL\152\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\159\SOH\NUL\NUL\160\SOH\NUL\NUL\NUL\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\161\SOH]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL_\NUL\156\NUL\NUL\NUL\162\SOH\243\SOHj\NUL_\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\NUL\NUL\212\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\241\SOHb\NULc\NUL\208\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\DC2\SOH\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\STX\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\129\STX\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\183\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NULU\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\239\SOH\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\240\SOH\NUL\NUL\FS\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\GS\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NULT\SOH\NUL\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH1\STX\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL2\STX\NUL\NUL\215\SOH\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\216\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\169\STXU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\247\STX\171\STX\172\STX\169\STXU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\170\STX\171\STX\172\STX\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\SO\SOHU\NUL\DC2\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\132\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\174\STXj\NUL\NUL\NUL\SO\SOHU\NULm\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NULh\NUL\174\STXj\NUL\NUL\NUL\172\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\173\NUL]\NUL^\NUL\174\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NULn\SOH\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\152\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\248\STX_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\DEL\STX\236\STXj\NUL\249\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NULb\SOHc\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL\DC2\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\141\SOH\DC3\STX\DC4\STXj\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL\NUL\NUL\143\NULb\NULc\NULd\NUL\NUL\NUL\144\NULg\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\170\SOH\NUL\NUL\NUL\NUL\174\NUL\185\STX\NUL\NUL\CAN\NUL\EM\NUL+\STX\206\NUL\207\NUL\NUL\NUL\156\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOHh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\SOH\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\173\SOHj\NUL\197\STX\DEL\STX\237\STXj\NUL\142\SOH\206\NUL\207\NUL\202\STX\159\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\192\STX\NUL\NULh\NUL\198\STXj\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULh\NUL\203\STXj\NUL\176\STX\NUL\NUL\ENQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\176\STX\NUL\NUL\177\STX\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\192\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NULo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\133\NUL\134\NUL\178\STX\195\NUL\NUL\NUL\NUL\NULu\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\161\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NULu\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\162\NUL\NUL\NUL\NUL\NUL\164\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NUL\134\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL=\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\208\STX\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\188\SOH\133\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254;\254;\254;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254o\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\167\SOH\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\133\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NUL\NUL\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL\NUL\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\NUL\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\180\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254;\254p\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL;\254;\254s\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\158\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\159\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NUL\NUL\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\STX\134\NUL'\ETXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULl\STXs\STXm\STXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL1\ETXs\STX\NUL\NUL2\ETXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NULs\STX\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\227\STX\CAN\NUL\EM\NUL\NUL\NULg\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL.\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\215\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\156\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULC\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULD\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\147\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\148\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\235\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULw\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULx\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULa\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL:\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\146\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULA\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NULB\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULC\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULW\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULZ\SOH\NUL\NUL\NUL\NUL[\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULz\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL|\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL~\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\DEL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\ETB\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULV\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULX\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL[\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULf\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\232\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\238\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL)\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULi\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULk\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULl\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\246\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULj\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULd\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NULV\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NULS\SOH\STX\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\t\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULY\ETX\v\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\SOH\ETX\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\203\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH7\STX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL")))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduceArr")) (UnGuardedRhs (App (App (Var (UnQual (Ident "array"))) (Tuple Boxed [Lit (Int 4),Lit (Int 463)])) (List [Tuple Boxed [Lit (Int 4),Var (UnQual (Ident "happyReduce_4"))],Tuple Boxed [Lit (Int 5),Var (UnQual (Ident "happyReduce_5"))],Tuple Boxed [Lit (Int 6),Var (UnQual (Ident "happyReduce_6"))],Tuple Boxed [Lit (Int 7),Var (UnQual (Ident "happyReduce_7"))],Tuple Boxed [Lit (Int 8),Var (UnQual (Ident "happyReduce_8"))],Tuple Boxed [Lit (Int 9),Var (UnQual (Ident "happyReduce_9"))],Tuple Boxed [Lit (Int 10),Var (UnQual (Ident "happyReduce_10"))],Tuple Boxed [Lit (Int 11),Var (UnQual (Ident "happyReduce_11"))],Tuple Boxed [Lit (Int 12),Var (UnQual (Ident "happyReduce_12"))],Tuple Boxed [Lit (Int 13),Var (UnQual (Ident "happyReduce_13"))],Tuple Boxed [Lit (Int 14),Var (UnQual (Ident "happyReduce_14"))],Tuple Boxed [Lit (Int 15),Var (UnQual (Ident "happyReduce_15"))],Tuple Boxed [Lit (Int 16),Var (UnQual (Ident "happyReduce_16"))],Tuple Boxed [Lit (Int 17),Var (UnQual (Ident "happyReduce_17"))],Tuple Boxed [Lit (Int 18),Var (UnQual (Ident "happyReduce_18"))],Tuple Boxed [Lit (Int 19),Var (UnQual (Ident "happyReduce_19"))],Tuple Boxed [Lit (Int 20),Var (UnQual (Ident "happyReduce_20"))],Tuple Boxed [Lit (Int 21),Var (UnQual (Ident "happyReduce_21"))],Tuple Boxed [Lit (Int 22),Var (UnQual (Ident "happyReduce_22"))],Tuple Boxed [Lit (Int 23),Var (UnQual (Ident "happyReduce_23"))],Tuple Boxed [Lit (Int 24),Var (UnQual (Ident "happyReduce_24"))],Tuple Boxed [Lit (Int 25),Var (UnQual (Ident "happyReduce_25"))],Tuple Boxed [Lit (Int 26),Var (UnQual (Ident "happyReduce_26"))],Tuple Boxed [Lit (Int 27),Var (UnQual (Ident "happyReduce_27"))],Tuple Boxed [Lit (Int 28),Var (UnQual (Ident "happyReduce_28"))],Tuple Boxed [Lit (Int 29),Var (UnQual (Ident "happyReduce_29"))],Tuple Boxed [Lit (Int 30),Var (UnQual (Ident "happyReduce_30"))],Tuple Boxed [Lit (Int 31),Var (UnQual (Ident "happyReduce_31"))],Tuple Boxed [Lit (Int 32),Var (UnQual (Ident "happyReduce_32"))],Tuple Boxed [Lit (Int 33),Var (UnQual (Ident "happyReduce_33"))],Tuple Boxed [Lit (Int 34),Var (UnQual (Ident "happyReduce_34"))],Tuple Boxed [Lit (Int 35),Var (UnQual (Ident "happyReduce_35"))],Tuple Boxed [Lit (Int 36),Var (UnQual (Ident "happyReduce_36"))],Tuple Boxed [Lit (Int 37),Var (UnQual (Ident "happyReduce_37"))],Tuple Boxed [Lit (Int 38),Var (UnQual (Ident "happyReduce_38"))],Tuple Boxed [Lit (Int 39),Var (UnQual (Ident "happyReduce_39"))],Tuple Boxed [Lit (Int 40),Var (UnQual (Ident "happyReduce_40"))],Tuple Boxed [Lit (Int 41),Var (UnQual (Ident "happyReduce_41"))],Tuple Boxed [Lit (Int 42),Var (UnQual (Ident "happyReduce_42"))],Tuple Boxed [Lit (Int 43),Var (UnQual (Ident "happyReduce_43"))],Tuple Boxed [Lit (Int 44),Var (UnQual (Ident "happyReduce_44"))],Tuple Boxed [Lit (Int 45),Var (UnQual (Ident "happyReduce_45"))],Tuple Boxed [Lit (Int 46),Var (UnQual (Ident "happyReduce_46"))],Tuple Boxed [Lit (Int 47),Var (UnQual (Ident "happyReduce_47"))],Tuple Boxed [Lit (Int 48),Var (UnQual (Ident "happyReduce_48"))],Tuple Boxed [Lit (Int 49),Var (UnQual (Ident "happyReduce_49"))],Tuple Boxed [Lit (Int 50),Var (UnQual (Ident "happyReduce_50"))],Tuple Boxed [Lit (Int 51),Var (UnQual (Ident "happyReduce_51"))],Tuple Boxed [Lit (Int 52),Var (UnQual (Ident "happyReduce_52"))],Tuple Boxed [Lit (Int 53),Var (UnQual (Ident "happyReduce_53"))],Tuple Boxed [Lit (Int 54),Var (UnQual (Ident "happyReduce_54"))],Tuple Boxed [Lit (Int 55),Var (UnQual (Ident "happyReduce_55"))],Tuple Boxed [Lit (Int 56),Var (UnQual (Ident "happyReduce_56"))],Tuple Boxed [Lit (Int 57),Var (UnQual (Ident "happyReduce_57"))],Tuple Boxed [Lit (Int 58),Var (UnQual (Ident "happyReduce_58"))],Tuple Boxed [Lit (Int 59),Var (UnQual (Ident "happyReduce_59"))],Tuple Boxed [Lit (Int 60),Var (UnQual (Ident "happyReduce_60"))],Tuple Boxed [Lit (Int 61),Var (UnQual (Ident "happyReduce_61"))],Tuple Boxed [Lit (Int 62),Var (UnQual (Ident "happyReduce_62"))],Tuple Boxed [Lit (Int 63),Var (UnQual (Ident "happyReduce_63"))],Tuple Boxed [Lit (Int 64),Var (UnQual (Ident "happyReduce_64"))],Tuple Boxed [Lit (Int 65),Var (UnQual (Ident "happyReduce_65"))],Tuple Boxed [Lit (Int 66),Var (UnQual (Ident "happyReduce_66"))],Tuple Boxed [Lit (Int 67),Var (UnQual (Ident "happyReduce_67"))],Tuple Boxed [Lit (Int 68),Var (UnQual (Ident "happyReduce_68"))],Tuple Boxed [Lit (Int 69),Var (UnQual (Ident "happyReduce_69"))],Tuple Boxed [Lit (Int 70),Var (UnQual (Ident "happyReduce_70"))],Tuple Boxed [Lit (Int 71),Var (UnQual (Ident "happyReduce_71"))],Tuple Boxed [Lit (Int 72),Var (UnQual (Ident "happyReduce_72"))],Tuple Boxed [Lit (Int 73),Var (UnQual (Ident "happyReduce_73"))],Tuple Boxed [Lit (Int 74),Var (UnQual (Ident "happyReduce_74"))],Tuple Boxed [Lit (Int 75),Var (UnQual (Ident "happyReduce_75"))],Tuple Boxed [Lit (Int 76),Var (UnQual (Ident "happyReduce_76"))],Tuple Boxed [Lit (Int 77),Var (UnQual (Ident "happyReduce_77"))],Tuple Boxed [Lit (Int 78),Var (UnQual (Ident "happyReduce_78"))],Tuple Boxed [Lit (Int 79),Var (UnQual (Ident "happyReduce_79"))],Tuple Boxed [Lit (Int 80),Var (UnQual (Ident "happyReduce_80"))],Tuple Boxed [Lit (Int 81),Var (UnQual (Ident "happyReduce_81"))],Tuple Boxed [Lit (Int 82),Var (UnQual (Ident "happyReduce_82"))],Tuple Boxed [Lit (Int 83),Var (UnQual (Ident "happyReduce_83"))],Tuple Boxed [Lit (Int 84),Var (UnQual (Ident "happyReduce_84"))],Tuple Boxed [Lit (Int 85),Var (UnQual (Ident "happyReduce_85"))],Tuple Boxed [Lit (Int 86),Var (UnQual (Ident "happyReduce_86"))],Tuple Boxed [Lit (Int 87),Var (UnQual (Ident "happyReduce_87"))],Tuple Boxed [Lit (Int 88),Var (UnQual (Ident "happyReduce_88"))],Tuple Boxed [Lit (Int 89),Var (UnQual (Ident "happyReduce_89"))],Tuple Boxed [Lit (Int 90),Var (UnQual (Ident "happyReduce_90"))],Tuple Boxed [Lit (Int 91),Var (UnQual (Ident "happyReduce_91"))],Tuple Boxed [Lit (Int 92),Var (UnQual (Ident "happyReduce_92"))],Tuple Boxed [Lit (Int 93),Var (UnQual (Ident "happyReduce_93"))],Tuple Boxed [Lit (Int 94),Var (UnQual (Ident "happyReduce_94"))],Tuple Boxed [Lit (Int 95),Var (UnQual (Ident "happyReduce_95"))],Tuple Boxed [Lit (Int 96),Var (UnQual (Ident "happyReduce_96"))],Tuple Boxed [Lit (Int 97),Var (UnQual (Ident "happyReduce_97"))],Tuple Boxed [Lit (Int 98),Var (UnQual (Ident "happyReduce_98"))],Tuple Boxed [Lit (Int 99),Var (UnQual (Ident "happyReduce_99"))],Tuple Boxed [Lit (Int 100),Var (UnQual (Ident "happyReduce_100"))],Tuple Boxed [Lit (Int 101),Var (UnQual (Ident "happyReduce_101"))],Tuple Boxed [Lit (Int 102),Var (UnQual (Ident "happyReduce_102"))],Tuple Boxed [Lit (Int 103),Var (UnQual (Ident "happyReduce_103"))],Tuple Boxed [Lit (Int 104),Var (UnQual (Ident "happyReduce_104"))],Tuple Boxed [Lit (Int 105),Var (UnQual (Ident "happyReduce_105"))],Tuple Boxed [Lit (Int 106),Var (UnQual (Ident "happyReduce_106"))],Tuple Boxed [Lit (Int 107),Var (UnQual (Ident "happyReduce_107"))],Tuple Boxed [Lit (Int 108),Var (UnQual (Ident "happyReduce_108"))],Tuple Boxed [Lit (Int 109),Var (UnQual (Ident "happyReduce_109"))],Tuple Boxed [Lit (Int 110),Var (UnQual (Ident "happyReduce_110"))],Tuple Boxed [Lit (Int 111),Var (UnQual (Ident "happyReduce_111"))],Tuple Boxed [Lit (Int 112),Var (UnQual (Ident "happyReduce_112"))],Tuple Boxed [Lit (Int 113),Var (UnQual (Ident "happyReduce_113"))],Tuple Boxed [Lit (Int 114),Var (UnQual (Ident "happyReduce_114"))],Tuple Boxed [Lit (Int 115),Var (UnQual (Ident "happyReduce_115"))],Tuple Boxed [Lit (Int 116),Var (UnQual (Ident "happyReduce_116"))],Tuple Boxed [Lit (Int 117),Var (UnQual (Ident "happyReduce_117"))],Tuple Boxed [Lit (Int 118),Var (UnQual (Ident "happyReduce_118"))],Tuple Boxed [Lit (Int 119),Var (UnQual (Ident "happyReduce_119"))],Tuple Boxed [Lit (Int 120),Var (UnQual (Ident "happyReduce_120"))],Tuple Boxed [Lit (Int 121),Var (UnQual (Ident "happyReduce_121"))],Tuple Boxed [Lit (Int 122),Var (UnQual (Ident "happyReduce_122"))],Tuple Boxed [Lit (Int 123),Var (UnQual (Ident "happyReduce_123"))],Tuple Boxed [Lit (Int 124),Var (UnQual (Ident "happyReduce_124"))],Tuple Boxed [Lit (Int 125),Var (UnQual (Ident "happyReduce_125"))],Tuple Boxed [Lit (Int 126),Var (UnQual (Ident "happyReduce_126"))],Tuple Boxed [Lit (Int 127),Var (UnQual (Ident "happyReduce_127"))],Tuple Boxed [Lit (Int 128),Var (UnQual (Ident "happyReduce_128"))],Tuple Boxed [Lit (Int 129),Var (UnQual (Ident "happyReduce_129"))],Tuple Boxed [Lit (Int 130),Var (UnQual (Ident "happyReduce_130"))],Tuple Boxed [Lit (Int 131),Var (UnQual (Ident "happyReduce_131"))],Tuple Boxed [Lit (Int 132),Var (UnQual (Ident "happyReduce_132"))],Tuple Boxed [Lit (Int 133),Var (UnQual (Ident "happyReduce_133"))],Tuple Boxed [Lit (Int 134),Var (UnQual (Ident "happyReduce_134"))],Tuple Boxed [Lit (Int 135),Var (UnQual (Ident "happyReduce_135"))],Tuple Boxed [Lit (Int 136),Var (UnQual (Ident "happyReduce_136"))],Tuple Boxed [Lit (Int 137),Var (UnQual (Ident "happyReduce_137"))],Tuple Boxed [Lit (Int 138),Var (UnQual (Ident "happyReduce_138"))],Tuple Boxed [Lit (Int 139),Var (UnQual (Ident "happyReduce_139"))],Tuple Boxed [Lit (Int 140),Var (UnQual (Ident "happyReduce_140"))],Tuple Boxed [Lit (Int 141),Var (UnQual (Ident "happyReduce_141"))],Tuple Boxed [Lit (Int 142),Var (UnQual (Ident "happyReduce_142"))],Tuple Boxed [Lit (Int 143),Var (UnQual (Ident "happyReduce_143"))],Tuple Boxed [Lit (Int 144),Var (UnQual (Ident "happyReduce_144"))],Tuple Boxed [Lit (Int 145),Var (UnQual (Ident "happyReduce_145"))],Tuple Boxed [Lit (Int 146),Var (UnQual (Ident "happyReduce_146"))],Tuple Boxed [Lit (Int 147),Var (UnQual (Ident "happyReduce_147"))],Tuple Boxed [Lit (Int 148),Var (UnQual (Ident "happyReduce_148"))],Tuple Boxed [Lit (Int 149),Var (UnQual (Ident "happyReduce_149"))],Tuple Boxed [Lit (Int 150),Var (UnQual (Ident "happyReduce_150"))],Tuple Boxed [Lit (Int 151),Var (UnQual (Ident "happyReduce_151"))],Tuple Boxed [Lit (Int 152),Var (UnQual (Ident "happyReduce_152"))],Tuple Boxed [Lit (Int 153),Var (UnQual (Ident "happyReduce_153"))],Tuple Boxed [Lit (Int 154),Var (UnQual (Ident "happyReduce_154"))],Tuple Boxed [Lit (Int 155),Var (UnQual (Ident "happyReduce_155"))],Tuple Boxed [Lit (Int 156),Var (UnQual (Ident "happyReduce_156"))],Tuple Boxed [Lit (Int 157),Var (UnQual (Ident "happyReduce_157"))],Tuple Boxed [Lit (Int 158),Var (UnQual (Ident "happyReduce_158"))],Tuple Boxed [Lit (Int 159),Var (UnQual (Ident "happyReduce_159"))],Tuple Boxed [Lit (Int 160),Var (UnQual (Ident "happyReduce_160"))],Tuple Boxed [Lit (Int 161),Var (UnQual (Ident "happyReduce_161"))],Tuple Boxed [Lit (Int 162),Var (UnQual (Ident "happyReduce_162"))],Tuple Boxed [Lit (Int 163),Var (UnQual (Ident "happyReduce_163"))],Tuple Boxed [Lit (Int 164),Var (UnQual (Ident "happyReduce_164"))],Tuple Boxed [Lit (Int 165),Var (UnQual (Ident "happyReduce_165"))],Tuple Boxed [Lit (Int 166),Var (UnQual (Ident "happyReduce_166"))],Tuple Boxed [Lit (Int 167),Var (UnQual (Ident "happyReduce_167"))],Tuple Boxed [Lit (Int 168),Var (UnQual (Ident "happyReduce_168"))],Tuple Boxed [Lit (Int 169),Var (UnQual (Ident "happyReduce_169"))],Tuple Boxed [Lit (Int 170),Var (UnQual (Ident "happyReduce_170"))],Tuple Boxed [Lit (Int 171),Var (UnQual (Ident "happyReduce_171"))],Tuple Boxed [Lit (Int 172),Var (UnQual (Ident "happyReduce_172"))],Tuple Boxed [Lit (Int 173),Var (UnQual (Ident "happyReduce_173"))],Tuple Boxed [Lit (Int 174),Var (UnQual (Ident "happyReduce_174"))],Tuple Boxed [Lit (Int 175),Var (UnQual (Ident "happyReduce_175"))],Tuple Boxed [Lit (Int 176),Var (UnQual (Ident "happyReduce_176"))],Tuple Boxed [Lit (Int 177),Var (UnQual (Ident "happyReduce_177"))],Tuple Boxed [Lit (Int 178),Var (UnQual (Ident "happyReduce_178"))],Tuple Boxed [Lit (Int 179),Var (UnQual (Ident "happyReduce_179"))],Tuple Boxed [Lit (Int 180),Var (UnQual (Ident "happyReduce_180"))],Tuple Boxed [Lit (Int 181),Var (UnQual (Ident "happyReduce_181"))],Tuple Boxed [Lit (Int 182),Var (UnQual (Ident "happyReduce_182"))],Tuple Boxed [Lit (Int 183),Var (UnQual (Ident "happyReduce_183"))],Tuple Boxed [Lit (Int 184),Var (UnQual (Ident "happyReduce_184"))],Tuple Boxed [Lit (Int 185),Var (UnQual (Ident "happyReduce_185"))],Tuple Boxed [Lit (Int 186),Var (UnQual (Ident "happyReduce_186"))],Tuple Boxed [Lit (Int 187),Var (UnQual (Ident "happyReduce_187"))],Tuple Boxed [Lit (Int 188),Var (UnQual (Ident "happyReduce_188"))],Tuple Boxed [Lit (Int 189),Var (UnQual (Ident "happyReduce_189"))],Tuple Boxed [Lit (Int 190),Var (UnQual (Ident "happyReduce_190"))],Tuple Boxed [Lit (Int 191),Var (UnQual (Ident "happyReduce_191"))],Tuple Boxed [Lit (Int 192),Var (UnQual (Ident "happyReduce_192"))],Tuple Boxed [Lit (Int 193),Var (UnQual (Ident "happyReduce_193"))],Tuple Boxed [Lit (Int 194),Var (UnQual (Ident "happyReduce_194"))],Tuple Boxed [Lit (Int 195),Var (UnQual (Ident "happyReduce_195"))],Tuple Boxed [Lit (Int 196),Var (UnQual (Ident "happyReduce_196"))],Tuple Boxed [Lit (Int 197),Var (UnQual (Ident "happyReduce_197"))],Tuple Boxed [Lit (Int 198),Var (UnQual (Ident "happyReduce_198"))],Tuple Boxed [Lit (Int 199),Var (UnQual (Ident "happyReduce_199"))],Tuple Boxed [Lit (Int 200),Var (UnQual (Ident "happyReduce_200"))],Tuple Boxed [Lit (Int 201),Var (UnQual (Ident "happyReduce_201"))],Tuple Boxed [Lit (Int 202),Var (UnQual (Ident "happyReduce_202"))],Tuple Boxed [Lit (Int 203),Var (UnQual (Ident "happyReduce_203"))],Tuple Boxed [Lit (Int 204),Var (UnQual (Ident "happyReduce_204"))],Tuple Boxed [Lit (Int 205),Var (UnQual (Ident "happyReduce_205"))],Tuple Boxed [Lit (Int 206),Var (UnQual (Ident "happyReduce_206"))],Tuple Boxed [Lit (Int 207),Var (UnQual (Ident "happyReduce_207"))],Tuple Boxed [Lit (Int 208),Var (UnQual (Ident "happyReduce_208"))],Tuple Boxed [Lit (Int 209),Var (UnQual (Ident "happyReduce_209"))],Tuple Boxed [Lit (Int 210),Var (UnQual (Ident "happyReduce_210"))],Tuple Boxed [Lit (Int 211),Var (UnQual (Ident "happyReduce_211"))],Tuple Boxed [Lit (Int 212),Var (UnQual (Ident "happyReduce_212"))],Tuple Boxed [Lit (Int 213),Var (UnQual (Ident "happyReduce_213"))],Tuple Boxed [Lit (Int 214),Var (UnQual (Ident "happyReduce_214"))],Tuple Boxed [Lit (Int 215),Var (UnQual (Ident "happyReduce_215"))],Tuple Boxed [Lit (Int 216),Var (UnQual (Ident "happyReduce_216"))],Tuple Boxed [Lit (Int 217),Var (UnQual (Ident "happyReduce_217"))],Tuple Boxed [Lit (Int 218),Var (UnQual (Ident "happyReduce_218"))],Tuple Boxed [Lit (Int 219),Var (UnQual (Ident "happyReduce_219"))],Tuple Boxed [Lit (Int 220),Var (UnQual (Ident "happyReduce_220"))],Tuple Boxed [Lit (Int 221),Var (UnQual (Ident "happyReduce_221"))],Tuple Boxed [Lit (Int 222),Var (UnQual (Ident "happyReduce_222"))],Tuple Boxed [Lit (Int 223),Var (UnQual (Ident "happyReduce_223"))],Tuple Boxed [Lit (Int 224),Var (UnQual (Ident "happyReduce_224"))],Tuple Boxed [Lit (Int 225),Var (UnQual (Ident "happyReduce_225"))],Tuple Boxed [Lit (Int 226),Var (UnQual (Ident "happyReduce_226"))],Tuple Boxed [Lit (Int 227),Var (UnQual (Ident "happyReduce_227"))],Tuple Boxed [Lit (Int 228),Var (UnQual (Ident "happyReduce_228"))],Tuple Boxed [Lit (Int 229),Var (UnQual (Ident "happyReduce_229"))],Tuple Boxed [Lit (Int 230),Var (UnQual (Ident "happyReduce_230"))],Tuple Boxed [Lit (Int 231),Var (UnQual (Ident "happyReduce_231"))],Tuple Boxed [Lit (Int 232),Var (UnQual (Ident "happyReduce_232"))],Tuple Boxed [Lit (Int 233),Var (UnQual (Ident "happyReduce_233"))],Tuple Boxed [Lit (Int 234),Var (UnQual (Ident "happyReduce_234"))],Tuple Boxed [Lit (Int 235),Var (UnQual (Ident "happyReduce_235"))],Tuple Boxed [Lit (Int 236),Var (UnQual (Ident "happyReduce_236"))],Tuple Boxed [Lit (Int 237),Var (UnQual (Ident "happyReduce_237"))],Tuple Boxed [Lit (Int 238),Var (UnQual (Ident "happyReduce_238"))],Tuple Boxed [Lit (Int 239),Var (UnQual (Ident "happyReduce_239"))],Tuple Boxed [Lit (Int 240),Var (UnQual (Ident "happyReduce_240"))],Tuple Boxed [Lit (Int 241),Var (UnQual (Ident "happyReduce_241"))],Tuple Boxed [Lit (Int 242),Var (UnQual (Ident "happyReduce_242"))],Tuple Boxed [Lit (Int 243),Var (UnQual (Ident "happyReduce_243"))],Tuple Boxed [Lit (Int 244),Var (UnQual (Ident "happyReduce_244"))],Tuple Boxed [Lit (Int 245),Var (UnQual (Ident "happyReduce_245"))],Tuple Boxed [Lit (Int 246),Var (UnQual (Ident "happyReduce_246"))],Tuple Boxed [Lit (Int 247),Var (UnQual (Ident "happyReduce_247"))],Tuple Boxed [Lit (Int 248),Var (UnQual (Ident "happyReduce_248"))],Tuple Boxed [Lit (Int 249),Var (UnQual (Ident "happyReduce_249"))],Tuple Boxed [Lit (Int 250),Var (UnQual (Ident "happyReduce_250"))],Tuple Boxed [Lit (Int 251),Var (UnQual (Ident "happyReduce_251"))],Tuple Boxed [Lit (Int 252),Var (UnQual (Ident "happyReduce_252"))],Tuple Boxed [Lit (Int 253),Var (UnQual (Ident "happyReduce_253"))],Tuple Boxed [Lit (Int 254),Var (UnQual (Ident "happyReduce_254"))],Tuple Boxed [Lit (Int 255),Var (UnQual (Ident "happyReduce_255"))],Tuple Boxed [Lit (Int 256),Var (UnQual (Ident "happyReduce_256"))],Tuple Boxed [Lit (Int 257),Var (UnQual (Ident "happyReduce_257"))],Tuple Boxed [Lit (Int 258),Var (UnQual (Ident "happyReduce_258"))],Tuple Boxed [Lit (Int 259),Var (UnQual (Ident "happyReduce_259"))],Tuple Boxed [Lit (Int 260),Var (UnQual (Ident "happyReduce_260"))],Tuple Boxed [Lit (Int 261),Var (UnQual (Ident "happyReduce_261"))],Tuple Boxed [Lit (Int 262),Var (UnQual (Ident "happyReduce_262"))],Tuple Boxed [Lit (Int 263),Var (UnQual (Ident "happyReduce_263"))],Tuple Boxed [Lit (Int 264),Var (UnQual (Ident "happyReduce_264"))],Tuple Boxed [Lit (Int 265),Var (UnQual (Ident "happyReduce_265"))],Tuple Boxed [Lit (Int 266),Var (UnQual (Ident "happyReduce_266"))],Tuple Boxed [Lit (Int 267),Var (UnQual (Ident "happyReduce_267"))],Tuple Boxed [Lit (Int 268),Var (UnQual (Ident "happyReduce_268"))],Tuple Boxed [Lit (Int 269),Var (UnQual (Ident "happyReduce_269"))],Tuple Boxed [Lit (Int 270),Var (UnQual (Ident "happyReduce_270"))],Tuple Boxed [Lit (Int 271),Var (UnQual (Ident "happyReduce_271"))],Tuple Boxed [Lit (Int 272),Var (UnQual (Ident "happyReduce_272"))],Tuple Boxed [Lit (Int 273),Var (UnQual (Ident "happyReduce_273"))],Tuple Boxed [Lit (Int 274),Var (UnQual (Ident "happyReduce_274"))],Tuple Boxed [Lit (Int 275),Var (UnQual (Ident "happyReduce_275"))],Tuple Boxed [Lit (Int 276),Var (UnQual (Ident "happyReduce_276"))],Tuple Boxed [Lit (Int 277),Var (UnQual (Ident "happyReduce_277"))],Tuple Boxed [Lit (Int 278),Var (UnQual (Ident "happyReduce_278"))],Tuple Boxed [Lit (Int 279),Var (UnQual (Ident "happyReduce_279"))],Tuple Boxed [Lit (Int 280),Var (UnQual (Ident "happyReduce_280"))],Tuple Boxed [Lit (Int 281),Var (UnQual (Ident "happyReduce_281"))],Tuple Boxed [Lit (Int 282),Var (UnQual (Ident "happyReduce_282"))],Tuple Boxed [Lit (Int 283),Var (UnQual (Ident "happyReduce_283"))],Tuple Boxed [Lit (Int 284),Var (UnQual (Ident "happyReduce_284"))],Tuple Boxed [Lit (Int 285),Var (UnQual (Ident "happyReduce_285"))],Tuple Boxed [Lit (Int 286),Var (UnQual (Ident "happyReduce_286"))],Tuple Boxed [Lit (Int 287),Var (UnQual (Ident "happyReduce_287"))],Tuple Boxed [Lit (Int 288),Var (UnQual (Ident "happyReduce_288"))],Tuple Boxed [Lit (Int 289),Var (UnQual (Ident "happyReduce_289"))],Tuple Boxed [Lit (Int 290),Var (UnQual (Ident "happyReduce_290"))],Tuple Boxed [Lit (Int 291),Var (UnQual (Ident "happyReduce_291"))],Tuple Boxed [Lit (Int 292),Var (UnQual (Ident "happyReduce_292"))],Tuple Boxed [Lit (Int 293),Var (UnQual (Ident "happyReduce_293"))],Tuple Boxed [Lit (Int 294),Var (UnQual (Ident "happyReduce_294"))],Tuple Boxed [Lit (Int 295),Var (UnQual (Ident "happyReduce_295"))],Tuple Boxed [Lit (Int 296),Var (UnQual (Ident "happyReduce_296"))],Tuple Boxed [Lit (Int 297),Var (UnQual (Ident "happyReduce_297"))],Tuple Boxed [Lit (Int 298),Var (UnQual (Ident "happyReduce_298"))],Tuple Boxed [Lit (Int 299),Var (UnQual (Ident "happyReduce_299"))],Tuple Boxed [Lit (Int 300),Var (UnQual (Ident "happyReduce_300"))],Tuple Boxed [Lit (Int 301),Var (UnQual (Ident "happyReduce_301"))],Tuple Boxed [Lit (Int 302),Var (UnQual (Ident "happyReduce_302"))],Tuple Boxed [Lit (Int 303),Var (UnQual (Ident "happyReduce_303"))],Tuple Boxed [Lit (Int 304),Var (UnQual (Ident "happyReduce_304"))],Tuple Boxed [Lit (Int 305),Var (UnQual (Ident "happyReduce_305"))],Tuple Boxed [Lit (Int 306),Var (UnQual (Ident "happyReduce_306"))],Tuple Boxed [Lit (Int 307),Var (UnQual (Ident "happyReduce_307"))],Tuple Boxed [Lit (Int 308),Var (UnQual (Ident "happyReduce_308"))],Tuple Boxed [Lit (Int 309),Var (UnQual (Ident "happyReduce_309"))],Tuple Boxed [Lit (Int 310),Var (UnQual (Ident "happyReduce_310"))],Tuple Boxed [Lit (Int 311),Var (UnQual (Ident "happyReduce_311"))],Tuple Boxed [Lit (Int 312),Var (UnQual (Ident "happyReduce_312"))],Tuple Boxed [Lit (Int 313),Var (UnQual (Ident "happyReduce_313"))],Tuple Boxed [Lit (Int 314),Var (UnQual (Ident "happyReduce_314"))],Tuple Boxed [Lit (Int 315),Var (UnQual (Ident "happyReduce_315"))],Tuple Boxed [Lit (Int 316),Var (UnQual (Ident "happyReduce_316"))],Tuple Boxed [Lit (Int 317),Var (UnQual (Ident "happyReduce_317"))],Tuple Boxed [Lit (Int 318),Var (UnQual (Ident "happyReduce_318"))],Tuple Boxed [Lit (Int 319),Var (UnQual (Ident "happyReduce_319"))],Tuple Boxed [Lit (Int 320),Var (UnQual (Ident "happyReduce_320"))],Tuple Boxed [Lit (Int 321),Var (UnQual (Ident "happyReduce_321"))],Tuple Boxed [Lit (Int 322),Var (UnQual (Ident "happyReduce_322"))],Tuple Boxed [Lit (Int 323),Var (UnQual (Ident "happyReduce_323"))],Tuple Boxed [Lit (Int 324),Var (UnQual (Ident "happyReduce_324"))],Tuple Boxed [Lit (Int 325),Var (UnQual (Ident "happyReduce_325"))],Tuple Boxed [Lit (Int 326),Var (UnQual (Ident "happyReduce_326"))],Tuple Boxed [Lit (Int 327),Var (UnQual (Ident "happyReduce_327"))],Tuple Boxed [Lit (Int 328),Var (UnQual (Ident "happyReduce_328"))],Tuple Boxed [Lit (Int 329),Var (UnQual (Ident "happyReduce_329"))],Tuple Boxed [Lit (Int 330),Var (UnQual (Ident "happyReduce_330"))],Tuple Boxed [Lit (Int 331),Var (UnQual (Ident "happyReduce_331"))],Tuple Boxed [Lit (Int 332),Var (UnQual (Ident "happyReduce_332"))],Tuple Boxed [Lit (Int 333),Var (UnQual (Ident "happyReduce_333"))],Tuple Boxed [Lit (Int 334),Var (UnQual (Ident "happyReduce_334"))],Tuple Boxed [Lit (Int 335),Var (UnQual (Ident "happyReduce_335"))],Tuple Boxed [Lit (Int 336),Var (UnQual (Ident "happyReduce_336"))],Tuple Boxed [Lit (Int 337),Var (UnQual (Ident "happyReduce_337"))],Tuple Boxed [Lit (Int 338),Var (UnQual (Ident "happyReduce_338"))],Tuple Boxed [Lit (Int 339),Var (UnQual (Ident "happyReduce_339"))],Tuple Boxed [Lit (Int 340),Var (UnQual (Ident "happyReduce_340"))],Tuple Boxed [Lit (Int 341),Var (UnQual (Ident "happyReduce_341"))],Tuple Boxed [Lit (Int 342),Var (UnQual (Ident "happyReduce_342"))],Tuple Boxed [Lit (Int 343),Var (UnQual (Ident "happyReduce_343"))],Tuple Boxed [Lit (Int 344),Var (UnQual (Ident "happyReduce_344"))],Tuple Boxed [Lit (Int 345),Var (UnQual (Ident "happyReduce_345"))],Tuple Boxed [Lit (Int 346),Var (UnQual (Ident "happyReduce_346"))],Tuple Boxed [Lit (Int 347),Var (UnQual (Ident "happyReduce_347"))],Tuple Boxed [Lit (Int 348),Var (UnQual (Ident "happyReduce_348"))],Tuple Boxed [Lit (Int 349),Var (UnQual (Ident "happyReduce_349"))],Tuple Boxed [Lit (Int 350),Var (UnQual (Ident "happyReduce_350"))],Tuple Boxed [Lit (Int 351),Var (UnQual (Ident "happyReduce_351"))],Tuple Boxed [Lit (Int 352),Var (UnQual (Ident "happyReduce_352"))],Tuple Boxed [Lit (Int 353),Var (UnQual (Ident "happyReduce_353"))],Tuple Boxed [Lit (Int 354),Var (UnQual (Ident "happyReduce_354"))],Tuple Boxed [Lit (Int 355),Var (UnQual (Ident "happyReduce_355"))],Tuple Boxed [Lit (Int 356),Var (UnQual (Ident "happyReduce_356"))],Tuple Boxed [Lit (Int 357),Var (UnQual (Ident "happyReduce_357"))],Tuple Boxed [Lit (Int 358),Var (UnQual (Ident "happyReduce_358"))],Tuple Boxed [Lit (Int 359),Var (UnQual (Ident "happyReduce_359"))],Tuple Boxed [Lit (Int 360),Var (UnQual (Ident "happyReduce_360"))],Tuple Boxed [Lit (Int 361),Var (UnQual (Ident "happyReduce_361"))],Tuple Boxed [Lit (Int 362),Var (UnQual (Ident "happyReduce_362"))],Tuple Boxed [Lit (Int 363),Var (UnQual (Ident "happyReduce_363"))],Tuple Boxed [Lit (Int 364),Var (UnQual (Ident "happyReduce_364"))],Tuple Boxed [Lit (Int 365),Var (UnQual (Ident "happyReduce_365"))],Tuple Boxed [Lit (Int 366),Var (UnQual (Ident "happyReduce_366"))],Tuple Boxed [Lit (Int 367),Var (UnQual (Ident "happyReduce_367"))],Tuple Boxed [Lit (Int 368),Var (UnQual (Ident "happyReduce_368"))],Tuple Boxed [Lit (Int 369),Var (UnQual (Ident "happyReduce_369"))],Tuple Boxed [Lit (Int 370),Var (UnQual (Ident "happyReduce_370"))],Tuple Boxed [Lit (Int 371),Var (UnQual (Ident "happyReduce_371"))],Tuple Boxed [Lit (Int 372),Var (UnQual (Ident "happyReduce_372"))],Tuple Boxed [Lit (Int 373),Var (UnQual (Ident "happyReduce_373"))],Tuple Boxed [Lit (Int 374),Var (UnQual (Ident "happyReduce_374"))],Tuple Boxed [Lit (Int 375),Var (UnQual (Ident "happyReduce_375"))],Tuple Boxed [Lit (Int 376),Var (UnQual (Ident "happyReduce_376"))],Tuple Boxed [Lit (Int 377),Var (UnQual (Ident "happyReduce_377"))],Tuple Boxed [Lit (Int 378),Var (UnQual (Ident "happyReduce_378"))],Tuple Boxed [Lit (Int 379),Var (UnQual (Ident "happyReduce_379"))],Tuple Boxed [Lit (Int 380),Var (UnQual (Ident "happyReduce_380"))],Tuple Boxed [Lit (Int 381),Var (UnQual (Ident "happyReduce_381"))],Tuple Boxed [Lit (Int 382),Var (UnQual (Ident "happyReduce_382"))],Tuple Boxed [Lit (Int 383),Var (UnQual (Ident "happyReduce_383"))],Tuple Boxed [Lit (Int 384),Var (UnQual (Ident "happyReduce_384"))],Tuple Boxed [Lit (Int 385),Var (UnQual (Ident "happyReduce_385"))],Tuple Boxed [Lit (Int 386),Var (UnQual (Ident "happyReduce_386"))],Tuple Boxed [Lit (Int 387),Var (UnQual (Ident "happyReduce_387"))],Tuple Boxed [Lit (Int 388),Var (UnQual (Ident "happyReduce_388"))],Tuple Boxed [Lit (Int 389),Var (UnQual (Ident "happyReduce_389"))],Tuple Boxed [Lit (Int 390),Var (UnQual (Ident "happyReduce_390"))],Tuple Boxed [Lit (Int 391),Var (UnQual (Ident "happyReduce_391"))],Tuple Boxed [Lit (Int 392),Var (UnQual (Ident "happyReduce_392"))],Tuple Boxed [Lit (Int 393),Var (UnQual (Ident "happyReduce_393"))],Tuple Boxed [Lit (Int 394),Var (UnQual (Ident "happyReduce_394"))],Tuple Boxed [Lit (Int 395),Var (UnQual (Ident "happyReduce_395"))],Tuple Boxed [Lit (Int 396),Var (UnQual (Ident "happyReduce_396"))],Tuple Boxed [Lit (Int 397),Var (UnQual (Ident "happyReduce_397"))],Tuple Boxed [Lit (Int 398),Var (UnQual (Ident "happyReduce_398"))],Tuple Boxed [Lit (Int 399),Var (UnQual (Ident "happyReduce_399"))],Tuple Boxed [Lit (Int 400),Var (UnQual (Ident "happyReduce_400"))],Tuple Boxed [Lit (Int 401),Var (UnQual (Ident "happyReduce_401"))],Tuple Boxed [Lit (Int 402),Var (UnQual (Ident "happyReduce_402"))],Tuple Boxed [Lit (Int 403),Var (UnQual (Ident "happyReduce_403"))],Tuple Boxed [Lit (Int 404),Var (UnQual (Ident "happyReduce_404"))],Tuple Boxed [Lit (Int 405),Var (UnQual (Ident "happyReduce_405"))],Tuple Boxed [Lit (Int 406),Var (UnQual (Ident "happyReduce_406"))],Tuple Boxed [Lit (Int 407),Var (UnQual (Ident "happyReduce_407"))],Tuple Boxed [Lit (Int 408),Var (UnQual (Ident "happyReduce_408"))],Tuple Boxed [Lit (Int 409),Var (UnQual (Ident "happyReduce_409"))],Tuple Boxed [Lit (Int 410),Var (UnQual (Ident "happyReduce_410"))],Tuple Boxed [Lit (Int 411),Var (UnQual (Ident "happyReduce_411"))],Tuple Boxed [Lit (Int 412),Var (UnQual (Ident "happyReduce_412"))],Tuple Boxed [Lit (Int 413),Var (UnQual (Ident "happyReduce_413"))],Tuple Boxed [Lit (Int 414),Var (UnQual (Ident "happyReduce_414"))],Tuple Boxed [Lit (Int 415),Var (UnQual (Ident "happyReduce_415"))],Tuple Boxed [Lit (Int 416),Var (UnQual (Ident "happyReduce_416"))],Tuple Boxed [Lit (Int 417),Var (UnQual (Ident "happyReduce_417"))],Tuple Boxed [Lit (Int 418),Var (UnQual (Ident "happyReduce_418"))],Tuple Boxed [Lit (Int 419),Var (UnQual (Ident "happyReduce_419"))],Tuple Boxed [Lit (Int 420),Var (UnQual (Ident "happyReduce_420"))],Tuple Boxed [Lit (Int 421),Var (UnQual (Ident "happyReduce_421"))],Tuple Boxed [Lit (Int 422),Var (UnQual (Ident "happyReduce_422"))],Tuple Boxed [Lit (Int 423),Var (UnQual (Ident "happyReduce_423"))],Tuple Boxed [Lit (Int 424),Var (UnQual (Ident "happyReduce_424"))],Tuple Boxed [Lit (Int 425),Var (UnQual (Ident "happyReduce_425"))],Tuple Boxed [Lit (Int 426),Var (UnQual (Ident "happyReduce_426"))],Tuple Boxed [Lit (Int 427),Var (UnQual (Ident "happyReduce_427"))],Tuple Boxed [Lit (Int 428),Var (UnQual (Ident "happyReduce_428"))],Tuple Boxed [Lit (Int 429),Var (UnQual (Ident "happyReduce_429"))],Tuple Boxed [Lit (Int 430),Var (UnQual (Ident "happyReduce_430"))],Tuple Boxed [Lit (Int 431),Var (UnQual (Ident "happyReduce_431"))],Tuple Boxed [Lit (Int 432),Var (UnQual (Ident "happyReduce_432"))],Tuple Boxed [Lit (Int 433),Var (UnQual (Ident "happyReduce_433"))],Tuple Boxed [Lit (Int 434),Var (UnQual (Ident "happyReduce_434"))],Tuple Boxed [Lit (Int 435),Var (UnQual (Ident "happyReduce_435"))],Tuple Boxed [Lit (Int 436),Var (UnQual (Ident "happyReduce_436"))],Tuple Boxed [Lit (Int 437),Var (UnQual (Ident "happyReduce_437"))],Tuple Boxed [Lit (Int 438),Var (UnQual (Ident "happyReduce_438"))],Tuple Boxed [Lit (Int 439),Var (UnQual (Ident "happyReduce_439"))],Tuple Boxed [Lit (Int 440),Var (UnQual (Ident "happyReduce_440"))],Tuple Boxed [Lit (Int 441),Var (UnQual (Ident "happyReduce_441"))],Tuple Boxed [Lit (Int 442),Var (UnQual (Ident "happyReduce_442"))],Tuple Boxed [Lit (Int 443),Var (UnQual (Ident "happyReduce_443"))],Tuple Boxed [Lit (Int 444),Var (UnQual (Ident "happyReduce_444"))],Tuple Boxed [Lit (Int 445),Var (UnQual (Ident "happyReduce_445"))],Tuple Boxed [Lit (Int 446),Var (UnQual (Ident "happyReduce_446"))],Tuple Boxed [Lit (Int 447),Var (UnQual (Ident "happyReduce_447"))],Tuple Boxed [Lit (Int 448),Var (UnQual (Ident "happyReduce_448"))],Tuple Boxed [Lit (Int 449),Var (UnQual (Ident "happyReduce_449"))],Tuple Boxed [Lit (Int 450),Var (UnQual (Ident "happyReduce_450"))],Tuple Boxed [Lit (Int 451),Var (UnQual (Ident "happyReduce_451"))],Tuple Boxed [Lit (Int 452),Var (UnQual (Ident "happyReduce_452"))],Tuple Boxed [Lit (Int 453),Var (UnQual (Ident "happyReduce_453"))],Tuple Boxed [Lit (Int 454),Var (UnQual (Ident "happyReduce_454"))],Tuple Boxed [Lit (Int 455),Var (UnQual (Ident "happyReduce_455"))],Tuple Boxed [Lit (Int 456),Var (UnQual (Ident "happyReduce_456"))],Tuple Boxed [Lit (Int 457),Var (UnQual (Ident "happyReduce_457"))],Tuple Boxed [Lit (Int 458),Var (UnQual (Ident "happyReduce_458"))],Tuple Boxed [Lit (Int 459),Var (UnQual (Ident "happyReduce_459"))],Tuple Boxed [Lit (Int 460),Var (UnQual (Ident "happyReduce_460"))],Tuple Boxed [Lit (Int 461),Var (UnQual (Ident "happyReduce_461"))],Tuple Boxed [Lit (Int 462),Var (UnQual (Ident "happyReduce_462"))],Tuple Boxed [Lit (Int 463),Var (UnQual (Ident "happyReduce_463"))]]))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happy_n_terms")) (UnGuardedRhs (ExpTypeSig (SrcLoc "" -1 -1) (Lit (Int 102)) (TyCon (UnQual (Ident "Int"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happy_n_nonterms")) (UnGuardedRhs (ExpTypeSig (SrcLoc "" -1 -1) (Lit (Int 125)) (TyCon (UnQual (Ident "Int"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_4")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 0))) (Var (UnQual (Ident "happyReduction_4"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_4") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "decls")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Case (Var (UnQual (Ident "decls"))) [Alt (SrcLoc "" -1 -1) (PList []) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "n")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc "" -1 -1) (PVar (Ident "p")) (Var (UnQual (Ident "getCurrentPosition"))),Qualifier (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))) (Paren (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "p")))) (Tuple Boxed [Var (UnQual (Ident "p")),Lit (Int 0)])) (Var (UnQual (Ident "n")))))))])) Nothing,Alt (SrcLoc "" -1 -1) (PParen (PInfixApp (PVar (Ident "d")) (Special Cons) (PVar (Ident "ds")))) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "d")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CTranslUnit"))) (Var (UnQual (Ident "decls")))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn7"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_5")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_5"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_5")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_6")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_6"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_6") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_7")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 1))) (Var (UnQual (Ident "happyReduction_7"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_7") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut8"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn8"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_8")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_8"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_8") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut10"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CFDefExt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_9")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_9"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_9") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (App (Con (UnQual (Ident "CDeclExt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_10")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_10"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_10") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn9"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_11")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 2))) (Var (UnQual (Ident "happyReduction_11"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_11") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAsmExt"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn9"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_12")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_12"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_12") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (List [])) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_13")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_13"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_13") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_14")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_14"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_14") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_15")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_15"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_15") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_16")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_16"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_16") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_17")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_17"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_17") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_18")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_18"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_18") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_19")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_19"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_19") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (List [])) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_20")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_20"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_20") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_21")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_21"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_21") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_22")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_22"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_22") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_23")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_23"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_23") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_24")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_24"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_24") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_25")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 3))) (Var (UnQual (Ident "happyReduction_25"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_25") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut76"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn10"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_26")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 4))) (Var (UnQual (Ident "happyReduction_26"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_26") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declr")) (UnGuardedRhs (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (InfixApp (InfixApp (Var (UnQual (Ident "enterScope"))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "doFuncParamDeclIdent"))) (Var (UnQual (Ident "declr"))))) (QVarOp (UnQual (Symbol ">>"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "declr")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn11"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_27")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_27"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_27") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut13"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_28")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_28"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_28") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_29")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_29"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_29") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut22"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_30")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_30"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_30") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut23"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_31")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_31"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_31") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut24"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_32")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_32"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_32") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut25"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn12"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_33")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 5))) (Var (UnQual (Ident "happyReduction_33"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_33") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut26"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (App (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "CAsm"))) (Var (UnQual (Ident "happy_var_1")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn12"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_34")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_34"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_34") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CLabel"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_35")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_35"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_35") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCase"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_36")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_36"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_36") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CDefault"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_37")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 6))) (Var (UnQual (Ident "happyReduction_37"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_37") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCases"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn13"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_38")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_38"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_38") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (List [])) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_39")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 7))) (Var (UnQual (Ident "happyReduction_39"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_39") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompound"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn14"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_40")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 8))) (Var (UnQual (Ident "happyReduction_40"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_40") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "enterScope")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn15"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_41")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 0))) (Lit (PrimInt 9))) (Var (UnQual (Ident "happyReduction_41"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_41") [PParen (PVar (Ident "happyRest")),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Paren (Var (UnQual (Ident "leaveScope")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn16"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_42")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_42"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_42")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_43")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 10))) (Var (UnQual (Ident "happyReduction_43"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_43") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut17"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut18"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn17"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_44")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_44"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_44") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn18"))) (Paren (App (Con (UnQual (Ident "CBlockStmt"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_45")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 11))) (Var (UnQual (Ident "happyReduction_45"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_45") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn18"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_46")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_46"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_46") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CBlockDecl"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_47")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_47"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_47") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut20"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (App (Con (UnQual (Ident "CNestedFunDef"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_48")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 12))) (Var (UnQual (Ident "happyReduction_48"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_48") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut19"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn19"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_49")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_49"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_49") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_50")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_50"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_50") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_51")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_51"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_51") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_52")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_52"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_52") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2")))) (List [])) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_53")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 13))) (Var (UnQual (Ident "happyReduction_53"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_53") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut11"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "leaveScope"))) (QVarOp (UnQual (Symbol ">>"))) (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFunDef"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (Var (UnQual (Ident "happy_var_3")))) (List [])) (Var (UnQual (Ident "happy_var_4"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn20"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_54")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_54"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_54") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn21"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_55")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 14))) (Var (UnQual (Ident "happyReduction_55"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_55") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut21"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn21"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappendr"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_56")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_56"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_56") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Con (UnQual (Ident "Nothing"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_57")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 15))) (Var (UnQual (Ident "happyReduction_57"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_57") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CExpr"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn22"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_58")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_58"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_58") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "Nothing"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_59")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_59"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_59") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CIf"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_7"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_60")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 16))) (Var (UnQual (Ident "happyReduction_60"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_60") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CSwitch"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn23"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_61")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_61"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_61") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))) (Con (UnQual (Ident "False"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_62")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_62"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_62") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CWhile"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_2")))) (Con (UnQual (Ident "True"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_63")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 9))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_63"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_63") [PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_9")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Left"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_64")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 17))) (Var (UnQual (Ident "happyReduction_64"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_64") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_7")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_7")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "happy_x_9")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_9")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CFor"))) (Paren (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "happy_var_7")))) (Var (UnQual (Ident "happy_var_9"))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn24"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_65")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_65"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_65") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGoto"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_66")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_66"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_66") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CGotoPtr"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_67")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_67"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_67") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCont")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_68")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_68"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_68") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBreak")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_69")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 18))) (Var (UnQual (Ident "happyReduction_69"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_69") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut119"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CReturn"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn25"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_70")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_70"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_70") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (List [])) (List [])) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_71")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 8))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_71"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_71") [PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (List [])) (List []))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_72")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 10))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_72"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_72") [PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_8")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (List []))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_73")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 12))) (Lit (PrimInt 19))) (Var (UnQual (Ident "happyReduction_73"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_73") [PParen (PInfixApp (PVar (Ident "happy_x_12")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_11")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_10")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_9")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_8")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut27"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut28"))) (Var (UnQual (Ident "happy_x_8")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_8")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_10")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_10")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CAsmStmt"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6")))) (Var (UnQual (Ident "happy_var_8")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_10"))))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn26"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_74")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_74"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_74")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_75")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 20))) (Var (UnQual (Ident "happyReduction_75"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_75") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn27"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_76")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_76"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_76")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (List [])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_77")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 21))) (Var (UnQual (Ident "happyReduction_77"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_77") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn28"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_78")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_78"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_78") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn29"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_79")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 22))) (Var (UnQual (Ident "happyReduction_79"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_79") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut29"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut30"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn29"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_80")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_80"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_80") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_81")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_81"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_81") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_82")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 23))) (Var (UnQual (Ident "happyReduction_82"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_82") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAsmOperand"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_6"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn30"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_83")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_83"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_83") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn31"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_84")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 24))) (Var (UnQual (Ident "happyReduction_84"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_84") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut31"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn31"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_85")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_85"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_85") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_86")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_86"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_86") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_87")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_87"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_87") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) Nothing]))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_88")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 25))) (Var (UnQual (Ident "happyReduction_88"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_88") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (Paren (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies"))))))))) Nothing]))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn32"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_89")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_89"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_89")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_90")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 26))) (Var (UnQual (Ident "happyReduction_90"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_90") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut33"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut32"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn33"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_91")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_91"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_91") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_92")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_92"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_92") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_93")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_93"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_93") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "happy_var_3")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_5")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_94")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_94"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_94") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "declspecs")) (UnGuardedRhs (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1"))))) Nothing]) (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))])))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_95")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 27))) (Var (UnQual (Ident "happyReduction_95"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_95") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut34"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withLength"))) (Var (UnQual (Ident "at")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))))])) Nothing]))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn34"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_96")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 28))) (Var (UnQual (Ident "happyReduction_96"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_96") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut64"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn35"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_97")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_97"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_97") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_98")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_98"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_98") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "declr")))),Qualifier (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_4")),Con (UnQual (Ident "Nothing"))]])))]))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_99")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 29))) (Var (UnQual (Ident "happyReduction_99"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_99") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut36"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut35"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut91"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "declr")) (App (App (Var (UnQual (Ident "withAsmNameAttrs"))) (Tuple Boxed [App (Var (UnQual (Ident "fst"))) (Var (UnQual (Ident "happy_var_5"))),InfixApp (App (Var (UnQual (Ident "snd"))) (Var (UnQual (Ident "happy_var_5")))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_3")))])) (Var (UnQual (Ident "happy_var_4")))),Qualifier (App (App (Var (UnQual (Ident "doDeclIdent"))) (Var (UnQual (Ident "declspecs")))) (Var (UnQual (Ident "declr")))),Qualifier (App (Var (UnQual (Ident "return"))) (Paren (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "declr"))))),Var (UnQual (Ident "happy_var_6")),Con (UnQual (Ident "Nothing"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))))])) Nothing]))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn36"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_100")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_100"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_100") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_101")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_101"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_101") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_102")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 30))) (Var (UnQual (Ident "happyReduction_102"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_102") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn37"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_103")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_103"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_103") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_104")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_104"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_104") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_105")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_105"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_105") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_106")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_106"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_106") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_107")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_107"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_107") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_108")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 31))) (Var (UnQual (Ident "happyReduction_108"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_108") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn38"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_109")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_109"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_109") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_110")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 32))) (Var (UnQual (Ident "happyReduction_110"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_110") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn39"))) (Paren (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_111")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_111"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_111") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CTypedef")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_112")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_112"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_112") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CExtern")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_113")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_113"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_113") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CStatic")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_114")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_114"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_114") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CAuto")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_115")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_115"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_115") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRegister")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_116")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 33))) (Var (UnQual (Ident "happyReduction_116"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_116") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CThread")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn40"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_117")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_117"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_117") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_118")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_118"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_118") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_119")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 34))) (Var (UnQual (Ident "happyReduction_119"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_119") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn41"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_120")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_120"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_120") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVoidType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_121")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_121"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_121") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CCharType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_122")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_122"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_122") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CShortType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_123")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_123"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_123") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CIntType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_124")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_124"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_124") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CLongType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_125")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_125"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_125") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CFloatType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_126")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_126"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_126") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CDoubleType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_127")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_127"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_127") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CSignedType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_128")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_128"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_128") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CUnsigType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_129")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_129"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_129") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CBoolType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_130")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 35))) (Var (UnQual (Ident "happyReduction_130"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_130") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CComplexType")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn42"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_131")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_131"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_131") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_132")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_132"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_132") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_133")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_133"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_133") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_134")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_134"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_134") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_135")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 36))) (Var (UnQual (Ident "happyReduction_135"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_135") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut43"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn43"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_136")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_136"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_136") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_137")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_137"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_137") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_138")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_138"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_138") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_139")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_139"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_139") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_140")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_140"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_140") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_141")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_141"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_141") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut42"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_142")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 37))) (Var (UnQual (Ident "happyReduction_142"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_142") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut44"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn44"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_143")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_143"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_143") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_144")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_144"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_144") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_145")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_145"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_145") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_146")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 38))) (Var (UnQual (Ident "happyReduction_146"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_146") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut45"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn45"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_147")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_147"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_147") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_148")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_148"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_148") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "reverseList"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_149")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_149"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_149") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_150")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_150"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_150") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut49"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_151")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_151"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_151") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_152")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 39))) (Var (UnQual (Ident "happyReduction_152"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_152") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut46"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn46"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_153")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_153"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_153") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut40"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CStorageSpec"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_154")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_154"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_154") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_155")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_155"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_155") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_156")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_156"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_156") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn47"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_157")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_157"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_157") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut39"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_158")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 40))) (Var (UnQual (Ident "happyReduction_158"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_158") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut47"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn47"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_159")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_159"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_159") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_160")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_160"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_160") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_161")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_161"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_161") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "singleton"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_162")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_162"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_162") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_163")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_163"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_163") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_164")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_164"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_164") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_165")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_165"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_165") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_2")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_166")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_166"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_166") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_167")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_167"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_167") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Paren (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_168")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_168"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_168") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeDef"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_169")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_169"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_169") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfExpr"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_170")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_170"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_170") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (InfixApp (InfixApp (App (App (Var (UnQual (Ident "rmap"))) (Con (UnQual (Ident "CTypeQual")))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CTypeOfType"))) (Var (UnQual (Ident "happy_var_5")))) (Var (UnQual (Ident "at"))))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn48"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_171")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_171"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_171") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn48"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeQual"))) (Var (UnQual (Ident "happy_var_2")))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_172")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 41))) (Var (UnQual (Ident "happyReduction_172"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_172") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut48"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn48"))) (Paren (App (App (Var (UnQual (Ident "addTrailingAttrs"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_173")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_173"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_173") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut50"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSUType"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_174")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 42))) (Var (UnQual (Ident "happyReduction_174"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_174") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut58"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CEnumType"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn49"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_175")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_175"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_175") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_176")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_176"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_176") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_177")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 43))) (Var (UnQual (Ident "happyReduction_177"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_177") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut51"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn50"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_178")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_178"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_178") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CStructTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_179")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 44))) (Var (UnQual (Ident "happyReduction_179"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_179") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn51"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CUnionTag")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_180")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_180"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_180")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_181")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_181"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_181") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_182")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 45))) (Var (UnQual (Ident "happyReduction_182"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_182") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut52"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn52"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_183")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_183"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_183") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_184")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_184"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_184") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (App (Var (Qual (ModuleName "List") (Ident "reverse"))) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_185")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 46))) (Var (UnQual (Ident "happyReduction_185"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_185") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut53"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn53"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_186")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_186"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_186") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_3"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_187")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_187"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_187") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "d"),PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [Var (UnQual (Ident "d")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn54"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_188")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 47))) (Var (UnQual (Ident "happyReduction_188"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_188") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut54"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn54"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "at")]) (UnGuardedRhs (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "at"))))) Nothing])) Nothing]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_189")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_189"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_189") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]]))) Nothing])))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_190")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_190"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_190") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut55"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut56"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn55"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PVar (Ident "declspecs"),PVar (Ident "dies"),PVar (Ident "attr")]) (UnGuardedRhs (Case (Var (UnQual (Ident "happy_var_4"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "d")],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendObjAttrs"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "d")))),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "s")]) (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "declspecs")))) (Paren (InfixApp (Tuple Boxed [Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "s"))]) (QConOp (Special Cons)) (Var (UnQual (Ident "dies")))))) (Var (UnQual (Ident "attr"))))) Nothing])) Nothing]))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_191")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 48))) (Var (UnQual (Ident "happyReduction_191"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_191") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn55"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_192")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_192"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_192") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_193")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_193"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_193") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_194")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 49))) (Var (UnQual (Ident "happyReduction_194"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_194") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut63"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn56"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_195")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_195"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_195") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_196")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_196"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_196") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [Con (UnQual (Ident "Nothing")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2")))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_197")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_197"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_197") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_198")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 50))) (Var (UnQual (Ident "happyReduction_198"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_198") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut57"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn57"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Nothing")) [],PVar (Ident "expr")]) (UnGuardedRhs (Tuple Boxed [Con (UnQual (Ident "Nothing")),Var (UnQual (Ident "expr"))])) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "name"),PVar (Ident "derived"),PVar (Ident "asmname"),PVar (Ident "attrs"),PVar (Ident "node")])],PVar (Ident "bsz")]) (UnGuardedRhs (Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "name")))) (Var (UnQual (Ident "derived")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "node"))))),Var (UnQual (Ident "bsz"))])) Nothing])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_199")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_199"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_199") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_200")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_200"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_200") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Con (UnQual (Ident "Nothing")))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_201")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_201"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_201") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_202")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_202"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_202") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Paren (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_203")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 51))) (Var (UnQual (Ident "happyReduction_203"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_203") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CEnum"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn58"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_204")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_204"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_204") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn59"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_205")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 52))) (Var (UnQual (Ident "happyReduction_205"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_205") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut59"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut60"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn59"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_206")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_206"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_206") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Con (UnQual (Ident "Nothing"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_207")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 53))) (Var (UnQual (Ident "happyReduction_207"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_207") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn60"))) (Paren (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_208")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_208"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_208") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CConstQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_209")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_209"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_209") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CVolatQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_210")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_210"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_210") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CRestrQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_211")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 54))) (Var (UnQual (Ident "happyReduction_211"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_211") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Con (UnQual (Ident "CInlineQual")))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn61"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_212")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_212"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_212") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (App (Var (UnQual (Ident "reverseList"))) (Paren (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_1")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_213")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_213"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_213") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_214")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 55))) (Var (UnQual (Ident "happyReduction_214"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_214") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut61"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn62"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "rappend"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "happy_var_2")))))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_215")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_215"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_215") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_216")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 56))) (Var (UnQual (Ident "happyReduction_216"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_216") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut65"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn63"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_217")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_217"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_217")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn64"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_218")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 57))) (Var (UnQual (Ident "happyReduction_218"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_218") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn64"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_219")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_219"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_219") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_220")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 58))) (Var (UnQual (Ident "happyReduction_220"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_220") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn65"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_221")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_221"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_221") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_222")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_222"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_222") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn66"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_223")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 59))) (Var (UnQual (Ident "happyReduction_223"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_223") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn66"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_224")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_224"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_224") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut68"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn67"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_225")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_225"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_225") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_226")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_226"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_226") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_227")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_227"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_227") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_228")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 60))) (Var (UnQual (Ident "happyReduction_228"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_228") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn67"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_229")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_229"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_229") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn68"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_230")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_230"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_230") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_231")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_231"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_231") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_232")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 61))) (Var (UnQual (Ident "happyReduction_232"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_232") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut67"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn68"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_233")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_233"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_233") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut70"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn69"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_234")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_234"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_234") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_235")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_235"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_235") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_236")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_236"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_236") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_5")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_237")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_237"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_237") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_238")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_238"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_238") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_239")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 62))) (Var (UnQual (Ident "happyReduction_239"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_239") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn69"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_240")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_240"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_240") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn70"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_241")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_241"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_241") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_242")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 63))) (Var (UnQual (Ident "happyReduction_242"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_242") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut69"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn70"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_243")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_243"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_243") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn71"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_244")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 64))) (Var (UnQual (Ident "happyReduction_244"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_244") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut71"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn71"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_245")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_245"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_245") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_246")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 65))) (Var (UnQual (Ident "happyReduction_246"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_246") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn72"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_247")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_247"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_247") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut74"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn73"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_248")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_248"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_248") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_249")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_249"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_249") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_250")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_250"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_250") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_251")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 66))) (Var (UnQual (Ident "happyReduction_251"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_251") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_4")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn73"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_252")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_252"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_252") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_253")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_253"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_253") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn74"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_254")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_254"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_254") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_255")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_255"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_255") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_256")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 67))) (Var (UnQual (Ident "happyReduction_256"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_256") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut73"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn74"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_257")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_257"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_257") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkVarDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn75"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_258")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_258"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_258") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn75"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_259")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 68))) (Var (UnQual (Ident "happyReduction_259"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_259") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn75"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_260")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 69))) (Var (UnQual (Ident "happyReduction_260"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_260") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn76"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_261")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_261"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_261") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut78"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn77"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_262")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_262"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_262") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_263")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 70))) (Var (UnQual (Ident "happyReduction_263"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_263") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn77"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_264")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_264"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_264") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut75"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Con (UnQual (Ident "Left"))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn78"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_265")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_265"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_265") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn78"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_266")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 71))) (Var (UnQual (Ident "happyReduction_266"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_266") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut77"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn78"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_267")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_267"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_267")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [List [],Con (UnQual (Ident "False"))])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_268")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_268"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_268") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "False"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_269")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 72))) (Var (UnQual (Ident "happyReduction_269"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_269") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn79"))) (Paren (Tuple Boxed [App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))),Con (UnQual (Ident "True"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_270")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_270"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_270") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn80"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_271")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 73))) (Var (UnQual (Ident "happyReduction_271"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_271") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut80"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut81"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn80"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_272")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_272"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_272") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_273")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_273"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_273") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_274")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_274"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_274") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_275")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_275"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_275") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut37"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_276")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_276"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_276") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_277")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_277"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_277") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_278")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_278"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_278") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut38"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_279")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_279"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_279") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_280")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_280"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_280") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_281")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_281"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_281") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_282")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_282"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_282") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut66"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$!"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_283")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_283"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_283") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_284")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_284"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_284") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_285")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_285"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_285") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_286")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 74))) (Var (UnQual (Ident "happyReduction_286"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_286") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut72"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (InfixApp (Var (UnQual (Ident "reverseDeclr"))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_2")))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn81"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_287")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_287"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_287") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn82"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_288")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 75))) (Var (UnQual (Ident "happyReduction_288"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_288") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut82"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_3")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn82"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_289")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_289"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_289") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_290")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_290"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_290") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut41"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Var (UnQual (Ident "happy_var_1")))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_291")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_291"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_291") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (InfixApp (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "++"))) (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "happy_var_2"))))))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_292")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 76))) (Var (UnQual (Ident "happyReduction_292"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_292") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CDecl"))) (Paren (App (Var (UnQual (Ident "liftTypeQuals"))) (Var (UnQual (Ident "happy_var_1")))))) (List [Tuple Boxed [App (Con (UnQual (Ident "Just"))) (Paren (App (Var (UnQual (Ident "reverseDeclr"))) (Var (UnQual (Ident "happy_var_2"))))),Con (UnQual (Ident "Nothing")),Con (UnQual (Ident "Nothing"))]]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn83"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_293")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_293"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_293") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_294")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_294"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_294") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_295")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 77))) (Var (UnQual (Ident "happyReduction_295"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_295") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn84"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "emptyDeclr"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_296")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_296"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_296") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn85"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_297")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 78))) (Var (UnQual (Ident "happyReduction_297"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_297") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut79"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "params"),PVar (Ident "variadic")]) (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "funDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Con (UnQual (Ident "Right"))) (Tuple Boxed [Var (UnQual (Ident "params")),Var (UnQual (Ident "variadic"))])))) (List [])) (Var (UnQual (Ident "at"))))) Nothing]))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn85"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_298")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_298"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_298") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn86"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_299")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 79))) (Var (UnQual (Ident "happyReduction_299"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_299") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut86"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut87"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn86"))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "decl")] (App (Var (UnQual (Ident "happy_var_2"))) (Paren (App (Var (UnQual (Ident "happy_var_1"))) (Var (UnQual (Ident "decl")))))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_300")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_300"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_300") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_301")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_301"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_301") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_302")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_302"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_302") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_303")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_303"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_303") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut120"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "False")))) (Var (UnQual (Ident "happy_var_4")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_304")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_304"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_304") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_4")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_305")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_305"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_305") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_5")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_306")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_306"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_306") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_6")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_6")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "True")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_6")))))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_307")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_307"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_307") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_308")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_308"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_308") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_2"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_4")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (List [])) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_309")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_309"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_309") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_4")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_310")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 80))) (Var (UnQual (Ident "happyReduction_310"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_310") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttributePF"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_3"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_5")))))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at"),PVar (Ident "declr")] (App (App (App (App (App (App (Var (UnQual (Ident "arrDeclr"))) (Var (UnQual (Ident "declr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))) (Con (UnQual (Ident "True")))) (Con (UnQual (Ident "False")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "at")))))))) Nothing])) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn87"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_311")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_311"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_311") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_312")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_312"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_312") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut126"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_313")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_313"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_313") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_2")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_314")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_314"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_314") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut62"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_315")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_315"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_315") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "emptyDeclr")))) (List []))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_316")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 81))) (Var (UnQual (Ident "happyReduction_316"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_316") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut84"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (App (Var (UnQual (Ident "withAttribute"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_2")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Var (UnQual (Ident "ptrDeclr"))) (Var (UnQual (Ident "happy_var_3")))) (List []))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn88"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_317")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_317"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_317") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_318")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_318"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_318") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_319")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_319"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_319") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_2"))) (Var (UnQual (Ident "emptyDeclr"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_320")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_320"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_320") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (Var (UnQual (Ident "happy_var_4"))) (Var (UnQual (Ident "happy_var_2")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_321")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_321"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_321") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_322")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_322"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_322") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_3")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_323")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_323"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_323") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_3"))) (Var (UnQual (Ident "emptyDeclr")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_324")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_324"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_324") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut88"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut85"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "happy_var_5"))) (Var (UnQual (Ident "happy_var_3")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_325")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 82))) (Var (UnQual (Ident "happyReduction_325"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_325") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut89"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn89"))) (Paren (App (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_326")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_326"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_326") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitExpr"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_327")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_327"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_327") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_328")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 83))) (Var (UnQual (Ident "happyReduction_328"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_328") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CInitList"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn90"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_329")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_329"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_329")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_330")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 84))) (Var (UnQual (Ident "happyReduction_330"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_330") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn91"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_331")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_331"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_331")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (Var (UnQual (Ident "empty")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_332")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_332"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_332") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_1"))]))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_333")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_333"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_333") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_1")),Var (UnQual (Ident "happy_var_2"))]))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_334")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_334"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_334") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [List [],Var (UnQual (Ident "happy_var_3"))]))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_335")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 85))) (Var (UnQual (Ident "happyReduction_335"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_335") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut93"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut90"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn92"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Tuple Boxed [Var (UnQual (Ident "happy_var_3")),Var (UnQual (Ident "happy_var_4"))])))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_336")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_336"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_336") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn93"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_337")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_337"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_337") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Lambda (SrcLoc "" -1 -1) [PVar (Ident "at")] (List [App (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "at")))]))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn93"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_338")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 86))) (Var (UnQual (Ident "happyReduction_338"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_338") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn93"))) (Paren (List [Var (UnQual (Ident "happy_var_1"))])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_339")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_339"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_339") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn94"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_340")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 87))) (Var (UnQual (Ident "happyReduction_340"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_340") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut94"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut95"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn94"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_341")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_341"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_341") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_342")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_342"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_342") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn95"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_343")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 88))) (Var (UnQual (Ident "happyReduction_343"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_343") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut96"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn95"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_344")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 89))) (Var (UnQual (Ident "happyReduction_344"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_344") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CRangeDesig"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn96"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_345")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_345"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_345") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CVar"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_346")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_346"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_346") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut122"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_347")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_347"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_347") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut123"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (App (Con (UnQual (Ident "CConst"))) (Paren (App (Var (UnQual (Ident "liftStrLit"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_348")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_348"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_348") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn97"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_349")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_349"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_349") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut14"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CStatExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_350")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_350"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_350") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinVaArg"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_351")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_351"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_351") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinOffsetOf"))) (Var (UnQual (Ident "happy_var_3")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5")))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_352")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 90))) (Var (UnQual (Ident "happyReduction_352"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_352") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "CBuiltinExpr"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CBuiltinTypesCompatible"))) (Var (UnQual (Ident "happy_var_3")))) (Var (UnQual (Ident "happy_var_5")))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn97"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_353")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_353"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_353") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Var (UnQual (Ident "singleton"))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_1")))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_354")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_354"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_354") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CMemberDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_355")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 91))) (Var (UnQual (Ident "happyReduction_355"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_355") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut98"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_3")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (LeftSection (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc")))) (QVarOp (UnQual (Symbol "."))) (App (Con (UnQual (Ident "CArrDesig"))) (Var (UnQual (Ident "happy_var_3")))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn98"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_356")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_356"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_356") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut97"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn99"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_357")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_357"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_357") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CIndex"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_358")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_358"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_358") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (List []))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_359")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_359"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_359") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCall"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_360")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_360"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_360") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "False"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_361")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_361"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_361") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CMember"))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3")))) (Con (UnQual (Ident "True"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_362")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_362"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_362") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostIncOp")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_363")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_363"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_363") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPostDecOp")))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_364")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_364"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_364") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_365")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 7))) (Lit (PrimInt 92))) (Var (UnQual (Ident "happyReduction_365"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_365") [PParen (PInfixApp (PVar (Ident "happy_x_7")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut92"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCompoundLit"))) (Var (UnQual (Ident "happy_var_2")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_5"))))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn99"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_366")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_366"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_366") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn100"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_367")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 93))) (Var (UnQual (Ident "happyReduction_367"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_367") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut100"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn100"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_368")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_368"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_368") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut99"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_369")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_369"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_369") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreIncOp")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_370")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_370"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_370") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Con (UnQual (Ident "CPreDecOp")))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_371")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_371"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_371") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn101"))) (Paren (Var (UnQual (Ident "happy_var_2")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_372")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_372"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_372") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut102"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CUnary"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_1")))))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_373")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_373"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_373") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_374")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_374"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_374") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CSizeofType"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_375")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_375"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_375") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_376")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_376"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_376") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CAlignofType"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_377")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_377"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_377") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexReal"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_378")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_378"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_378") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComplexImag"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_379")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 94))) (Var (UnQual (Ident "happyReduction_379"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_379") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut125"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CLabAddrExpr"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn101"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_380")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_380"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_380") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAdrOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_381")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_381"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_381") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CIndOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_382")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_382"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_382") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CPlusOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_383")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_383"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_383") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMinOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_384")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_384"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_384") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CCompOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_385")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 95))) (Var (UnQual (Ident "happyReduction_385"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_385") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn102"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CNegOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_386")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_386"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_386") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn103"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_387")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 96))) (Var (UnQual (Ident "happyReduction_387"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_387") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut83"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (Con (UnQual (Ident "CCast"))) (Var (UnQual (Ident "happy_var_2")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn103"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_388")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_388"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_388") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn104"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_389")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_389"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_389") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CMulOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_390")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_390"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_390") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CDivOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_391")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 97))) (Var (UnQual (Ident "happyReduction_391"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_391") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut103"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CRmdOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn104"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_392")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_392"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_392") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn105"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_393")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_393"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_393") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAddOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_394")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 98))) (Var (UnQual (Ident "happyReduction_394"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_394") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut104"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CSubOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn105"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_395")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_395"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_395") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn106"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_396")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_396"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_396") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShlOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_397")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 99))) (Var (UnQual (Ident "happyReduction_397"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_397") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut105"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CShrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn106"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_398")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_398"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_398") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn107"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_399")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_399"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_399") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_400")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_400"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_400") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_401")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_401"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_401") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_402")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 100))) (Var (UnQual (Ident "happyReduction_402"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_402") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut106"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CGeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn107"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_403")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_403"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_403") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn108"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_404")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_404"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_404") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CEqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_405")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 101))) (Var (UnQual (Ident "happyReduction_405"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_405") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut107"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CNeqOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn108"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_406")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_406"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_406") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn109"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_407")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 102))) (Var (UnQual (Ident "happyReduction_407"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_407") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut108"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CAndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn109"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_408")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_408"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_408") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn110"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_409")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 103))) (Var (UnQual (Ident "happyReduction_409"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_409") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut109"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CXorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn110"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_410")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_410"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_410") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn111"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_411")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 104))) (Var (UnQual (Ident "happyReduction_411"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_411") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut110"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "COrOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn111"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_412")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_412"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_412") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn112"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_413")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 105))) (Var (UnQual (Ident "happyReduction_413"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_413") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut111"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLndOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn112"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_414")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_414"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_414") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn113"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_415")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 106))) (Var (UnQual (Ident "happyReduction_415"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_415") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut112"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CBinary"))) (Con (UnQual (Ident "CLorOp")))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn113"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_416")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_416"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_416") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn114"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_417")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 5))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_417"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_417") [PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_5")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_5")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_3")))))) (Var (UnQual (Ident "happy_var_5"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_418")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 107))) (Var (UnQual (Ident "happyReduction_418"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_418") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut113"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CCond"))) (Var (UnQual (Ident "happy_var_1")))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "happy_var_4"))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn114"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_419")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_419"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_419") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn115"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_420")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 108))) (Var (UnQual (Ident "happyReduction_420"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_420") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut101"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut116"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (Con (UnQual (Ident "CAssign"))) (Paren (App (Var (UnQual (Ident "unL"))) (Var (UnQual (Ident "happy_var_2")))))) (Var (UnQual (Ident "happy_var_1")))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn115"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_421")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_421"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_421") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAssignOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_422")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_422"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_422") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CMulAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_423")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_423"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_423") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CDivAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_424")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_424"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_424") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CRmdAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_425")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_425"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_425") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAddAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_426")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_426"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_426") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CSubAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_427")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_427"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_427") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShlAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_428")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_428"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_428") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CShrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_429")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_429"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_429") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CAndAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_430")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_430"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_430") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "CXorAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_431")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 109))) (Var (UnQual (Ident "happyReduction_431"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_431") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn116"))) (Paren (App (App (Con (UnQual (Ident "L"))) (Con (UnQual (Ident "COrAssOp")))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "happy_var_1"))))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_432")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_432"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_432") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn117"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_433")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 110))) (Var (UnQual (Ident "happyReduction_433"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_433") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "es")) (UnGuardedRhs (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3"))))) Nothing]) (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "es")))) (QVarOp (UnQual (Symbol "$"))) (App (Con (UnQual (Ident "CComma"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QConOp (Special Cons)) (Var (UnQual (Ident "es")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn117"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_434")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_434"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_434") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn118"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_435")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 111))) (Var (UnQual (Ident "happyReduction_435"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_435") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut118"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn118"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_436")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_436"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_436")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_437")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 112))) (Var (UnQual (Ident "happyReduction_437"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_437") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn119"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_438")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_438"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_438")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_439")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 113))) (Var (UnQual (Ident "happyReduction_439"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_439") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut115"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn120"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_440")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 114))) (Var (UnQual (Ident "happyReduction_440"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_440") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut114"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn121"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_441")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_441"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_441") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PVar (Ident "i")]) (UnGuardedRhs (App (Con (UnQual (Ident "CIntConst"))) (Var (UnQual (Ident "i"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_442")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_442"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_442") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PVar (Ident "c")]) (UnGuardedRhs (App (Con (UnQual (Ident "CCharConst"))) (Var (UnQual (Ident "c"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_443")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 115))) (Var (UnQual (Ident "happyReduction_443"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_443") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PVar (Ident "f")]) (UnGuardedRhs (App (Con (UnQual (Ident "CFloatConst"))) (Var (UnQual (Ident "f"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn122"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_444")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_444"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_444") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Con (UnQual (Ident "CStrLit"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_445")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 2))) (Lit (PrimInt 116))) (Var (UnQual (Ident "happyReduction_445"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_445") [PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Con (UnQual (Ident "CStrLit"))) (Paren (App (Var (UnQual (Ident "concatCStrings"))) (Paren (InfixApp (Var (UnQual (Ident "s"))) (QConOp (Special Cons)) (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_2")))))))))) Nothing])))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn123"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_446")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_446"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_446") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_447")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 117))) (Var (UnQual (Ident "happyReduction_447"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_447") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut124"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn124"))) (Paren (Case (Var (UnQual (Ident "happy_var_2"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PVar (Ident "s")]) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "s"))))) Nothing])))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_448")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_448"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_448") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_449")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 118))) (Var (UnQual (Ident "happyReduction_449"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_449") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn125"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_450")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_450"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_450")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (List [])))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_451")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 119))) (Var (UnQual (Ident "happyReduction_451"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_451") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn126"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_452")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_452"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_452") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn127"))) (Paren (Var (UnQual (Ident "happy_var_1")))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_453")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_2"))) (Lit (PrimInt 120))) (Var (UnQual (Ident "happyReduction_453"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_453") [PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut127"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut128"))) (Var (UnQual (Ident "happy_x_2")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_2")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn127"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "happy_var_2"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_454")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyReduce"))) (Lit (PrimInt 6))) (Lit (PrimInt 121))) (Var (UnQual (Ident "happyReduction_454"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_454") [PParen (PInfixApp (PVar (Ident "happy_x_6")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_5")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest")))))))))))))] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_4")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_4")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "happyIn128"))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_4")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "happyRest"))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_455")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_455"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_455") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn129"))) (Paren (Case (Var (UnQual (Ident "happy_var_1"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (Var (UnQual (Ident "empty")))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "attr")]) (UnGuardedRhs (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "attr"))))) Nothing])))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_456")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 122))) (Var (UnQual (Ident "happyReduction_456"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_456") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut129"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut130"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn129"))) (Paren (App (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "flip"))) (Var (UnQual (Ident "snoc")))))) (Var (UnQual (Ident "happy_var_3"))))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_457")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_0"))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_457"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduction_457")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn130"))) (Paren (Con (UnQual (Ident "Nothing")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_458")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_458"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_458") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_459")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 1))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_459"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_459") [PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Paren (App (Var (UnQual (Ident "internalIdent"))) (Lit (String "const"))))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_460")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 4))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_460"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_460") [PParen (PInfixApp (PVar (Ident "happy_x_4")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "happy_var_3")))))))))) Nothing])) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_461")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyMonadReduce"))) (Lit (PrimInt 3))) (Lit (PrimInt 123))) (Var (UnQual (Ident "happyReduction_461"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_461") [PParen (PInfixApp (PVar (Ident "happy_x_3")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "happy_x_1")) (UnQual (Ident "HappyStk")) (PVar (Ident "happyRest"))))))),PVar (Ident "tk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (Case (App (Var (UnQual (Ident "happyOutTok"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_var_1")])) (UnGuardedRhs (Paren (InfixApp (App (Var (UnQual (Ident "withNodeInfo"))) (Var (UnQual (Ident "happy_var_1")))) (QVarOp (UnQual (Symbol "$"))) (InfixApp (Con (UnQual (Ident "Just"))) (QVarOp (UnQual (Symbol "."))) (App (App (Con (UnQual (Ident "CAttr"))) (Var (UnQual (Ident "happy_var_1")))) (List [])))))) Nothing]))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyIn130"))) (Var (UnQual (Ident "r")))))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_462")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_1"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_462"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_462") [PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn131"))) (Paren (App (Var (UnQual (Ident "singleton"))) (Var (UnQual (Ident "happy_var_1"))))))) Nothing])) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReduce_463")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happySpecReduce_3"))) (Lit (PrimInt 124))) (Var (UnQual (Ident "happyReduction_463"))))) Nothing,FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduction_463") [PVar (Ident "happy_x_3"),PVar (Ident "happy_x_2"),PVar (Ident "happy_x_1")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut131"))) (Var (UnQual (Ident "happy_x_1")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_1")) (UnGuardedRhs (Case (App (Var (UnQual (Ident "happyOut121"))) (Var (UnQual (Ident "happy_x_3")))) [Alt (SrcLoc "" -1 -1) (PVar (Ident "happy_var_3")) (UnGuardedRhs (App (Var (UnQual (Ident "happyIn131"))) (Paren (InfixApp (Var (UnQual (Ident "happy_var_1"))) (QVarOp (UnQual (Ident "snoc"))) (Var (UnQual (Ident "happy_var_3"))))))) Nothing])) Nothing])) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyNewToken") [PVar (Ident "action"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "lexC"))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "tk")] (Let (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "cont") [PVar (Ident "i")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing]]) (Case (Var (UnQual (Ident "tk"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEof")) []) (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 101))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLParen")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 1)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRParen")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 2)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLBracket")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 3)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRBracket")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 4)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokArrow")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 5)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDot")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 6)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokExclam")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 7)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTilde")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 8)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInc")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 9)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDec")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 10)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPlus")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 11)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokMinus")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 12)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 13)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSlash")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 14)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPercent")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 15)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAmper")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 16)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShiftL")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 17)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShiftR")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 18)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLess")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 19)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLessEq")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 20)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHigh")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 21)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHighEq")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 22)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEqual")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 23)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnequal")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 24)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHat")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 25)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 26)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAnd")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 27)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokOr")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 28)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokQuest")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 29)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokColon")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 30)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAssign")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 31)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPlusAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 32)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokMinusAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 33)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStarAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 34)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSlashAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 35)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokPercAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 36)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAmpAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 37)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokHatAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 38)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBarAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 39)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 40)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSRAss")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 41)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokComma")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 42)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSemic")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 43)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLBrace")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 44)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRBrace")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 45)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEllipsis")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 46)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAlignof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 47)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAsm")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 48)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokAuto")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 49)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBreak")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 50)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokBool")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 51)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCase")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 52)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokChar")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 53)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokConst")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 54)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokContinue")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 55)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokComplex")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 56)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDefault")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 57)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDo")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 58)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokDouble")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 59)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokElse")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 60)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokEnum")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 61)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokExtern")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 62)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFloat")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 63)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFor")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 64)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGoto")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 65)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokIf")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 66)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInline")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 67)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokInt")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 68)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLong")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 69)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokLabel")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 70)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRegister")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 71)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokRestrict")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 72)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokReturn")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 73)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokShort")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 74)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSigned")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 75)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSizeof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 76)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStatic")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 77)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokStruct")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 78)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSwitch")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 79)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTypedef")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 80)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTypeof")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 81)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokThread")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 82)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnion")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 83)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokUnsigned")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 84)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokVoid")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 85)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokVolatile")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 86)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokWhile")) [PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 87)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokCLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 88)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokILit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 89)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokFLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 90)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokSLit")) [PWildCard,PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 91)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 92)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokTyIdent")) [PWildCard,PVar (Ident "happy_dollar_dollar")]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 93)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCAttrTok")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 94)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCExtTok")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 95)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexReal")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 96)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCComplexImag")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 97)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCVaArg")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 98)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCOffsetof")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 99)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CTokGnuC")) [PApp (UnQual (Ident "GnuCTyCompat")) [],PWildCard]) (UnGuardedRhs (App (Var (UnQual (Ident "cont"))) (Lit (PrimInt 100)))) Nothing,Alt (SrcLoc "" -1 -1) PWildCard (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) Nothing])))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyError_") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError'"))) (Var (UnQual (Ident "tk"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "happyThen"] (TyFun (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))) (TyFun (TyParen (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "b"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyThen")) (UnGuardedRhs (Var (UnQual (Symbol ">>=")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyReturn"] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReturn")) (UnGuardedRhs (Paren (Var (UnQual (Ident "return"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyThen1")) (UnGuardedRhs (Var (UnQual (Ident "happyThen")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyReturn1"] (TyFun (TyVar (Ident "a")) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyReturn1")) (UnGuardedRhs (Var (UnQual (Ident "happyReturn")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyError'"] (TyFun (TyCon (UnQual (Ident "CToken"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyError'") [PVar (Ident "tk")] Nothing (UnGuardedRhs (App (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "token")] (Var (UnQual (Ident "happyError"))))) (Var (UnQual (Ident "tk"))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "translation_unit")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 0))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut7"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "external_declaration")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 1))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut9"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "statement")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 2))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut12"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "expression")) (UnGuardedRhs (Var (UnQual (Ident "happySomeParser")))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySomeParser")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen"))) (Paren (App (Var (UnQual (Ident "happyParse"))) (Lit (PrimInt 3))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "x")] (App (Var (UnQual (Ident "happyReturn"))) (Paren (App (Var (UnQual (Ident "happyOut117"))) (Var (UnQual (Ident "x")))))))))) Nothing])),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happySeq")) (UnGuardedRhs (Var (UnQual (Ident "happyDontSeq")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "reverseList"] (TyFun (TyList (TyVar (Ident "a"))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyVar (Ident "a"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "reverseList")) (UnGuardedRhs (InfixApp (Con (UnQual (Ident "Reversed"))) (QVarOp (UnQual (Symbol "."))) (Var (Qual (ModuleName "List") (Ident "reverse"))))) Nothing,DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Located") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "L") [TyBang BangedTy (TyVar (Ident "a")),TyBang BangedTy (TyCon (UnQual (Ident "Position")))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "unL"] (TyFun (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a"))) (TyVar (Ident "a"))),FunBind [Match (SrcLoc "" -1 -1) (Ident "unL") [PParen (PApp (UnQual (Ident "L")) [PVar (Ident "a"),PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "a")))) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Located"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "L")) [PWildCard,PVar (Ident "pos")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "pos")))) Nothing])],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withNodeInfo")),TypeSig (SrcLoc "" -1 -1) [Ident "withNodeInfo"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withNodeInfo") [PVar (Ident "node"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),Generator (SrcLoc "" -1 -1) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "firstPos")) (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Var (UnQual (Ident "name"))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withLength")),TypeSig (SrcLoc "" -1 -1) [Ident "withLength"] (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyVar (Ident "a")))) (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withLength") [PVar (Ident "nodeinfo"),PVar (Ident "mkAttrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "lastTok")) (Var (UnQual (Ident "getSavedToken"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "firstPos")) (UnGuardedRhs (App (Var (UnQual (Ident "posOfNode"))) (Var (UnQual (Ident "nodeinfo"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "mkNodeInfo'"))) (Var (UnQual (Ident "firstPos")))) (Paren (InfixApp (Var (UnQual (Ident "posLenOfTok"))) (QVarOp (UnQual (Symbol "$!"))) (Var (UnQual (Ident "lastTok")))))) (Paren (App (App (App (Var (UnQual (Ident "maybe"))) (Paren (App (Var (UnQual (Ident "error"))) (Lit (String "nameOfNode"))))) (Var (UnQual (Ident "id")))) (Paren (App (Var (UnQual (Ident "nameOfNode"))) (Var (UnQual (Ident "nodeinfo"))))))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Paren (App (Var (UnQual (Ident "mkAttrNode"))) (Var (UnQual (Ident "attrs")))))))])) Nothing],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "CDeclrR") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "CDeclrR") [TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident")))),TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDerivedDeclr"))))),TyParen (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))),TyList (TyCon (UnQual (Ident "CAttr"))),TyCon (UnQual (Ident "NodeInfo"))])] [],TypeSig (SrcLoc "" -1 -1) [Ident "reverseDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclr")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "reverseDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ide"),PVar (Ident "reversedDDs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ide")))) (Paren (App (Var (UnQual (Ident "reverse"))) (Var (UnQual (Ident "reversedDDs")))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "CNode")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "nodeInfo") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (Var (UnQual (Ident "n")))) Nothing])],InstDecl (SrcLoc "" -1 -1) Nothing [] [] (UnQual (Ident "Pos")) [TyParen (TyCon (UnQual (Ident "CDeclrR")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "CDeclrR")) [PWildCard,PWildCard,PWildCard,PWildCard,PVar (Ident "n")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n"))))) Nothing])],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withAttribute")),TypeSig (SrcLoc "" -1 -1) [Ident "withAttribute"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAttribute") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrNode")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "newDeclr")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "$"))) (App (Var (UnQual (Ident "mkDeclrNode"))) (Var (UnQual (Ident "attrs")))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "withAttributePF")),TypeSig (SrcLoc "" -1 -1) [Ident "withAttributePF"] (TyForall Nothing [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "node")]] (TyFun (TyVar (Ident "node")) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyParen (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))) (TyApp (TyCon (UnQual (Ident "P"))) (TyParen (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR")))))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAttributePF") [PVar (Ident "node"),PVar (Ident "cattrs"),PVar (Ident "mkDeclrCtor")] Nothing (UnGuardedRhs (Do [Generator (SrcLoc "" -1 -1) (PVar (Ident "name")) (Var (UnQual (Ident "getNewName"))),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "attrs")) (UnGuardedRhs (App (App (Var (UnQual (Ident "mkNodeInfo"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "node")))))) (Var (UnQual (Ident "name"))))) Nothing]),LetStmt (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "newDeclr")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "appendDeclrAttrs"))) (Var (UnQual (Ident "cattrs")))) (QVarOp (UnQual (Symbol "."))) (App (Var (UnQual (Ident "mkDeclrCtor"))) (Var (UnQual (Ident "attrs")))))) Nothing]),Qualifier (InfixApp (Var (UnQual (Ident "attrs"))) (QVarOp (UnQual (Ident "seq"))) (InfixApp (Var (UnQual (Ident "newDeclr"))) (QVarOp (UnQual (Ident "seq"))) (App (Var (UnQual (Ident "return"))) (Var (UnQual (Ident "newDeclr"))))))])) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendObjAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyCon (UnQual (Ident "CDeclr"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendObjAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclr"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendObjAttrsR"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendObjAttrsR") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "asmname"),PVar (Ident "cAttrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cAttrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "setAsmName"] (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "setAsmName") [PVar (Ident "mAsmName"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "indirections"),PVar (Ident "oldName"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "combineName"))) (Var (UnQual (Ident "mAsmName")))) (Var (UnQual (Ident "oldName")))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Left")) [PTuple Boxed [PVar (Ident "n1"),PVar (Ident "n2")]]) (UnGuardedRhs (App (App (Var (UnQual (Ident "failP"))) (Paren (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "n2")))))) (List [Lit (String "Duplicate assembler name: "),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n1"))),App (Var (UnQual (Ident "showName"))) (Var (UnQual (Ident "n2")))]))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Right")) [PVar (Ident "newName")]) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "return"))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "indirections")))) (Var (UnQual (Ident "newName")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at")))))) Nothing])) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Con (UnQual (Ident "Nothing"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PApp (UnQual (Ident "Nothing")) [],PAsPat (Ident "oldname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard]))] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "oldname"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PAsPat (Ident "newname") (PParen (PApp (UnQual (Ident "Just")) [PWildCard])),PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Right"))) (Var (UnQual (Ident "newname"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "combineName") [PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n1")]),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "n2")])] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Left"))) (Tuple Boxed [Var (UnQual (Ident "n1")),Var (UnQual (Ident "n2"))]))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "showName") [PParen (PApp (UnQual (Ident "CStrLit")) [PVar (Ident "cstr"),PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "show"))) (Var (UnQual (Ident "cstr"))))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "withAsmNameAttrs"] (TyFun (TyTuple Boxed [TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CStrLit"))),TyList (TyCon (UnQual (Ident "CAttr")))]) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "withAsmNameAttrs") [PTuple Boxed [PVar (Ident "mAsmName"),PVar (Ident "newAttrs")],PVar (Ident "declr")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "setAsmName"))) (Var (UnQual (Ident "mAsmName")))) (Paren (App (App (Var (UnQual (Ident "appendObjAttrsR"))) (Var (UnQual (Ident "newAttrs")))) (Var (UnQual (Ident "declr"))))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "appendDeclrAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PList []]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Var (UnQual (Ident "empty")))) (Var (UnQual (Ident "asmname")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendDeclrAttrs") [PVar (Ident "newAttrs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PParen (PApp (UnQual (Ident "Reversed")) [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) (PVar (Ident "xs")))]),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (App (Con (UnQual (Ident "Reversed"))) (Paren (InfixApp (App (Var (UnQual (Ident "appendAttrs"))) (Var (UnQual (Ident "x")))) (QConOp (Special Cons)) (Var (UnQual (Ident "xs")))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CPtrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CArrDeclr")) [PVar (Ident "typeQuals"),PVar (Ident "arraySize"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Paren (InfixApp (Var (UnQual (Ident "typeQuals"))) (QVarOp (UnQual (Symbol "++"))) (App (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CAttrQual")))) (Var (UnQual (Ident "newAttrs"))))))) (Var (UnQual (Ident "arraySize")))) (Var (UnQual (Ident "at"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "appendAttrs") [PParen (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "parameters"),PVar (Ident "cattrs"),PVar (Ident "at")])] Nothing (UnGuardedRhs (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "parameters")))) (Paren (InfixApp (Var (UnQual (Ident "cattrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "newAttrs")))))) (Var (UnQual (Ident "at"))))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "ptrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "ptrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (Con (UnQual (Ident "CPtrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "funDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyParen (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyList (TyCon (UnQual (Ident "Ident"))))) (TyTuple Boxed [TyList (TyCon (UnQual (Ident "CDecl"))),TyCon (UnQual (Ident "Bool"))]))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "funDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "dcattrs"),PVar (Ident "dat")]),PVar (Ident "params"),PVar (Ident "cattrs"),PVar (Ident "at")] Nothing (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CFunDeclr"))) (Var (UnQual (Ident "params")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "dcattrs")))) (Var (UnQual (Ident "dat"))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "arrDeclr"] (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyFun (TyList (TyCon (UnQual (Ident "CTypeQual")))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyCon (UnQual (Ident "Bool"))) (TyFun (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "CExpr")))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "arrDeclr") [PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "ident"),PVar (Ident "derivedDeclrs"),PVar (Ident "asmname"),PVar (Ident "cattrs"),PVar (Ident "dat")]),PVar (Ident "tyquals"),PVar (Ident "var_sized"),PVar (Ident "static_size"),PVar (Ident "size_expr_opt"),PVar (Ident "at")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "arr_sz"))) (QVarOp (UnQual (Ident "seq"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Var (UnQual (Ident "ident")))) (Paren (InfixApp (Var (UnQual (Ident "derivedDeclrs"))) (QVarOp (UnQual (Ident "snoc"))) (App (App (App (Con (UnQual (Ident "CArrDeclr"))) (Var (UnQual (Ident "tyquals")))) (Var (UnQual (Ident "arr_sz")))) (Var (UnQual (Ident "at"))))))) (Var (UnQual (Ident "asmname")))) (Var (UnQual (Ident "cattrs")))) (Var (UnQual (Ident "dat"))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "arr_sz")) (UnGuardedRhs (Case (Var (UnQual (Ident "size_expr_opt"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "e")]) (UnGuardedRhs (App (App (Con (UnQual (Ident "CArrSize"))) (Var (UnQual (Ident "static_size")))) (Var (UnQual (Ident "e"))))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Con (UnQual (Ident "CNoArrSize"))) (Var (UnQual (Ident "var_sized"))))) Nothing])) Nothing]))],TypeSig (SrcLoc "" -1 -1) [Ident "liftTypeQuals"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CTypeQual"))))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "liftTypeQuals")) (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "map"))) (Con (UnQual (Ident "CTypeQual")))) (QVarOp (UnQual (Symbol "."))) (Var (UnQual (Ident "reverse"))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "liftCAttrs"] (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "liftCAttrs")) (UnGuardedRhs (App (Var (UnQual (Ident "map"))) (Paren (InfixApp (Con (UnQual (Ident "CTypeQual"))) (QVarOp (UnQual (Symbol "."))) (Con (UnQual (Ident "CAttrQual"))))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "addTrailingAttrs"] (TyFun (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))) (TyFun (TyList (TyCon (UnQual (Ident "CAttr")))) (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyList (TyCon (UnQual (Ident "CDeclSpec"))))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "addTrailingAttrs") [PVar (Ident "declspecs"),PVar (Ident "new_attrs")] Nothing (UnGuardedRhs (Case (App (Var (UnQual (Ident "viewr"))) (Var (UnQual (Ident "declspecs")))) [Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CSUType")) [PParen (PApp (UnQual (Ident "CStruct")) [PVar (Ident "tag"),PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "su_node")]),PVar (Ident "node")])]]) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CSUType"))) (Paren (App (App (App (App (App (Con (UnQual (Ident "CStruct"))) (Var (UnQual (Ident "tag")))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "su_node")))))) (Var (UnQual (Ident "node"))))))))) Nothing,Alt (SrcLoc "" -1 -1) (PTuple Boxed [PVar (Ident "specs_init"),PApp (UnQual (Ident "CTypeSpec")) [PParen (PApp (UnQual (Ident "CEnumType")) [PParen (PApp (UnQual (Ident "CEnum")) [PVar (Ident "name"),PParen (PApp (UnQual (Ident "Just")) [PVar (Ident "def")]),PVar (Ident "def_attrs"),PVar (Ident "e_node")]),PVar (Ident "node")])]]) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "specs_init"))) (QVarOp (UnQual (Ident "snoc"))) (App (Con (UnQual (Ident "CTypeSpec"))) (Paren (App (App (Con (UnQual (Ident "CEnumType"))) (Paren (App (App (App (App (Con (UnQual (Ident "CEnum"))) (Var (UnQual (Ident "name")))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "def")))))) (Paren (InfixApp (Var (UnQual (Ident "def_attrs"))) (QVarOp (UnQual (Symbol "++"))) (Var (UnQual (Ident "new_attrs")))))) (Var (UnQual (Ident "e_node")))))) (Var (UnQual (Ident "node"))))))))) Nothing,Alt (SrcLoc "" -1 -1) PWildCard (UnGuardedRhs (InfixApp (Var (UnQual (Ident "declspecs"))) (QVarOp (UnQual (Ident "rappend"))) (Paren (App (Var (UnQual (Ident "liftCAttrs"))) (Var (UnQual (Ident "new_attrs"))))))) Nothing])) Nothing],InstDecl (SrcLoc "" -1 -1) Nothing [] [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyList (TyVar (Ident "a"))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PInfixApp (PVar (Ident "x")) (Special Cons) PWildCard)] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) Nothing])],InstDecl (SrcLoc "" -1 -1) Nothing [] [ClassA (UnQual (Ident "Pos")) [TyVar (Ident "a")]] (UnQual (Ident "Pos")) [TyParen (TyApp (TyCon (UnQual (Ident "Reversed"))) (TyVar (Ident "a")))] [InsDecl (FunBind [Match (SrcLoc "" -1 -1) (Ident "posOf") [PParen (PApp (UnQual (Ident "Reversed")) [PVar (Ident "x")])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "posOf"))) (Var (UnQual (Ident "x"))))) Nothing])],TypeSig (SrcLoc "" -1 -1) [Ident "emptyDeclr"] (TyCon (UnQual (Ident "CDeclrR"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "emptyDeclr")) (UnGuardedRhs (App (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Con (UnQual (Ident "Nothing")))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List [])) (Var (UnQual (Ident "undefNode"))))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "mkVarDeclr"] (TyFun (TyCon (UnQual (Ident "Ident"))) (TyFun (TyCon (UnQual (Ident "NodeInfo"))) (TyCon (UnQual (Ident "CDeclrR"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "mkVarDeclr") [PVar (Ident "ident")] Nothing (UnGuardedRhs (App (App (App (App (Con (UnQual (Ident "CDeclrR"))) (Paren (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "ident")))))) (Var (UnQual (Ident "empty")))) (Con (UnQual (Ident "Nothing")))) (List []))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "doDeclIdent"] (TyFun (TyList (TyCon (UnQual (Ident "CDeclSpec")))) (TyFun (TyCon (UnQual (Ident "CDeclrR"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "doDeclIdent") [PVar (Ident "declspecs"),PParen (PApp (UnQual (Ident "CDeclrR")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "mIdent"))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (App (App (Var (UnQual (Ident "any"))) (Var (UnQual (Ident "iypedef")))) (Var (UnQual (Ident "declspecs"))))] (App (Var (UnQual (Ident "addTypedef"))) (Var (UnQual (Ident "ident")))),GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))]) Nothing])) (Just (BDecls [FunBind [Match (SrcLoc "" -1 -1) (Ident "iypedef") [PParen (PApp (UnQual (Ident "CStorageSpec")) [PParen (PApp (UnQual (Ident "CTypedef")) [PWildCard])])] Nothing (UnGuardedRhs (Con (UnQual (Ident "True")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "iypedef") [PWildCard] Nothing (UnGuardedRhs (Con (UnQual (Ident "False")))) Nothing]]))],TypeSig (SrcLoc "" -1 -1) [Ident "doFuncParamDeclIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (Special UnitCon)))),FunBind [Match (SrcLoc "" -1 -1) (Ident "doFuncParamDeclIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PWildCard,PParen (PInfixApp (PApp (UnQual (Ident "CFunDeclr")) [PVar (Ident "params"),PWildCard,PWildCard]) (Special Cons) PWildCard),PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "sequence_"))) (ListComp (Case (App (Var (UnQual (Ident "getCDeclrIdent"))) (Var (UnQual (Ident "declr")))) [Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Nothing")) []) (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing,Alt (SrcLoc "" -1 -1) (PApp (UnQual (Ident "Just")) [PVar (Ident "ident")]) (UnGuardedRhs (App (Var (UnQual (Ident "shadowTypedef"))) (Var (UnQual (Ident "ident"))))) Nothing]) [QualStmt (Generator (SrcLoc "" -1 -1) (PApp (UnQual (Ident "CDecl")) [PWildCard,PVar (Ident "dle"),PWildCard]) (App (App (App (Var (UnQual (Ident "either"))) (Paren (App (Var (UnQual (Ident "const"))) (List [])))) (Var (UnQual (Ident "fst")))) (Var (UnQual (Ident "params"))))),QualStmt (Generator (SrcLoc "" -1 -1) (PTuple Boxed [PApp (UnQual (Ident "Just")) [PVar (Ident "declr")],PWildCard,PWildCard]) (Var (UnQual (Ident "dle"))))]))) Nothing,Match (SrcLoc "" -1 -1) (Ident "doFuncParamDeclIdent") [PWildCard] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "return"))) (Con (Special UnitCon)))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "getCDeclrIdent"] (TyFun (TyCon (UnQual (Ident "CDeclr"))) (TyApp (TyCon (UnQual (Ident "Maybe"))) (TyCon (UnQual (Ident "Ident"))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "getCDeclrIdent") [PParen (PApp (UnQual (Ident "CDeclr")) [PVar (Ident "mIdent"),PWildCard,PWildCard,PWildCard,PWildCard])] Nothing (UnGuardedRhs (Var (UnQual (Ident "mIdent")))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "happyError"] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "happyError")) (UnGuardedRhs (Var (UnQual (Ident "parseError")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "parseC"] (TyFun (TyCon (UnQual (Ident "InputStream"))) (TyFun (TyCon (UnQual (Ident "Position"))) (TyApp (TyApp (TyCon (UnQual (Ident "Either"))) (TyCon (UnQual (Ident "ParseError")))) (TyCon (UnQual (Ident "CTranslUnit")))))),FunBind [Match (SrcLoc "" -1 -1) (Ident "parseC") [PVar (Ident "input"),PVar (Ident "initialPosition")] Nothing (UnGuardedRhs (InfixApp (App (Var (UnQual (Ident "fmap"))) (Var (UnQual (Ident "fst")))) (QVarOp (UnQual (Symbol "$"))) (App (App (App (App (App (Var (UnQual (Ident "execParser"))) (Var (UnQual (Ident "translUnitP")))) (Var (UnQual (Ident "input")))) (Var (UnQual (Ident "initialPosition")))) (Var (UnQual (Ident "builtinTypeNames")))) (Paren (App (Var (UnQual (Ident "namesStartingFrom"))) (Lit (Int 0))))))) Nothing],TypeSig (SrcLoc "" -1 -1) [Ident "translUnitP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CTranslUnit")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "translUnitP")) (UnGuardedRhs (Var (UnQual (Ident "translation_unit")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "extDeclP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExtDecl")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "extDeclP")) (UnGuardedRhs (Var (UnQual (Ident "external_declaration")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "statementP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CStat")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "statementP")) (UnGuardedRhs (Var (UnQual (Ident "statement")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "expressionP"] (TyApp (TyCon (UnQual (Ident "P"))) (TyCon (UnQual (Ident "CExpr")))),PatBind (SrcLoc "" -1 -1) (PVar (Ident "expressionP")) (UnGuardedRhs (Var (UnQual (Ident "expression")))) Nothing,DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Happy_IntList") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyCons") [TyCon (UnQual (Ident "Int#")),TyCon (UnQual (Ident "Happy_IntList"))])] [],InfixDecl (SrcLoc "" -1 -1) AssocRight 9 [ConOp (Ident "HappyStk")],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "HappyStk") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyStk") [TyVar (Ident "a"),TyParen (TyApp (TyCon (UnQual (Ident "HappyStk"))) (TyVar (Ident "a")))])] [],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyParse") [PVar (Ident "start_state")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "start_state")))) (Var (UnQual (Ident "notHappyAtAll")))) (Var (UnQual (Ident "notHappyAtAll"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyAccept") [PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PInfixApp PWildCard (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "ans")) (UnQual (Ident "HappyStk")) PWildCard)))] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyAccept") [PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PParen (PApp (UnQual (Ident "HappyStk")) [PVar (Ident "ans"),PWildCard])] Nothing (UnGuardedRhs (App (Paren (App (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "j")))) (Paren (App (Var (UnQual (Ident "happyTcHack"))) (Var (UnQual (Ident "st"))))))) (Paren (App (Var (UnQual (Ident "happyReturn1"))) (Var (UnQual (Ident "ans"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDoAction") [PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (Case (Var (UnQual (Ident "action"))) [Alt (SrcLoc "" -1 -1) (PLit Signless (PrimInt 0)) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyFail"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) Nothing,Alt (SrcLoc "" -1 -1) (PLit Negative (PrimInt 1)) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyAccept"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) Nothing,Alt (SrcLoc "" -1 -1) (PVar (Ident "n")) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "<#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#")))))))] (App (App (App (Paren (InfixApp (Var (UnQual (Ident "happyReduceArr"))) (QVarOp (UnQual (Symbol "!"))) (Var (UnQual (Ident "rule"))))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))]) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "rule")) (UnGuardedRhs (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Paren (App (Var (UnQual (Ident "negateInt#"))) (Paren (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "+#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))))))))) Nothing])),Alt (SrcLoc "" -1 -1) (PVar (Ident "n")) (UnGuardedRhs (App (App (App (App (Var (UnQual (Ident "happyShift"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st"))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) Nothing]))])) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyActOffsets")))) (Var (UnQual (Ident "st"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "i")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "check")) (UnGuardedRhs (If (Paren (InfixApp (Var (UnQual (Ident "off_i"))) (QVarOp (UnQual (Symbol ">=#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 0)) (TyCon (UnQual (Ident "Int#"))))))) (Paren (InfixApp (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyCheck")))) (Var (UnQual (Ident "off_i")))) (QVarOp (UnQual (Symbol "==#"))) (Var (UnQual (Ident "i"))))) (Con (UnQual (Ident "False"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "action")) (GuardedRhss [GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "check")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i")))),GuardedRhs (SrcLoc "" -1 -1) [Qualifier (Var (UnQual (Ident "otherwise")))] (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyDefActions")))) (Var (UnQual (Ident "st"))))]) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "indexShortOffAddr") [PParen (PApp (UnQual (Ident "HappyA#")) [PVar (Ident "arr")]),PVar (Ident "off")] Nothing (UnGuardedRhs (InfixApp (App (App (App (App (Var (UnQual (Ident "narrow16Int#"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "intToInt16#")))) (Var (UnQual (Ident "i")))) (Paren (InfixApp (Var (UnQual (Ident "i"))) (QVarOp (UnQual (Ident "iShiftL#"))) (Lit (PrimInt 16))))) (QVarOp (UnQual (Ident "iShiftRA#"))) (Lit (PrimInt 16)))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "uncheckedShiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (App (Var (UnQual (Ident "word2Int#"))) (Paren (InfixApp (Paren (InfixApp (Var (UnQual (Ident "high"))) (QVarOp (UnQual (Ident "shiftL#"))) (Lit (PrimInt 8)))) (QVarOp (UnQual (Ident "or#"))) (Var (UnQual (Ident "low"))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "high")) (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Paren (InfixApp (Var (UnQual (Ident "off'"))) (QVarOp (UnQual (Symbol "+#"))) (Lit (PrimInt 1)))))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "low")) (UnGuardedRhs (App (Var (UnQual (Ident "int2Word#"))) (Paren (App (Var (UnQual (Ident "ord#"))) (Paren (App (App (Var (UnQual (Ident "indexCharOffAddr#"))) (Var (UnQual (Ident "arr")))) (Var (UnQual (Ident "off'"))))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off'")) (UnGuardedRhs (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "*#"))) (Lit (PrimInt 2)))) Nothing]))],DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "HappyAddr") [] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "HappyA#") [TyCon (UnQual (Ident "Addr#"))])] [],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyShift") [PVar (Ident "new_state"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PAsPat (Ident "stk") (PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) PWildCard))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "i")) (UnGuardedRhs (Paren (Case (App (Var (UnQual (Ident "unsafeCoerce#"))) (Var (UnQual (Ident "x")))) [Alt (SrcLoc "" -1 -1) (PParen (PApp (UnQual (Ident "I#")) [PParen (PVar (Ident "i"))])) (UnGuardedRhs (Var (UnQual (Ident "i")))) Nothing]))) Nothing]) (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "i")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (Var (UnQual (Ident "stk"))))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyShift") [PVar (Ident "new_state"),PVar (Ident "i"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "happyInTok"))) (Paren (Var (UnQual (Ident "tk")))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_0") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_0") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PAsPat (Ident "st") (PParen (PParen (PVar (Ident "action")))),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts"))))))) (Paren (InfixApp (Var (UnQual (Ident "fn"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_1") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_1") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_2") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_2") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_3") [PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happySpecReduce_3") [PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PWildCard,PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PAsPat (Ident "sts") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st") (PParen (PVar (Ident "action")))),PParen PWildCard]))))]))]),PParen (PInfixApp (PVar (Ident "v1")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "v2")) (UnQual (Ident "HappyStk")) (PParen (PInfixApp (PVar (Ident "v3")) (UnQual (Ident "HappyStk")) (PVar (Ident "stk'")))))))] Nothing (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "v1")))) (Var (UnQual (Ident "v2")))) (Var (UnQual (Ident "v3"))))) Nothing]) (App (App (Var (UnQual (Ident "happySeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk'")))))))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "i"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (Case (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "k"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "sts")))) [Alt (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (Let (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "r")) (UnGuardedRhs (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk"))))) Nothing]) (App (App (Var (UnQual (Ident "happyDoSeq"))) (Var (UnQual (Ident "r")))) (Paren (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Var (UnQual (Ident "r")))))))) Nothing])) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyMonadReduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (App (App (App (App (App (Var (UnQual (Ident "happyGoto"))) (Var (UnQual (Ident "nt")))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st1")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "drop_stk")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyFail"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "st")))) (Var (UnQual (Ident "sts")))) (Var (UnQual (Ident "stk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyMonad2Reduce") [PVar (Ident "k"),PVar (Ident "nt"),PVar (Ident "fn"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st"),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyThen1"))) (Paren (App (App (Var (UnQual (Ident "fn"))) (Var (UnQual (Ident "stk")))) (Var (UnQual (Ident "tk")))))) (Paren (Lambda (SrcLoc "" -1 -1) [PVar (Ident "r")] (App (App (App (Var (UnQual (Ident "happyNewToken"))) (Var (UnQual (Ident "new_state")))) (Var (UnQual (Ident "sts1")))) (Paren (InfixApp (Var (UnQual (Ident "r"))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "drop_stk")))))))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PAsPat (Ident "sts1") (PParen (PParen (PApp (UnQual (Ident "HappyCons")) [PParen (PAsPat (Ident "st1") (PParen (PVar (Ident "action")))),PParen PWildCard])))) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Var (UnQual (Ident "k")))) (Paren (App (App (Con (UnQual (Ident "HappyCons"))) (Paren (Var (UnQual (Ident "st"))))) (Paren (Var (UnQual (Ident "sts")))))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "drop_stk")) (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Var (UnQual (Ident "k")))) (Var (UnQual (Ident "stk"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st1"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDrop") [PLit Signless (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyDrop") [PVar (Ident "n"),PParen (PApp (UnQual (Ident "HappyCons")) [PParen PWildCard,PParen (PVar (Ident "t"))])] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDrop"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "t"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDropStk") [PLit Signless (PrimInt 0),PVar (Ident "l")] Nothing (UnGuardedRhs (Var (UnQual (Ident "l")))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyDropStk") [PVar (Ident "n"),PParen (PInfixApp (PVar (Ident "x")) (UnQual (Ident "HappyStk")) (PVar (Ident "xs")))] Nothing (UnGuardedRhs (App (App (Var (UnQual (Ident "happyDropStk"))) (Paren (InfixApp (Var (UnQual (Ident "n"))) (QVarOp (UnQual (Symbol "-#"))) (Paren (ExpTypeSig (SrcLoc "" -1 -1) (Lit (PrimInt 1)) (TyCon (UnQual (Ident "Int#")))))))) (Var (UnQual (Ident "xs"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyGoto") [PVar (Ident "nt"),PVar (Ident "j"),PVar (Ident "tk"),PVar (Ident "st")] Nothing (UnGuardedRhs (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Var (UnQual (Ident "j")))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "new_state"))))) (Just (BDecls [PatBind (SrcLoc "" -1 -1) (PVar (Ident "off")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyGotoOffsets")))) (Var (UnQual (Ident "st"))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "off_i")) (UnGuardedRhs (Paren (InfixApp (Var (UnQual (Ident "off"))) (QVarOp (UnQual (Symbol "+#"))) (Var (UnQual (Ident "nt")))))) Nothing,PatBind (SrcLoc "" -1 -1) (PVar (Ident "new_state")) (UnGuardedRhs (App (App (Var (UnQual (Ident "indexShortOffAddr"))) (Var (UnQual (Ident "happyTable")))) (Var (UnQual (Ident "off_i"))))) Nothing]))],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyFail") [PLit Signless (PrimInt 0),PVar (Ident "tk"),PVar (Ident "old_st"),PWildCard,PVar (Ident "stk")] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "happyError_"))) (Var (UnQual (Ident "tk"))))) Nothing,Match (SrcLoc "" -1 -1) (Ident "happyFail") [PVar (Ident "i"),PVar (Ident "tk"),PParen (PVar (Ident "action")),PVar (Ident "sts"),PVar (Ident "stk")] Nothing (UnGuardedRhs (App (App (App (App (App (Var (UnQual (Ident "happyDoAction"))) (Lit (PrimInt 0))) (Var (UnQual (Ident "tk")))) (Var (UnQual (Ident "action")))) (Var (UnQual (Ident "sts")))) (Paren (InfixApp (Paren (App (Var (UnQual (Ident "unsafeCoerce#"))) (Paren (App (Con (UnQual (Ident "I#"))) (Paren (Var (UnQual (Ident "i")))))))) (QConOp (UnQual (Ident "HappyStk"))) (Var (UnQual (Ident "stk"))))))) Nothing],PatBind (SrcLoc "" -1 -1) (PVar (Ident "notHappyAtAll")) (UnGuardedRhs (App (Var (UnQual (Ident "error"))) (Lit (String "Internal Happy error\n")))) Nothing,TypeSig (SrcLoc "" -1 -1) [Ident "happyTcHack"] (TyFun (TyCon (UnQual (Ident "Int#"))) (TyFun (TyVar (Ident "a")) (TyVar (Ident "a")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyTcHack") [PVar (Ident "x"),PVar (Ident "y")] Nothing (UnGuardedRhs (Var (UnQual (Ident "y")))) Nothing],InlineSig (SrcLoc "" -1 -1) True AlwaysActive (UnQual (Ident "happyTcHack")),TypeSig (SrcLoc "" -1 -1) [Ident "happyDoSeq",Ident "happyDontSeq"] (TyFun (TyVar (Ident "a")) (TyFun (TyVar (Ident "b")) (TyVar (Ident "b")))),FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDoSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (InfixApp (Var (UnQual (Ident "a"))) (QVarOp (UnQual (Ident "seq"))) (Var (UnQual (Ident "b"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "happyDontSeq") [PVar (Ident "a"),PVar (Ident "b")] Nothing (UnGuardedRhs (Var (UnQual (Ident "b")))) Nothing],InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyDoAction")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyTable")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyCheck")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyActOffsets")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyGotoOffsets")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyDefActions")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyShift")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_0")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_1")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_2")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happySpecReduce_3")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyReduce")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyMonadReduce")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyGoto")),InlineSig (SrcLoc "" -1 -1) False AlwaysActive (UnQual (Ident "happyFail"))]
-
diff --git a/tests/examples/CParser.hs.prettyprinter.golden b/tests/examples/CParser.hs.prettyprinter.golden
deleted file mode 100644
--- a/tests/examples/CParser.hs.prettyprinter.golden
+++ /dev/null
@@ -1,6540 +0,0 @@
-{-# OPTIONS -fglasgow-exts -cpp #-}
-{-# LANGUAGE MagicHash #-}
-module Language.C.Parser.Parser
-       (parseC, translUnitP, extDeclP, statementP, expressionP) where
-import Prelude hiding (reverse)
-import qualified Data.List as List
-import Control.Monad (mplus)
-import Language.C.Parser.Builtin (builtinTypeNames)
-import Language.C.Parser.Lexer (lexC, parseError)
-import Language.C.Parser.Tokens
-       (CToken(..), GnuCTok(..), posLenOfTok)
-import Language.C.Parser.ParserMonad
-       (P, failP, execParser, getNewName, addTypedef, shadowTypedef,
-        getCurrentPosition, enterScope, leaveScope, getLastToken,
-        getSavedToken, ParseError(..))
-import Language.C.Data.RList
-import Language.C.Data.InputStream
-import Language.C.Data.Ident
-import Language.C.Data.Name
-import Language.C.Data.Node
-import Language.C.Data.Position
-import Language.C.Syntax
-import Data.Array
-import Array
-import GHC.Exts
-import GlaExts
-
-newtype HappyAbsSyn = HappyAbsSyn (() -> ())
-
-happyIn7 :: (CTranslUnit) -> (HappyAbsSyn)
-happyIn7 x = unsafeCoerce# x
-
-{-# INLINE happyIn7 #-}
-
-happyOut7 :: (HappyAbsSyn) -> (CTranslUnit)
-happyOut7 x = unsafeCoerce# x
-
-{-# INLINE happyOut7 #-}
-
-happyIn8 :: (Reversed [CExtDecl]) -> (HappyAbsSyn)
-happyIn8 x = unsafeCoerce# x
-
-{-# INLINE happyIn8 #-}
-
-happyOut8 :: (HappyAbsSyn) -> (Reversed [CExtDecl])
-happyOut8 x = unsafeCoerce# x
-
-{-# INLINE happyOut8 #-}
-
-happyIn9 :: (CExtDecl) -> (HappyAbsSyn)
-happyIn9 x = unsafeCoerce# x
-
-{-# INLINE happyIn9 #-}
-
-happyOut9 :: (HappyAbsSyn) -> (CExtDecl)
-happyOut9 x = unsafeCoerce# x
-
-{-# INLINE happyOut9 #-}
-
-happyIn10 :: (CFunDef) -> (HappyAbsSyn)
-happyIn10 x = unsafeCoerce# x
-
-{-# INLINE happyIn10 #-}
-
-happyOut10 :: (HappyAbsSyn) -> (CFunDef)
-happyOut10 x = unsafeCoerce# x
-
-{-# INLINE happyOut10 #-}
-
-happyIn11 :: (CDeclr) -> (HappyAbsSyn)
-happyIn11 x = unsafeCoerce# x
-
-{-# INLINE happyIn11 #-}
-
-happyOut11 :: (HappyAbsSyn) -> (CDeclr)
-happyOut11 x = unsafeCoerce# x
-
-{-# INLINE happyOut11 #-}
-
-happyIn12 :: (CStat) -> (HappyAbsSyn)
-happyIn12 x = unsafeCoerce# x
-
-{-# INLINE happyIn12 #-}
-
-happyOut12 :: (HappyAbsSyn) -> (CStat)
-happyOut12 x = unsafeCoerce# x
-
-{-# INLINE happyOut12 #-}
-
-happyIn13 :: (CStat) -> (HappyAbsSyn)
-happyIn13 x = unsafeCoerce# x
-
-{-# INLINE happyIn13 #-}
-
-happyOut13 :: (HappyAbsSyn) -> (CStat)
-happyOut13 x = unsafeCoerce# x
-
-{-# INLINE happyOut13 #-}
-
-happyIn14 :: (CStat) -> (HappyAbsSyn)
-happyIn14 x = unsafeCoerce# x
-
-{-# INLINE happyIn14 #-}
-
-happyOut14 :: (HappyAbsSyn) -> (CStat)
-happyOut14 x = unsafeCoerce# x
-
-{-# INLINE happyOut14 #-}
-
-happyIn15 :: (()) -> (HappyAbsSyn)
-happyIn15 x = unsafeCoerce# x
-
-{-# INLINE happyIn15 #-}
-
-happyOut15 :: (HappyAbsSyn) -> (())
-happyOut15 x = unsafeCoerce# x
-
-{-# INLINE happyOut15 #-}
-
-happyIn16 :: (()) -> (HappyAbsSyn)
-happyIn16 x = unsafeCoerce# x
-
-{-# INLINE happyIn16 #-}
-
-happyOut16 :: (HappyAbsSyn) -> (())
-happyOut16 x = unsafeCoerce# x
-
-{-# INLINE happyOut16 #-}
-
-happyIn17 :: (Reversed [CBlockItem]) -> (HappyAbsSyn)
-happyIn17 x = unsafeCoerce# x
-
-{-# INLINE happyIn17 #-}
-
-happyOut17 :: (HappyAbsSyn) -> (Reversed [CBlockItem])
-happyOut17 x = unsafeCoerce# x
-
-{-# INLINE happyOut17 #-}
-
-happyIn18 :: (CBlockItem) -> (HappyAbsSyn)
-happyIn18 x = unsafeCoerce# x
-
-{-# INLINE happyIn18 #-}
-
-happyOut18 :: (HappyAbsSyn) -> (CBlockItem)
-happyOut18 x = unsafeCoerce# x
-
-{-# INLINE happyOut18 #-}
-
-happyIn19 :: (CBlockItem) -> (HappyAbsSyn)
-happyIn19 x = unsafeCoerce# x
-
-{-# INLINE happyIn19 #-}
-
-happyOut19 :: (HappyAbsSyn) -> (CBlockItem)
-happyOut19 x = unsafeCoerce# x
-
-{-# INLINE happyOut19 #-}
-
-happyIn20 :: (CFunDef) -> (HappyAbsSyn)
-happyIn20 x = unsafeCoerce# x
-
-{-# INLINE happyIn20 #-}
-
-happyOut20 :: (HappyAbsSyn) -> (CFunDef)
-happyOut20 x = unsafeCoerce# x
-
-{-# INLINE happyOut20 #-}
-
-happyIn21 :: (Reversed [Ident]) -> (HappyAbsSyn)
-happyIn21 x = unsafeCoerce# x
-
-{-# INLINE happyIn21 #-}
-
-happyOut21 :: (HappyAbsSyn) -> (Reversed [Ident])
-happyOut21 x = unsafeCoerce# x
-
-{-# INLINE happyOut21 #-}
-
-happyIn22 :: (CStat) -> (HappyAbsSyn)
-happyIn22 x = unsafeCoerce# x
-
-{-# INLINE happyIn22 #-}
-
-happyOut22 :: (HappyAbsSyn) -> (CStat)
-happyOut22 x = unsafeCoerce# x
-
-{-# INLINE happyOut22 #-}
-
-happyIn23 :: (CStat) -> (HappyAbsSyn)
-happyIn23 x = unsafeCoerce# x
-
-{-# INLINE happyIn23 #-}
-
-happyOut23 :: (HappyAbsSyn) -> (CStat)
-happyOut23 x = unsafeCoerce# x
-
-{-# INLINE happyOut23 #-}
-
-happyIn24 :: (CStat) -> (HappyAbsSyn)
-happyIn24 x = unsafeCoerce# x
-
-{-# INLINE happyIn24 #-}
-
-happyOut24 :: (HappyAbsSyn) -> (CStat)
-happyOut24 x = unsafeCoerce# x
-
-{-# INLINE happyOut24 #-}
-
-happyIn25 :: (CStat) -> (HappyAbsSyn)
-happyIn25 x = unsafeCoerce# x
-
-{-# INLINE happyIn25 #-}
-
-happyOut25 :: (HappyAbsSyn) -> (CStat)
-happyOut25 x = unsafeCoerce# x
-
-{-# INLINE happyOut25 #-}
-
-happyIn26 :: (CAsmStmt) -> (HappyAbsSyn)
-happyIn26 x = unsafeCoerce# x
-
-{-# INLINE happyIn26 #-}
-
-happyOut26 :: (HappyAbsSyn) -> (CAsmStmt)
-happyOut26 x = unsafeCoerce# x
-
-{-# INLINE happyOut26 #-}
-
-happyIn27 :: (Maybe CTypeQual) -> (HappyAbsSyn)
-happyIn27 x = unsafeCoerce# x
-
-{-# INLINE happyIn27 #-}
-
-happyOut27 :: (HappyAbsSyn) -> (Maybe CTypeQual)
-happyOut27 x = unsafeCoerce# x
-
-{-# INLINE happyOut27 #-}
-
-happyIn28 :: ([CAsmOperand]) -> (HappyAbsSyn)
-happyIn28 x = unsafeCoerce# x
-
-{-# INLINE happyIn28 #-}
-
-happyOut28 :: (HappyAbsSyn) -> ([CAsmOperand])
-happyOut28 x = unsafeCoerce# x
-
-{-# INLINE happyOut28 #-}
-
-happyIn29 :: (Reversed [CAsmOperand]) -> (HappyAbsSyn)
-happyIn29 x = unsafeCoerce# x
-
-{-# INLINE happyIn29 #-}
-
-happyOut29 :: (HappyAbsSyn) -> (Reversed [CAsmOperand])
-happyOut29 x = unsafeCoerce# x
-
-{-# INLINE happyOut29 #-}
-
-happyIn30 :: (CAsmOperand) -> (HappyAbsSyn)
-happyIn30 x = unsafeCoerce# x
-
-{-# INLINE happyIn30 #-}
-
-happyOut30 :: (HappyAbsSyn) -> (CAsmOperand)
-happyOut30 x = unsafeCoerce# x
-
-{-# INLINE happyOut30 #-}
-
-happyIn31 :: (Reversed [CStrLit]) -> (HappyAbsSyn)
-happyIn31 x = unsafeCoerce# x
-
-{-# INLINE happyIn31 #-}
-
-happyOut31 :: (HappyAbsSyn) -> (Reversed [CStrLit])
-happyOut31 x = unsafeCoerce# x
-
-{-# INLINE happyOut31 #-}
-
-happyIn32 :: (CDecl) -> (HappyAbsSyn)
-happyIn32 x = unsafeCoerce# x
-
-{-# INLINE happyIn32 #-}
-
-happyOut32 :: (HappyAbsSyn) -> (CDecl)
-happyOut32 x = unsafeCoerce# x
-
-{-# INLINE happyOut32 #-}
-
-happyIn33 :: (Reversed [CDecl]) -> (HappyAbsSyn)
-happyIn33 x = unsafeCoerce# x
-
-{-# INLINE happyIn33 #-}
-
-happyOut33 :: (HappyAbsSyn) -> (Reversed [CDecl])
-happyOut33 x = unsafeCoerce# x
-
-{-# INLINE happyOut33 #-}
-
-happyIn34 :: (CDecl) -> (HappyAbsSyn)
-happyIn34 x = unsafeCoerce# x
-
-{-# INLINE happyIn34 #-}
-
-happyOut34 :: (HappyAbsSyn) -> (CDecl)
-happyOut34 x = unsafeCoerce# x
-
-{-# INLINE happyOut34 #-}
-
-happyIn35 :: ((Maybe CStrLit, [CAttr])) -> (HappyAbsSyn)
-happyIn35 x = unsafeCoerce# x
-
-{-# INLINE happyIn35 #-}
-
-happyOut35 :: (HappyAbsSyn) -> ((Maybe CStrLit, [CAttr]))
-happyOut35 x = unsafeCoerce# x
-
-{-# INLINE happyOut35 #-}
-
-happyIn36 :: (CDecl) -> (HappyAbsSyn)
-happyIn36 x = unsafeCoerce# x
-
-{-# INLINE happyIn36 #-}
-
-happyOut36 :: (HappyAbsSyn) -> (CDecl)
-happyOut36 x = unsafeCoerce# x
-
-{-# INLINE happyOut36 #-}
-
-happyIn37 :: ([CDeclSpec]) -> (HappyAbsSyn)
-happyIn37 x = unsafeCoerce# x
-
-{-# INLINE happyIn37 #-}
-
-happyOut37 :: (HappyAbsSyn) -> ([CDeclSpec])
-happyOut37 x = unsafeCoerce# x
-
-{-# INLINE happyOut37 #-}
-
-happyIn38 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)
-happyIn38 x = unsafeCoerce# x
-
-{-# INLINE happyIn38 #-}
-
-happyOut38 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])
-happyOut38 x = unsafeCoerce# x
-
-{-# INLINE happyOut38 #-}
-
-happyIn39 :: (CDeclSpec) -> (HappyAbsSyn)
-happyIn39 x = unsafeCoerce# x
-
-{-# INLINE happyIn39 #-}
-
-happyOut39 :: (HappyAbsSyn) -> (CDeclSpec)
-happyOut39 x = unsafeCoerce# x
-
-{-# INLINE happyOut39 #-}
-
-happyIn40 :: (CStorageSpec) -> (HappyAbsSyn)
-happyIn40 x = unsafeCoerce# x
-
-{-# INLINE happyIn40 #-}
-
-happyOut40 :: (HappyAbsSyn) -> (CStorageSpec)
-happyOut40 x = unsafeCoerce# x
-
-{-# INLINE happyOut40 #-}
-
-happyIn41 :: ([CDeclSpec]) -> (HappyAbsSyn)
-happyIn41 x = unsafeCoerce# x
-
-{-# INLINE happyIn41 #-}
-
-happyOut41 :: (HappyAbsSyn) -> ([CDeclSpec])
-happyOut41 x = unsafeCoerce# x
-
-{-# INLINE happyOut41 #-}
-
-happyIn42 :: (CTypeSpec) -> (HappyAbsSyn)
-happyIn42 x = unsafeCoerce# x
-
-{-# INLINE happyIn42 #-}
-
-happyOut42 :: (HappyAbsSyn) -> (CTypeSpec)
-happyOut42 x = unsafeCoerce# x
-
-{-# INLINE happyOut42 #-}
-
-happyIn43 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)
-happyIn43 x = unsafeCoerce# x
-
-{-# INLINE happyIn43 #-}
-
-happyOut43 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])
-happyOut43 x = unsafeCoerce# x
-
-{-# INLINE happyOut43 #-}
-
-happyIn44 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)
-happyIn44 x = unsafeCoerce# x
-
-{-# INLINE happyIn44 #-}
-
-happyOut44 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])
-happyOut44 x = unsafeCoerce# x
-
-{-# INLINE happyOut44 #-}
-
-happyIn45 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)
-happyIn45 x = unsafeCoerce# x
-
-{-# INLINE happyIn45 #-}
-
-happyOut45 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])
-happyOut45 x = unsafeCoerce# x
-
-{-# INLINE happyOut45 #-}
-
-happyIn46 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)
-happyIn46 x = unsafeCoerce# x
-
-{-# INLINE happyIn46 #-}
-
-happyOut46 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])
-happyOut46 x = unsafeCoerce# x
-
-{-# INLINE happyOut46 #-}
-
-happyIn47 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)
-happyIn47 x = unsafeCoerce# x
-
-{-# INLINE happyIn47 #-}
-
-happyOut47 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])
-happyOut47 x = unsafeCoerce# x
-
-{-# INLINE happyOut47 #-}
-
-happyIn48 :: (Reversed [CDeclSpec]) -> (HappyAbsSyn)
-happyIn48 x = unsafeCoerce# x
-
-{-# INLINE happyIn48 #-}
-
-happyOut48 :: (HappyAbsSyn) -> (Reversed [CDeclSpec])
-happyOut48 x = unsafeCoerce# x
-
-{-# INLINE happyOut48 #-}
-
-happyIn49 :: (CTypeSpec) -> (HappyAbsSyn)
-happyIn49 x = unsafeCoerce# x
-
-{-# INLINE happyIn49 #-}
-
-happyOut49 :: (HappyAbsSyn) -> (CTypeSpec)
-happyOut49 x = unsafeCoerce# x
-
-{-# INLINE happyOut49 #-}
-
-happyIn50 :: (CStructUnion) -> (HappyAbsSyn)
-happyIn50 x = unsafeCoerce# x
-
-{-# INLINE happyIn50 #-}
-
-happyOut50 :: (HappyAbsSyn) -> (CStructUnion)
-happyOut50 x = unsafeCoerce# x
-
-{-# INLINE happyOut50 #-}
-
-happyIn51 :: (Located CStructTag) -> (HappyAbsSyn)
-happyIn51 x = unsafeCoerce# x
-
-{-# INLINE happyIn51 #-}
-
-happyOut51 :: (HappyAbsSyn) -> (Located CStructTag)
-happyOut51 x = unsafeCoerce# x
-
-{-# INLINE happyOut51 #-}
-
-happyIn52 :: (Reversed [CDecl]) -> (HappyAbsSyn)
-happyIn52 x = unsafeCoerce# x
-
-{-# INLINE happyIn52 #-}
-
-happyOut52 :: (HappyAbsSyn) -> (Reversed [CDecl])
-happyOut52 x = unsafeCoerce# x
-
-{-# INLINE happyOut52 #-}
-
-happyIn53 :: (CDecl) -> (HappyAbsSyn)
-happyIn53 x = unsafeCoerce# x
-
-{-# INLINE happyIn53 #-}
-
-happyOut53 :: (HappyAbsSyn) -> (CDecl)
-happyOut53 x = unsafeCoerce# x
-
-{-# INLINE happyOut53 #-}
-
-happyIn54 :: (CDecl) -> (HappyAbsSyn)
-happyIn54 x = unsafeCoerce# x
-
-{-# INLINE happyIn54 #-}
-
-happyOut54 :: (HappyAbsSyn) -> (CDecl)
-happyOut54 x = unsafeCoerce# x
-
-{-# INLINE happyOut54 #-}
-
-happyIn55 :: (CDecl) -> (HappyAbsSyn)
-happyIn55 x = unsafeCoerce# x
-
-{-# INLINE happyIn55 #-}
-
-happyOut55 :: (HappyAbsSyn) -> (CDecl)
-happyOut55 x = unsafeCoerce# x
-
-{-# INLINE happyOut55 #-}
-
-happyIn56 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn)
-happyIn56 x = unsafeCoerce# x
-
-{-# INLINE happyIn56 #-}
-
-happyOut56 :: (HappyAbsSyn) -> ((Maybe CDeclr, Maybe CExpr))
-happyOut56 x = unsafeCoerce# x
-
-{-# INLINE happyOut56 #-}
-
-happyIn57 :: ((Maybe CDeclr, Maybe CExpr)) -> (HappyAbsSyn)
-happyIn57 x = unsafeCoerce# x
-
-{-# INLINE happyIn57 #-}
-
-happyOut57 :: (HappyAbsSyn) -> ((Maybe CDeclr, Maybe CExpr))
-happyOut57 x = unsafeCoerce# x
-
-{-# INLINE happyOut57 #-}
-
-happyIn58 :: (CEnum) -> (HappyAbsSyn)
-happyIn58 x = unsafeCoerce# x
-
-{-# INLINE happyIn58 #-}
-
-happyOut58 :: (HappyAbsSyn) -> (CEnum)
-happyOut58 x = unsafeCoerce# x
-
-{-# INLINE happyOut58 #-}
-
-happyIn59 :: (Reversed [(Ident, Maybe CExpr)]) -> (HappyAbsSyn)
-happyIn59 x = unsafeCoerce# x
-
-{-# INLINE happyIn59 #-}
-
-happyOut59 :: (HappyAbsSyn) -> (Reversed [(Ident, Maybe CExpr)])
-happyOut59 x = unsafeCoerce# x
-
-{-# INLINE happyOut59 #-}
-
-happyIn60 :: ((Ident, Maybe CExpr)) -> (HappyAbsSyn)
-happyIn60 x = unsafeCoerce# x
-
-{-# INLINE happyIn60 #-}
-
-happyOut60 :: (HappyAbsSyn) -> ((Ident, Maybe CExpr))
-happyOut60 x = unsafeCoerce# x
-
-{-# INLINE happyOut60 #-}
-
-happyIn61 :: (CTypeQual) -> (HappyAbsSyn)
-happyIn61 x = unsafeCoerce# x
-
-{-# INLINE happyIn61 #-}
-
-happyOut61 :: (HappyAbsSyn) -> (CTypeQual)
-happyOut61 x = unsafeCoerce# x
-
-{-# INLINE happyOut61 #-}
-
-happyIn62 :: (Reversed [CTypeQual]) -> (HappyAbsSyn)
-happyIn62 x = unsafeCoerce# x
-
-{-# INLINE happyIn62 #-}
-
-happyOut62 :: (HappyAbsSyn) -> (Reversed [CTypeQual])
-happyOut62 x = unsafeCoerce# x
-
-{-# INLINE happyOut62 #-}
-
-happyIn63 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn63 x = unsafeCoerce# x
-
-{-# INLINE happyIn63 #-}
-
-happyOut63 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut63 x = unsafeCoerce# x
-
-{-# INLINE happyOut63 #-}
-
-happyIn64 :: (Maybe CStrLit) -> (HappyAbsSyn)
-happyIn64 x = unsafeCoerce# x
-
-{-# INLINE happyIn64 #-}
-
-happyOut64 :: (HappyAbsSyn) -> (Maybe CStrLit)
-happyOut64 x = unsafeCoerce# x
-
-{-# INLINE happyOut64 #-}
-
-happyIn65 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn65 x = unsafeCoerce# x
-
-{-# INLINE happyIn65 #-}
-
-happyOut65 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut65 x = unsafeCoerce# x
-
-{-# INLINE happyOut65 #-}
-
-happyIn66 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn66 x = unsafeCoerce# x
-
-{-# INLINE happyIn66 #-}
-
-happyOut66 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut66 x = unsafeCoerce# x
-
-{-# INLINE happyOut66 #-}
-
-happyIn67 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn67 x = unsafeCoerce# x
-
-{-# INLINE happyIn67 #-}
-
-happyOut67 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut67 x = unsafeCoerce# x
-
-{-# INLINE happyOut67 #-}
-
-happyIn68 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn68 x = unsafeCoerce# x
-
-{-# INLINE happyIn68 #-}
-
-happyOut68 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut68 x = unsafeCoerce# x
-
-{-# INLINE happyOut68 #-}
-
-happyIn69 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn69 x = unsafeCoerce# x
-
-{-# INLINE happyIn69 #-}
-
-happyOut69 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut69 x = unsafeCoerce# x
-
-{-# INLINE happyOut69 #-}
-
-happyIn70 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn70 x = unsafeCoerce# x
-
-{-# INLINE happyIn70 #-}
-
-happyOut70 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut70 x = unsafeCoerce# x
-
-{-# INLINE happyOut70 #-}
-
-happyIn71 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn71 x = unsafeCoerce# x
-
-{-# INLINE happyIn71 #-}
-
-happyOut71 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut71 x = unsafeCoerce# x
-
-{-# INLINE happyOut71 #-}
-
-happyIn72 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn72 x = unsafeCoerce# x
-
-{-# INLINE happyIn72 #-}
-
-happyOut72 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut72 x = unsafeCoerce# x
-
-{-# INLINE happyOut72 #-}
-
-happyIn73 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn73 x = unsafeCoerce# x
-
-{-# INLINE happyIn73 #-}
-
-happyOut73 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut73 x = unsafeCoerce# x
-
-{-# INLINE happyOut73 #-}
-
-happyIn74 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn74 x = unsafeCoerce# x
-
-{-# INLINE happyIn74 #-}
-
-happyOut74 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut74 x = unsafeCoerce# x
-
-{-# INLINE happyOut74 #-}
-
-happyIn75 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn75 x = unsafeCoerce# x
-
-{-# INLINE happyIn75 #-}
-
-happyOut75 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut75 x = unsafeCoerce# x
-
-{-# INLINE happyOut75 #-}
-
-happyIn76 :: (CDeclr) -> (HappyAbsSyn)
-happyIn76 x = unsafeCoerce# x
-
-{-# INLINE happyIn76 #-}
-
-happyOut76 :: (HappyAbsSyn) -> (CDeclr)
-happyOut76 x = unsafeCoerce# x
-
-{-# INLINE happyOut76 #-}
-
-happyIn77 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn77 x = unsafeCoerce# x
-
-{-# INLINE happyIn77 #-}
-
-happyOut77 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut77 x = unsafeCoerce# x
-
-{-# INLINE happyOut77 #-}
-
-happyIn78 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn78 x = unsafeCoerce# x
-
-{-# INLINE happyIn78 #-}
-
-happyOut78 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut78 x = unsafeCoerce# x
-
-{-# INLINE happyOut78 #-}
-
-happyIn79 :: (([CDecl], Bool)) -> (HappyAbsSyn)
-happyIn79 x = unsafeCoerce# x
-
-{-# INLINE happyIn79 #-}
-
-happyOut79 :: (HappyAbsSyn) -> (([CDecl], Bool))
-happyOut79 x = unsafeCoerce# x
-
-{-# INLINE happyOut79 #-}
-
-happyIn80 :: (Reversed [CDecl]) -> (HappyAbsSyn)
-happyIn80 x = unsafeCoerce# x
-
-{-# INLINE happyIn80 #-}
-
-happyOut80 :: (HappyAbsSyn) -> (Reversed [CDecl])
-happyOut80 x = unsafeCoerce# x
-
-{-# INLINE happyOut80 #-}
-
-happyIn81 :: (CDecl) -> (HappyAbsSyn)
-happyIn81 x = unsafeCoerce# x
-
-{-# INLINE happyIn81 #-}
-
-happyOut81 :: (HappyAbsSyn) -> (CDecl)
-happyOut81 x = unsafeCoerce# x
-
-{-# INLINE happyOut81 #-}
-
-happyIn82 :: (Reversed [Ident]) -> (HappyAbsSyn)
-happyIn82 x = unsafeCoerce# x
-
-{-# INLINE happyIn82 #-}
-
-happyOut82 :: (HappyAbsSyn) -> (Reversed [Ident])
-happyOut82 x = unsafeCoerce# x
-
-{-# INLINE happyOut82 #-}
-
-happyIn83 :: (CDecl) -> (HappyAbsSyn)
-happyIn83 x = unsafeCoerce# x
-
-{-# INLINE happyIn83 #-}
-
-happyOut83 :: (HappyAbsSyn) -> (CDecl)
-happyOut83 x = unsafeCoerce# x
-
-{-# INLINE happyOut83 #-}
-
-happyIn84 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn84 x = unsafeCoerce# x
-
-{-# INLINE happyIn84 #-}
-
-happyOut84 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut84 x = unsafeCoerce# x
-
-{-# INLINE happyOut84 #-}
-
-happyIn85 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn)
-happyIn85 x = unsafeCoerce# x
-
-{-# INLINE happyIn85 #-}
-
-happyOut85 :: (HappyAbsSyn) -> (CDeclrR -> CDeclrR)
-happyOut85 x = unsafeCoerce# x
-
-{-# INLINE happyOut85 #-}
-
-happyIn86 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn)
-happyIn86 x = unsafeCoerce# x
-
-{-# INLINE happyIn86 #-}
-
-happyOut86 :: (HappyAbsSyn) -> (CDeclrR -> CDeclrR)
-happyOut86 x = unsafeCoerce# x
-
-{-# INLINE happyOut86 #-}
-
-happyIn87 :: (CDeclrR -> CDeclrR) -> (HappyAbsSyn)
-happyIn87 x = unsafeCoerce# x
-
-{-# INLINE happyIn87 #-}
-
-happyOut87 :: (HappyAbsSyn) -> (CDeclrR -> CDeclrR)
-happyOut87 x = unsafeCoerce# x
-
-{-# INLINE happyOut87 #-}
-
-happyIn88 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn88 x = unsafeCoerce# x
-
-{-# INLINE happyIn88 #-}
-
-happyOut88 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut88 x = unsafeCoerce# x
-
-{-# INLINE happyOut88 #-}
-
-happyIn89 :: (CDeclrR) -> (HappyAbsSyn)
-happyIn89 x = unsafeCoerce# x
-
-{-# INLINE happyIn89 #-}
-
-happyOut89 :: (HappyAbsSyn) -> (CDeclrR)
-happyOut89 x = unsafeCoerce# x
-
-{-# INLINE happyOut89 #-}
-
-happyIn90 :: (CInit) -> (HappyAbsSyn)
-happyIn90 x = unsafeCoerce# x
-
-{-# INLINE happyIn90 #-}
-
-happyOut90 :: (HappyAbsSyn) -> (CInit)
-happyOut90 x = unsafeCoerce# x
-
-{-# INLINE happyOut90 #-}
-
-happyIn91 :: (Maybe CInit) -> (HappyAbsSyn)
-happyIn91 x = unsafeCoerce# x
-
-{-# INLINE happyIn91 #-}
-
-happyOut91 :: (HappyAbsSyn) -> (Maybe CInit)
-happyOut91 x = unsafeCoerce# x
-
-{-# INLINE happyOut91 #-}
-
-happyIn92 :: (Reversed CInitList) -> (HappyAbsSyn)
-happyIn92 x = unsafeCoerce# x
-
-{-# INLINE happyIn92 #-}
-
-happyOut92 :: (HappyAbsSyn) -> (Reversed CInitList)
-happyOut92 x = unsafeCoerce# x
-
-{-# INLINE happyOut92 #-}
-
-happyIn93 :: ([CDesignator]) -> (HappyAbsSyn)
-happyIn93 x = unsafeCoerce# x
-
-{-# INLINE happyIn93 #-}
-
-happyOut93 :: (HappyAbsSyn) -> ([CDesignator])
-happyOut93 x = unsafeCoerce# x
-
-{-# INLINE happyOut93 #-}
-
-happyIn94 :: (Reversed [CDesignator]) -> (HappyAbsSyn)
-happyIn94 x = unsafeCoerce# x
-
-{-# INLINE happyIn94 #-}
-
-happyOut94 :: (HappyAbsSyn) -> (Reversed [CDesignator])
-happyOut94 x = unsafeCoerce# x
-
-{-# INLINE happyOut94 #-}
-
-happyIn95 :: (CDesignator) -> (HappyAbsSyn)
-happyIn95 x = unsafeCoerce# x
-
-{-# INLINE happyIn95 #-}
-
-happyOut95 :: (HappyAbsSyn) -> (CDesignator)
-happyOut95 x = unsafeCoerce# x
-
-{-# INLINE happyOut95 #-}
-
-happyIn96 :: (CDesignator) -> (HappyAbsSyn)
-happyIn96 x = unsafeCoerce# x
-
-{-# INLINE happyIn96 #-}
-
-happyOut96 :: (HappyAbsSyn) -> (CDesignator)
-happyOut96 x = unsafeCoerce# x
-
-{-# INLINE happyOut96 #-}
-
-happyIn97 :: (CExpr) -> (HappyAbsSyn)
-happyIn97 x = unsafeCoerce# x
-
-{-# INLINE happyIn97 #-}
-
-happyOut97 :: (HappyAbsSyn) -> (CExpr)
-happyOut97 x = unsafeCoerce# x
-
-{-# INLINE happyOut97 #-}
-
-happyIn98 :: (Reversed [CDesignator]) -> (HappyAbsSyn)
-happyIn98 x = unsafeCoerce# x
-
-{-# INLINE happyIn98 #-}
-
-happyOut98 :: (HappyAbsSyn) -> (Reversed [CDesignator])
-happyOut98 x = unsafeCoerce# x
-
-{-# INLINE happyOut98 #-}
-
-happyIn99 :: (CExpr) -> (HappyAbsSyn)
-happyIn99 x = unsafeCoerce# x
-
-{-# INLINE happyIn99 #-}
-
-happyOut99 :: (HappyAbsSyn) -> (CExpr)
-happyOut99 x = unsafeCoerce# x
-
-{-# INLINE happyOut99 #-}
-
-happyIn100 :: (Reversed [CExpr]) -> (HappyAbsSyn)
-happyIn100 x = unsafeCoerce# x
-
-{-# INLINE happyIn100 #-}
-
-happyOut100 :: (HappyAbsSyn) -> (Reversed [CExpr])
-happyOut100 x = unsafeCoerce# x
-
-{-# INLINE happyOut100 #-}
-
-happyIn101 :: (CExpr) -> (HappyAbsSyn)
-happyIn101 x = unsafeCoerce# x
-
-{-# INLINE happyIn101 #-}
-
-happyOut101 :: (HappyAbsSyn) -> (CExpr)
-happyOut101 x = unsafeCoerce# x
-
-{-# INLINE happyOut101 #-}
-
-happyIn102 :: (Located CUnaryOp) -> (HappyAbsSyn)
-happyIn102 x = unsafeCoerce# x
-
-{-# INLINE happyIn102 #-}
-
-happyOut102 :: (HappyAbsSyn) -> (Located CUnaryOp)
-happyOut102 x = unsafeCoerce# x
-
-{-# INLINE happyOut102 #-}
-
-happyIn103 :: (CExpr) -> (HappyAbsSyn)
-happyIn103 x = unsafeCoerce# x
-
-{-# INLINE happyIn103 #-}
-
-happyOut103 :: (HappyAbsSyn) -> (CExpr)
-happyOut103 x = unsafeCoerce# x
-
-{-# INLINE happyOut103 #-}
-
-happyIn104 :: (CExpr) -> (HappyAbsSyn)
-happyIn104 x = unsafeCoerce# x
-
-{-# INLINE happyIn104 #-}
-
-happyOut104 :: (HappyAbsSyn) -> (CExpr)
-happyOut104 x = unsafeCoerce# x
-
-{-# INLINE happyOut104 #-}
-
-happyIn105 :: (CExpr) -> (HappyAbsSyn)
-happyIn105 x = unsafeCoerce# x
-
-{-# INLINE happyIn105 #-}
-
-happyOut105 :: (HappyAbsSyn) -> (CExpr)
-happyOut105 x = unsafeCoerce# x
-
-{-# INLINE happyOut105 #-}
-
-happyIn106 :: (CExpr) -> (HappyAbsSyn)
-happyIn106 x = unsafeCoerce# x
-
-{-# INLINE happyIn106 #-}
-
-happyOut106 :: (HappyAbsSyn) -> (CExpr)
-happyOut106 x = unsafeCoerce# x
-
-{-# INLINE happyOut106 #-}
-
-happyIn107 :: (CExpr) -> (HappyAbsSyn)
-happyIn107 x = unsafeCoerce# x
-
-{-# INLINE happyIn107 #-}
-
-happyOut107 :: (HappyAbsSyn) -> (CExpr)
-happyOut107 x = unsafeCoerce# x
-
-{-# INLINE happyOut107 #-}
-
-happyIn108 :: (CExpr) -> (HappyAbsSyn)
-happyIn108 x = unsafeCoerce# x
-
-{-# INLINE happyIn108 #-}
-
-happyOut108 :: (HappyAbsSyn) -> (CExpr)
-happyOut108 x = unsafeCoerce# x
-
-{-# INLINE happyOut108 #-}
-
-happyIn109 :: (CExpr) -> (HappyAbsSyn)
-happyIn109 x = unsafeCoerce# x
-
-{-# INLINE happyIn109 #-}
-
-happyOut109 :: (HappyAbsSyn) -> (CExpr)
-happyOut109 x = unsafeCoerce# x
-
-{-# INLINE happyOut109 #-}
-
-happyIn110 :: (CExpr) -> (HappyAbsSyn)
-happyIn110 x = unsafeCoerce# x
-
-{-# INLINE happyIn110 #-}
-
-happyOut110 :: (HappyAbsSyn) -> (CExpr)
-happyOut110 x = unsafeCoerce# x
-
-{-# INLINE happyOut110 #-}
-
-happyIn111 :: (CExpr) -> (HappyAbsSyn)
-happyIn111 x = unsafeCoerce# x
-
-{-# INLINE happyIn111 #-}
-
-happyOut111 :: (HappyAbsSyn) -> (CExpr)
-happyOut111 x = unsafeCoerce# x
-
-{-# INLINE happyOut111 #-}
-
-happyIn112 :: (CExpr) -> (HappyAbsSyn)
-happyIn112 x = unsafeCoerce# x
-
-{-# INLINE happyIn112 #-}
-
-happyOut112 :: (HappyAbsSyn) -> (CExpr)
-happyOut112 x = unsafeCoerce# x
-
-{-# INLINE happyOut112 #-}
-
-happyIn113 :: (CExpr) -> (HappyAbsSyn)
-happyIn113 x = unsafeCoerce# x
-
-{-# INLINE happyIn113 #-}
-
-happyOut113 :: (HappyAbsSyn) -> (CExpr)
-happyOut113 x = unsafeCoerce# x
-
-{-# INLINE happyOut113 #-}
-
-happyIn114 :: (CExpr) -> (HappyAbsSyn)
-happyIn114 x = unsafeCoerce# x
-
-{-# INLINE happyIn114 #-}
-
-happyOut114 :: (HappyAbsSyn) -> (CExpr)
-happyOut114 x = unsafeCoerce# x
-
-{-# INLINE happyOut114 #-}
-
-happyIn115 :: (CExpr) -> (HappyAbsSyn)
-happyIn115 x = unsafeCoerce# x
-
-{-# INLINE happyIn115 #-}
-
-happyOut115 :: (HappyAbsSyn) -> (CExpr)
-happyOut115 x = unsafeCoerce# x
-
-{-# INLINE happyOut115 #-}
-
-happyIn116 :: (Located CAssignOp) -> (HappyAbsSyn)
-happyIn116 x = unsafeCoerce# x
-
-{-# INLINE happyIn116 #-}
-
-happyOut116 :: (HappyAbsSyn) -> (Located CAssignOp)
-happyOut116 x = unsafeCoerce# x
-
-{-# INLINE happyOut116 #-}
-
-happyIn117 :: (CExpr) -> (HappyAbsSyn)
-happyIn117 x = unsafeCoerce# x
-
-{-# INLINE happyIn117 #-}
-
-happyOut117 :: (HappyAbsSyn) -> (CExpr)
-happyOut117 x = unsafeCoerce# x
-
-{-# INLINE happyOut117 #-}
-
-happyIn118 :: (Reversed [CExpr]) -> (HappyAbsSyn)
-happyIn118 x = unsafeCoerce# x
-
-{-# INLINE happyIn118 #-}
-
-happyOut118 :: (HappyAbsSyn) -> (Reversed [CExpr])
-happyOut118 x = unsafeCoerce# x
-
-{-# INLINE happyOut118 #-}
-
-happyIn119 :: (Maybe CExpr) -> (HappyAbsSyn)
-happyIn119 x = unsafeCoerce# x
-
-{-# INLINE happyIn119 #-}
-
-happyOut119 :: (HappyAbsSyn) -> (Maybe CExpr)
-happyOut119 x = unsafeCoerce# x
-
-{-# INLINE happyOut119 #-}
-
-happyIn120 :: (Maybe CExpr) -> (HappyAbsSyn)
-happyIn120 x = unsafeCoerce# x
-
-{-# INLINE happyIn120 #-}
-
-happyOut120 :: (HappyAbsSyn) -> (Maybe CExpr)
-happyOut120 x = unsafeCoerce# x
-
-{-# INLINE happyOut120 #-}
-
-happyIn121 :: (CExpr) -> (HappyAbsSyn)
-happyIn121 x = unsafeCoerce# x
-
-{-# INLINE happyIn121 #-}
-
-happyOut121 :: (HappyAbsSyn) -> (CExpr)
-happyOut121 x = unsafeCoerce# x
-
-{-# INLINE happyOut121 #-}
-
-happyIn122 :: (CConst) -> (HappyAbsSyn)
-happyIn122 x = unsafeCoerce# x
-
-{-# INLINE happyIn122 #-}
-
-happyOut122 :: (HappyAbsSyn) -> (CConst)
-happyOut122 x = unsafeCoerce# x
-
-{-# INLINE happyOut122 #-}
-
-happyIn123 :: (CStrLit) -> (HappyAbsSyn)
-happyIn123 x = unsafeCoerce# x
-
-{-# INLINE happyIn123 #-}
-
-happyOut123 :: (HappyAbsSyn) -> (CStrLit)
-happyOut123 x = unsafeCoerce# x
-
-{-# INLINE happyOut123 #-}
-
-happyIn124 :: (Reversed [CString]) -> (HappyAbsSyn)
-happyIn124 x = unsafeCoerce# x
-
-{-# INLINE happyIn124 #-}
-
-happyOut124 :: (HappyAbsSyn) -> (Reversed [CString])
-happyOut124 x = unsafeCoerce# x
-
-{-# INLINE happyOut124 #-}
-
-happyIn125 :: (Ident) -> (HappyAbsSyn)
-happyIn125 x = unsafeCoerce# x
-
-{-# INLINE happyIn125 #-}
-
-happyOut125 :: (HappyAbsSyn) -> (Ident)
-happyOut125 x = unsafeCoerce# x
-
-{-# INLINE happyOut125 #-}
-
-happyIn126 :: ([CAttr]) -> (HappyAbsSyn)
-happyIn126 x = unsafeCoerce# x
-
-{-# INLINE happyIn126 #-}
-
-happyOut126 :: (HappyAbsSyn) -> ([CAttr])
-happyOut126 x = unsafeCoerce# x
-
-{-# INLINE happyOut126 #-}
-
-happyIn127 :: ([CAttr]) -> (HappyAbsSyn)
-happyIn127 x = unsafeCoerce# x
-
-{-# INLINE happyIn127 #-}
-
-happyOut127 :: (HappyAbsSyn) -> ([CAttr])
-happyOut127 x = unsafeCoerce# x
-
-{-# INLINE happyOut127 #-}
-
-happyIn128 :: ([CAttr]) -> (HappyAbsSyn)
-happyIn128 x = unsafeCoerce# x
-
-{-# INLINE happyIn128 #-}
-
-happyOut128 :: (HappyAbsSyn) -> ([CAttr])
-happyOut128 x = unsafeCoerce# x
-
-{-# INLINE happyOut128 #-}
-
-happyIn129 :: (Reversed [CAttr]) -> (HappyAbsSyn)
-happyIn129 x = unsafeCoerce# x
-
-{-# INLINE happyIn129 #-}
-
-happyOut129 :: (HappyAbsSyn) -> (Reversed [CAttr])
-happyOut129 x = unsafeCoerce# x
-
-{-# INLINE happyOut129 #-}
-
-happyIn130 :: (Maybe CAttr) -> (HappyAbsSyn)
-happyIn130 x = unsafeCoerce# x
-
-{-# INLINE happyIn130 #-}
-
-happyOut130 :: (HappyAbsSyn) -> (Maybe CAttr)
-happyOut130 x = unsafeCoerce# x
-
-{-# INLINE happyOut130 #-}
-
-happyIn131 :: (Reversed [CExpr]) -> (HappyAbsSyn)
-happyIn131 x = unsafeCoerce# x
-
-{-# INLINE happyIn131 #-}
-
-happyOut131 :: (HappyAbsSyn) -> (Reversed [CExpr])
-happyOut131 x = unsafeCoerce# x
-
-{-# INLINE happyOut131 #-}
-
-happyInTok :: CToken -> (HappyAbsSyn)
-happyInTok x = unsafeCoerce# x
-
-{-# INLINE happyInTok #-}
-
-happyOutTok :: (HappyAbsSyn) -> CToken
-happyOutTok x = unsafeCoerce# x
-
-{-# INLINE happyOutTok #-}
-
-happyActOffsets :: HappyAddr
-happyActOffsets
-  = HappyA#
-      "\NUL\NUL\GS\SI\211\t1\SI\NUL\NUL\128\a\NUL\NUL\DEL\tw\SI1\SI\NUL\NUL\200\t\US\ENQ\ENQ\ENQ\DEL\ETX\240\EOTe\bT\bI\b>\b\198\EOT\NUL\NUL+\b\239\a\NUL\NUL\NUL\NUL\v\t\NUL\NUL\NUL\NUL\205\SO\205\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\EOT\175\SO\150\SO\NUL\NUL\NUL\NUL\NUL\NUL\246\a\NUL\NUL2\SO\DC4\SO\DC4\SO\&H\bG\b$\b\182\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\a\230\a\NUL\NUL\NUL\NULJ\ENQ\210\a\251\r\208\a\214\a\211\t\245\a$\NUL\237\a\251\r\236\a\213\a\198\a\NUL\NULv\a\NUL\NUL\174\a\NUL\NUL\149\EOT\142\EOT\SOH\SOH\213\DC1\NUL\NUL\SOH\SOH\NUL\NUL\154\EM\154\EM\DC1\CAN\SOH\CAN!\b!\b\NUL\NUL\NUL\NULq\a\NUL\NUL\166\DC1\NUL\NUL\NUL\NUL\NUL\NUL\217\SOH\NUL\NUL\NUL\NUL\NUL\NULJ\ENQ\137\DC2\NUL\NUL=\SOH=\SOH\203\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULk\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\187\a\GS\SIU\a\NUL\NUL\184\ao\tz\SOHY\a[\a\179\DC2\NUL\NUL\NUL\NULK\NUL\178\a\180\t\170\aK\NUL\134\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL\167\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL8\CAN\NUL\NUL\157\a\NUL\NUL\148\CAN\255\nr\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULw\DC1\151\a\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULg\a_\a\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULb\a\NUL\NULn\STXH\STX\SI\NULR\a\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NUL\NUL\NUL{\a\NUL\NULO\aS\a\NUL\NUL\ESC\a\NUL\NUL\ESC\a\NUL\NUL\NUL\NUL\251\r\251\r\NUL\NULM\a\251\rA\a\251\r\NUL\NULC\b\DC4\a\211\t\NUL\NUL\NUL\NUL\NUL\NUL\US\NUL\NUL\NULe\a\NUL\NUL.\a\244\ACK\NUL\NUL\195\SUB\195\SUB\251\r\NUL\NUL\v\t\NUL\NUL\NUL\NUL\240\ACK\NUL\NUL\NUL\NUL\v\t\NUL\NUL\v\t\NUL\NUL\NUL\NUL\NUL\NULN\a\151\ETX\231\SUB\171\EOT\171\EOTz\nL\aK\a\159\SUB\251\r\251\r\151\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\r\251\r6\EOT6\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\an\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\t\163\t\138\EOT\138\EOTO\EOTO\EOTO\EOTO\EOT\DEL\ETX\DEL\ETX\GS\EOT5\a+\a\SYN\a\f\a\251\r%\a\NUL\NUL\251\ACK\NUL\NULa\r\NUL\NUL\NUL\NUL\NUL\NUL\183\ACKW\SUB3\SUBH\DC1\NUL\SI\NUL\NUL\NUL\NUL\SI\a\SO\a\NUL\NUL\243\ACK\221\ACK\219\ACK\199\ACK\211\t\223\a\173\ACK\148\ACK|\ACK\211\t\251\r\NUL\NUL\203\ACKl\EM\171\ACK\167\ACK\NUL\NUL\196\ACK\NUL\NUL\195\ACK\193\ACK\234\NUL\216\NUL8\CAN\161\ACK]\ACK\170\ACK\NUL\NULo\t8\CAN\134\ACK\NUL\NUL\NUL\NUL\RS\EM[\v\NUL\NUL\NUL\NUL\177\SOH\147\SOH\142\ACK\136\ACK\SI\NULG\NUL\147\SOH\NUL\NUL8\CANf\ACK\NUL\NULI\ACK\NUL\NULo\t>\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\237\SOH\NUL\NULb\ACK\NUL\NUL8\CAN=\ACK\NUL\NUL\155\n\NUL\NUL)\ACK\224\v\t\NUL\206\ENQt\STX\255\SIt\STX!\b!\b\208\SI$\ACK\251\ENQ\NUL\NUL\ESC\SOHE\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\EM\DC1\216\NUL\234\DLEZ\DC2o\t8\CAN\EOT\ACK\NUL\NUL\EM\ACK\158\t\DC2\NUL\DC2\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\220\f\t\ACK\244\ENQ\204\ETX\ETX\ACK\254\ENQw\NUL\202\NUL\NUL\NUL\NUL\NUL\239\ENQ\NUL\NUL\NUL\NUL\205\STX\NUL\NUL\203\ENQ\204\ETX\170\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\220\fK\t\NUL\NUL\SI\NUL\NUL\NUL\253\f\NUL\NUL\200\ENQ\193\ENQ\140\ENQ\140\ENQ\187\DLE\NUL\NUL\241\NUL\201\NUL\140\ENQ\NUL\NULV\ENQf\CAN\NUL\NULS\ENQ\NUL\NUL\240\CAN\194\CAN\161\SI\222\DC2S\ENQS\ENQ\NUL\NULr\SII\aS\ENQ\NUL\NULS\ENQS\ENQ\NUL\NUL\171\EOTb\f\157\ENQ\155\ENQ\t\NUL\NUL\NUL\144\ENQF\ENQ7\n\t\NUL\NUL\NUL\NUL\NULo\t8\CANm\ENQ\NUL\NUL\143\ENQ\141\ENQ\220\ETB\NUL\NUL\NUL\NUL\NUL\NUL/\t\132\ENQ\SO\NUL\190\NUL\131\ENQ\SI\NUL\SI\NUL,\t\NUL\NUL\NUL\NUL\NUL\NUL\227\ne\NUL\NUL\NUL\NUL\NUL\129\ENQy\ENQ\DLE\ENQ\NUL\NUL\NUL\NUL\NUL\NUL5\ENQ5\ENQ\211\t\211\t\211\t\NUL\NUL\251\r\251\r\251\rB\ENQ\NUL\NUL\170\SOH\201\ETX\223\a\242\EOT\NUL\NUL#\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\216\NUL\140\DLE\216\NUL]\DLE-\ENQ\167\b\NUL\NUL{\SUB\154\ETX{\SUB\FS\ENQ\FS\ENQ\FS\ENQ0\f\NUL\NUL\162\t1\ENQ/\ENQ-\NUL3\DC2\NUL\NUL\NUL\NUL\254\v\251\r\NUL\NUL\251\r\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\STX\253\f\220\STX\NUL\NUL\153\SOH\NUL\NUL\212\EOT\251\r\154\ETX\254\v!\ENQ\r\ENQ\DC3\NUL\NUL\NUL\SI\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\EOT\t\ENQ\237\STX\NUL\NUL\249\EOT\NUL\NUL\192\EOT.\DLE\192\EOT\192\EOT\192\EOT\NUL\NUL\163\ETX\137\EOT\NUL\NUL\162\EOT*\NUL\211\t\199\EOT\156\EOT\151\EOT\DEL\EOT\NUL\NUL\NUL\NUL\136\EOT\136\EOT\161\EOT\NUL\NUL\NUL\NUL\"\t\NUL\NUL\NUL\NUL+\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\224\n\SI\NUL\NUL\NUL\175\ETB\212\STX\NUL\NUL\160\ETX\152\ETX\SI\SUB\194\DC2\NUL\NUL\NUL\NUL\190\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\159\EOT\154\EOT\139\EOT\134\EOT\t\NUL\n\EOT\NUL\NULz\EOT\NUL\NUL\NUL\NULh\EOT\251\r\NUL\NUL\NUL\NUL\NUL\NUL\180\EOT\159\NUL\EOT\DC2\NUL\NUL\NUL\NUL\220\n>\t$\n\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\US\SOH+\NUL+\NUL\SYN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\STX\251\r\244\NUL\NUL\NUL\228\fd\EOTw\NUL\NUL\NUL\NUL\NUL\NUL\NUL\168\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\222\NUL\NUL\NUL+\NUL_\SOH\205\NUL>\EOT\NUL\NUL\NUL\NUL\251\r<\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\221\ETX\ESC\EOT\251\r\158\NUL\235\EM\200\ETX\NUL\NUL\200\ETX\NUL\NUL\200\ETX\ACK\EOT\251\r\NUL\NUL\NUL\NUL\205\NUL\US\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\211\t\251\r\251\r\245\ETX\NUL\NUL\n\SOH\239\ETX\NUL\NUL\SUB\EOTI\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\223\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r@\ETX\NUL\NUL\NUL\NUL\NUL\NUL\SI\NUL\NUL\NUL\151\SOH\NUL\NUL\DLE\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\v\NUL\NUL\NUL\NUL\128\f\NUL\NUL\NUL\NUL\251\rc\v\NUL\NUL\NUL\NUL\NUL\NUL\ETX\EOT\NUL\NUL\SOH\EOT\225\ETX\251\r*\NUL\182\ETX*\NUL\NUL\NUL\216\ETX\211\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\158\NUL\212\STXj\ETX\NUL\NUL\251\r\NUL\NUL\NUL\NUL\185\ETX\NUL\NUL\NUL\NUL\NUL\NUL\251\r\NUL\NUL\NUL\NUL\NUL\NULJ\ETXJ\ETX\NUL\NUL\211\t\211\t\213\NUL\NUL\NUL\NUL\NUL\168\ETX;\ETX;\ETX\NUL\NUL\NUL\NULz\ETX\NUL\NUL\NUL\NULt\ETXr\ETX\NUL\NULF\ETX\v\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\NUL\NUL\NUL\NUL\NUL\251\r\251\rl\ETX[\ETX\ETB\ETX\233\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"#
-
-happyGotoOffsets :: HappyAddr
-happyGotoOffsets
-  = HappyA#
-      "6\ETXq\NUL\211\ACK\198\GS<\ETX8\NUL\NUL\NUL\NUL\NUL\197\STX5\r\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\NUL\NUL\NUL\NULq\r\164\v\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\STX\213\n\185\n\NUL\NUL\NUL\NUL\NUL\NUL\167\STX\NUL\NUL \f\190\ETX`\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\a\ETX\SUB\NUL\NUL\NULv\US\NUL\NUL\NUL\NUL\184\ACK\NUL\NUL\149\STX\NUL\NULL\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\ETX\NUL\NUL\NUL\NUL\NUL\NUL*\ACK\195\NUL\NUL\NUL\138\ENQ\NUL\NUL\DC4\NUL\SYN\SOHl\STX}\SOH\162\SOH\203\NUL\NUL\NUL\NUL\NUL\150\b\NUL\NUL\154\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\b\226\STX\NUL\NUL\NUL\NUL\187\STX\NAK\SOH\NUL\NUL\168\n\215\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\\\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\255\255\NUL\NUL\NUL\NUL\NUL\NUL\202\NAKq\STX]\STXj\STXw\b\NUL\NUL\NUL\NULp\STX\NUL\NUL[\b\NUL\NUL@\NUL\198\STX\NUL\NUL\NUL\NUL\NUL\NULR\STX\158\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\173\EOT\NUL\NULf\STX\NUL\NUL\168\DC3\SYN\ETB\169\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULQ\STX\144\STX\236\NUL\NUL\NUL\NUL\NUL\SUB\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\STXO\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\STX\154\DC3\232\SYN5\bu\STX\NUL\NUL\NUL\NUL\NUL\NULJ\STX\\\STX\NUL\NUL\NUL\NUL\NUL\NULb\STX1\STXV\STX\243\a\NUL\NUL\238\a\NUL\NUL\NUL\NUL\171\GS\144\GS\NUL\NUL\NUL\NULu\GS\NUL\NULZ\GS\NUL\NUL\152\ACK\NUL\NULN\ACK\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\235\SOH\233\a\NUL\NUL{\SYNS\SYN[\US\NUL\NUL\231\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\193\STX\NUL\NUL[\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULi\ENQ\155\NULx\NULP\NUL\137\SYN\NUL\NUL\NUL\NUL\172\ETX?\GS\199\US$\GS\226\US\b\NAK\132\NAK\253\US\241\vo\v\240\f\187\f@\f:\v\155\f\SUB\v\252\a&\a\193\v,\n\157\t\NUL\NUL@\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\t\GS\238\FS\219\SOH\205\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\US\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\a\NUL\NUL\NUL\NUL\NUL\NUL\198\SOHa\EOT\NUL\NULs\DC3\218\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL3\ACK5\STX3\STX\234\SOH~\SOH\CAN\ACK%\US\NUL\NUL\NUL\NUL\166\b\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NAK\ETX\145 \135\EOT\221\SOH\206\a\NUL\NUL\NUL\NUL\166\NAKL\EOT\183\SOH\NUL\NUL\NUL\NUL\218\DC3&\ETX\NUL\NUL\NUL\NULl\ENQ0\DC3\NUL\NUL\NUL\NUL\162\a6\STX\182\v\NUL\NUL&\EOT\160\SOH\NUL\NUL\NUL\NUL\167\SOHN\NAK\199\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL.\STX\176\SOH\NUL\NUL\NUL\NUL\235\ETX`\SOH\NUL\NUL\169\SYN\NUL\NUL\NUL\NUL\196\ESCj\a\DC4\SOH@ \CAN\DC4( \159\SOH\CAN\NUL,\DC4\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\166\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132 G\aw h\DC4\175\DC4*\NAK\197\ETXM\SOH\NUL\NUL\NUL\NULs\a\211\SOH\235\EOT'\a\NUL\NUL \a\NUL\NUL\NAK\a\NUL\NUL\NUL\NUL\191\ETX\NUL\NUL\NUL\NUL\185\SOH\NUL\NUL\NUL\NUL\253\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULD\EOT\NAK\a\NUL\NUL\217\ACK\NUL\NUL\169\ESC\NUL\NUL\NUL\NUL\NUL\NUL\SYN\STX\247\SOH\169\DC4\NUL\NULo\DC3\r\SO\244\SOH\NUL\NUL\NUL\NUL\n\DC4\NUL\NUL\150\ACK\NUL\NUL\NUL\EOT\NUL\NUL>\DC3`\ETBv\ACKh\ACK\NUL\NUL\ACK\DC3Y\ETB+\ACK\NUL\NUL\DLE\ACK\226\ENQ\NUL\NUL\219\NULb\ETB\NUL\NUL\NUL\NUL\223\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\224\SYN\217\ENQ\NUL\NUL\NUL\NUL\210\DC4d\ETXB\SOH\NUL\NUL\NUL\NUL\NUL\NUL1\SYN\\\SOH\NUL\NUL\NUL\NUL\255\ENQ\NUL\NUL\249\b`\a\NUL\NUL\241\ENQ\228\ENQ\225\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\146\f\CAN\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOHW\SOH\174\ENQ\147\ENQx\ENQ\NUL\NUL1\FS\SYN\FS\211\FS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\192\SOH3\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULT\tC\SOH\196\a>\SOH\NUL\NUL6\a\NUL\NUL@\SYN\213\255\225\DC4\NUL\NUL\NUL\NUL\NUL\NUL\199\STX\NUL\NUL\138\STX\NUL\NUL\NUL\NUL\249\NUL\150\DC4\NUL\NUL\NUL\NUL\DC3\ESC\n\US\NUL\NUL\145\US\NUL\NUL\239\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\142\ESC\157\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\212\RS\211\NUL\241\SUB\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\180\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\SOHg\SOH6\SOH\GS\SOH\ETB\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\244\255\SO\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\128\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\ENQ\NUL\NUL\NUL\NULk\SO\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\t\\\ENQ\NUL\NUL1\SYNj \NUL\NUL\NUL\NUL\NUL\NUL\EOT\EOT\185\SYN\NUL\NUL\NUL\NUL\"\SYN\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\206\EOT\176\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\RS\NUL\NUL\NUL\NUL\NUL\NUL\SUB\ETB\250\ENQd\DC4\NUL\NUL\NUL\NUL\128\SYN\154\ACK\202\EOT\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\195\STX\170\r6\r\250\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\158\RS\217\255\NUL\NULP\ESC\NUL\NULM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\145\ACK\191\ETXZ\ENQ\NUL\NUL\NUL\NUL\NUL\NUL\131\RS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL(\NUL\NUL\NULh\RSW\EOTa\EOTx\EOT\NUL\NUL\t\EOT\NUL\NUL\134\ETX\NUL\NULM\RS\NUL\NUL\NUL\NULZ\ENQ\171\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\243\EOT\251\ESC\224\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\185\NUL\NUL\NUL\NUL\NUL\NUL\NUL\184\FSD\NUL\NUL\NUL\NUL\NUL\NUL\NUL,\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL5\ESC\NUL\NUL\NUL\NULs\ESC\NUL\NUL\NUL\NUL2\RS5\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\157\FS\245\255\NUL\NUL\241\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETB\RS\NUL\NUL_\ETX[ \208\255\NUL\NUL\252\GS\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\225\GS\NUL\NUL\NUL\NUL\NUL\NUL\236\SOH\208\255\NUL\NUL\214\EOT\158\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL2\NUL\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\249\255I\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\FSg\FS\NUL\NUL\NUL\NUL\NUL\NUL\145\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"#
-
-happyDefActions :: HappyAddr
-happyDefActions
-  = HappyA#
-      "\250\255=\254\NUL\NUL\NUL\NUL\NUL\NUL=\254\155\254\143\254}\254\NUL\NUL{\254w\254t\254q\254l\254i\254g\254e\254c\254a\254_\254\\\254O\254\NUL\NUL\165\254\164\254=\254~\254\DEL\254\NUL\NUL\NUL\NUL\129\254\128\254\130\254\131\254\NUL\NUL\NUL\NUL\NUL\NULE\254F\254D\254C\254\166\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\255\227\255\226\255\225\255\224\255\223\255\222\255\NUL\NUL\NUL\NUL\199\255\215\255\181\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULK\254\NUL\NUL\NUL\NUL\166\254>\254\NUL\NUL\247\255\NUL\NUL\246\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\152\255\NUL\NULw\255\155\255\138\255\154\255\137\255\153\255\136\255l\255R\255=\254Q\255\NUL\NUL\229\255\n\255\b\255\t\255\166\255\251\254\250\254\NUL\NUL<\254;\254\NUL\NUL=\254\NUL\NUL\141\255~\255\134\255}\255\129\255=\254\143\255\130\255\132\255\131\255\140\255\133\255\128\255\142\255M\255\144\255\NUL\NUL\139\255L\255\DEL\255\135\255\254\254`\255\NUL\NUL=\254\NUL\NUL\245\255\NUL\NUL=\254\NUL\NUL<\254\NUL\NUL\NUL\NUL\a\255\249\254<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\151\255v\255k\255&\255\166\255:\254\NUL\NULZ\255+\255/\255,\255-\255.\255=\254\ETX\255\215\254\213\254\244\254I\254\NUL\NUL\150\255u\255j\255*\255&\255\166\255\NUL\NUL\NUL\NUL]\255\NUL\NULf\255T\255S\255b\255\146\255\145\255a\255o\255h\255g\255\169\255n\255m\255\170\255{\255r\255s\255q\255z\255y\255x\255\NUL\NUL&\255'\255#\255 \255\US\255$\255\SYN\255(\255\166\255\NUL\NUL=\254\"\255\NUL\NUL\148\255|\255p\255&\255\166\255\147\255\NUL\NULe\255\NUL\NUL&\255\166\255=\254\168\255=\254\167\255\243\255\NUL\NUL\NUL\NULJ\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL?\254K\254\NUL\NUL\NUL\NUL\188\255}\254G\254\NUL\NUL\187\255\NUL\NUL\180\255\213\255=\254\198\255=\254=\254\NUL\NUL\133\254=\254\134\254\140\254B\254A\254\138\254=\254\136\254=\254\132\254\141\254\142\254\NUL\NUL\222\254\138\255\137\255\136\255\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\139\254\NUL\NULZ\254V\254U\254Y\254X\254W\254R\254Q\254P\254T\254S\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\254\148\254\248\255\249\255\151\254\150\254\NUL\NUL\NUL\NUL\145\254\153\254[\254x\254y\254z\254u\254v\254r\254s\254m\254o\254n\254p\254j\254k\254h\254f\254d\254b\254\NUL\NUL\NUL\NUL`\254M\254N\254\163\254\NUL\NUL\219\254\216\254\218\254\217\254\NUL\NUL\220\254\244\254\200\254\221\254\162\254\NUL\NUL\NUL\NUL@\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\214\255\213\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\219\255\NUL\NUL=\254\NUL\NUL\NUL\NUL\190\255\NUL\NUL\186\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\182\254=\254\NUL\NUL\241\255=\254=\254\182\254\239\255!\255\244\254\NUL\NUL\RS\255\DC2\255<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\f\255=\254\182\254\240\255N\255K\255=\254\NUL\NUL\149\255t\255i\255)\255&\255\166\255\NUL\NULW\255=\254\182\254\238\255I\254H\254\NUL\NULI\254\130\254=\254\239\254\235\254\232\254\154\255\137\255\228\254\NUL\NUL\243\254\241\254\NUL\NUL<\254\224\254\212\254\236\255\165\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254=\254=\254\182\254\242\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\246\254\253\254\STX\255\ACK\255\t\255\ENQ\255\248\254\NUL\NUL\NUL\NUL4\255\NUL\NUL\NUL\NUL\NUL\NUL6\254\NUL\NUL8\254\&4\254\&5\254_\255^\255\NUL\NUL3\255\&1\255\NUL\NUL\NUL\NUL\EOT\255\SOH\255\245\254\NUL\NUL\NUL\NUL\252\254\NUL\255\161\255\NUL\NUL\235\255\NUL\NUL\NUL\NUL&\255&\255\NUL\NUL(\255\NUL\NUL=\254&\255\247\254\NUL\NUL=\254\214\254=\254\226\254\NUL\NUL\227\254\244\254\200\254=\254=\254\231\254\244\254\200\254=\254\234\254=\254=\254\238\254=\254\NUL\NUL\NUL\NUL\NUL\NUL\130\254\211\254\NUL\NUL\NUL\NULI\254\130\254\163\255\231\255=\254=\254\182\254\237\255\NUL\NUL\NUL\NUL=\254K\255\157\255\233\255\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\SI\255\SUB\255\NUL\NUL\GS\255\FS\255\DC1\255\NUL\NUL\NUL\NUL\164\255\232\255\NUL\NUL\NUL\NUL\NUL\NUL\159\255\158\255\234\255&\255&\255\NUL\NUL\NUL\NUL\NUL\NUL\189\255K\254K\254\NUL\NUL\NUL\NUL\220\255\NUL\NUL\NUL\NUL\214\255\NUL\NUL\211\255\NUL\NUL\212\255\210\255\208\255\209\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL`\255=\254\221\255=\254\NUL\NUL=\254\NUL\NUL\137\254\135\254=\254\198\254\196\254\NUL\NUL\NUL\NUL\NUL\NUL<\254\186\254|\254\180\254\NUL\NUL]\254\NUL\NUL\152\254\NUL\NUL\154\254\144\254^\254L\254\179\254\NUL\NUL\NUL\NUL\NUL\NUL\172\254\173\254\185\254\NUL\NUL\NUL\NUL\NUL\NUL\180\254\NUL\NUL\NUL\NUL\NUL\NUL\193\254\194\254\192\254\195\254\197\254\199\254<\254\NUL\NUL\NUL\NUL\158\254\NUL\NUL\207\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\217\255\NUL\NUL\NUL\NUL\201\255\NUL\NUL\179\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\197\255\195\255\194\255\182\254\182\254\NUL\NULd\255c\255\NUL\NUL\ESC\255\DLE\255\NUL\NUL\NAK\255\EM\255\r\255\SO\255\NUL\NUL\CAN\255\v\255=\254@\255I\255\NUL\NUL\NUL\NUL=\254<\254J\255O\255=\254\\\255[\255\162\255\230\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\254=\254\209\254\NUL\NUL\210\254\204\254\NUL\NUL\NUL\NUL\237\254\236\254\233\254=\254\196\254<\254\230\254\229\254=\254\196\254<\254\225\254\240\254\242\254\223\254\NUL\NUL\NUL\NUL\NUL\NUL&\255Y\255X\255\181\254\255\254\244\255\NUL\NUL\NUL\NUL\NUL\NUL8\255\NUL\NUL\NUL\NUL6\254\&7\254\&9\254\&1\254\NUL\NUL2\254\&2\255\&7\255\&0\255\NUL\NUL6\255\NUL\NUL<\254<\254\NUL\NUL\207\254\203\254\NUL\NUL\NUL\NUL\208\254\202\254V\255U\255F\255D\255<\255\NUL\NUL\NUL\NUL<\254=\254H\255=\254G\255=\254?\255\NUL\NULP\255\ETB\255\NUL\NUL\NUL\NUL\DC4\255%\255\156\255\160\255\NUL\NULK\254K\254\NUL\NUL\218\255\NUL\NUL\178\255\177\255\NUL\NUL\NUL\NUL\185\255\216\255\200\255\206\255\204\255\205\255\NUL\NUL\203\255\159\254\160\254\NUL\NUL\NUL\NUL\161\254\191\254\189\254\190\254\188\254\NUL\NUL\169\254\NUL\NUL\174\254\171\254\168\254\175\254\178\254\NUL\NUL\147\254\177\254\NUL\NUL\146\254\170\254\NUL\NUL\NUL\NUL\184\254\187\254\157\254\NUL\NUL\202\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\179\255\193\255\NUL\NUL\NUL\NUL\196\255\DC3\255>\255\NUL\NULB\255\NUL\NUL\NUL\NULE\255;\255\NUL\NUL9\255\201\254\NUL\NUL\206\254\&5\255\&3\254\NUL\NUL0\254\205\254:\255=\254C\255=\255\NUL\NUL\NUL\NUL\NUL\NUL\184\255\176\255\NUL\NUL\NUL\NUL\NUL\NUL\156\254\183\254\NUL\NUL\176\254\167\254\NUL\NUL\NUL\NUL\175\255\NUL\NUL\NUL\NUL\214\255\192\255A\255\191\255\NUL\NUL\172\255\183\255\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\171\255\182\255\173\255\174\255"#
-
-happyCheck :: HappyAddr
-happyCheck
-  = HappyA#
-      "\255\255\STX\NUL\ETX\NUL\EOT\NUL6\NULt\NUL\NAK\NUL\SYN\NUL\ETB\NUL\NAK\NUL\SYN\NUL\ETB\NUL\ETB\NUL\EOT\NUL5\NUL\SOH\NUL\SOH\NUL\CAN\NUL\ETX\NUL\SOH\NUL\EOT\NUL\STX\NUL\FS\NUL\STX\NUL\EM\NULt\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\SOH\NUL\ETX\NUL\DC4\NUL\STX\NUL[\NUL\r\NUL3\NUL9\NUL \NUL!\NUL7\NUL#\NUL\r\NUL!\NUL\STX\NUL\ETX\NUL\EOT\NUL\RS\NUL.\NUL*\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NUL\SOH\NULy\NUL6\NULv\NUL\SOH\NUL.\NUL6\NULv\NUL6\NUL\EM\NUL\t\NUL\ESC\NUL\r\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULt\NUL\SOH\NUL^\NULt\NULt\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL^\NUL\r\NUL\STX\NUL\ETX\NUL\EOT\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NULB\NULC\NULD\NUL[\NUL6\NUL\\\NUL]\NUL^\NUL\EM\NUL^\NUL\ESC\NULy\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\EOT\NUL\SOH\NUL\SOH\NULy\NUL\ETX\NUL\\\NUL3\NUL^\NULt\NUL\\\NUL7\NUL^\NUL\STX\NUL\r\NUL\r\NUL6\NUL6\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULy\NULv\NUL!\NUL\RS\NUL#\NUL#\NUL\SOH\NUL\a\NUL\\\NUL]\NUL^\NUL*\NUL+\NUL,\NUL\EOT\NUL{\NULy\NUL\SOH\NUL\r\NUL\STX\NUL3\NUL\SOH\NUL,\NUL6\NUL6\NUL*\NUL\\\NULT\NUL6\NUL\r\NUL\STX\NULT\NUL\SOH\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULC\NUL \NUL!\NUL\r\NUL#\NULH\NULw\NULx\NULy\NUL\SOH\NUL!\NUL*\NUL+\NUL,\NUL\EOT\NULy\NUL\SOH\NUL\RS\NUL*\NULV\NUL3\NUL\r\NULy\NUL6\NUL\\\NUL\\\NUL]\NUL^\NUL\r\NUL\\\NUL]\NUL6\NUL\SOH\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL-\NUL\STX\NUL!\NUL\r\NUL#\NULC\NUL6\NULx\NULy\NULy\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\\\NUL]\NUL^\NUL\STX\NUL\a\NUL3\NUL\SOH\NUL-\NUL6\NULV\NUL\a\NUL\\\NUL]\NUL^\NUL\RS\NUL\\\NUL]\NUL^\NUL\r\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL!\NUL#\NUL#\NUL\\\NUL]\NULy\NUL\a\NUL\SOH\NUL*\NUL+\NUL,\NUL\EOT\NUL\a\NULy\NUL*\NUL\\\NUL\EOT\NUL3\NULv\NUL\r\NUL7\NUL6\NUL\\\NUL]\NUL^\NUL\\\NUL]\NULw\NULx\NULy\NUL6\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NUL\\\NUL]\NUL!\NUL\SOH\NUL#\NULC\NUL \NUL!\NULy\NUL#\NULH\NUL*\NUL+\NUL,\NUL\EOT\NUL\r\NUL*\NUL+\NUL,\NUL\STX\NUL3\NULy\NUL\FS\NUL6\NULV\NUL3\NULz\NUL{\NUL6\NUL\FS\NUL\\\NUL]\NUL^\NULK\NULA\NULB\NULC\NULD\NULt\NULA\NULB\NULC\NULD\NUL!\NUL-\NUL#\NULw\NULx\NULy\NULy\NULy\NUL9\NUL*\NUL+\NUL,\NUL\SOH\NUL6\NULT\NUL9\NUL*\NUL\\\NUL3\NUL^\NUL\ETX\NUL6\NUL!\NUL\ACK\NUL\r\NULT\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULH\NULA\NULB\NULC\NULD\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL6\NULT\NULV\NULx\NULy\NUL\US\NUL4\NUL5\NUL\\\NULy\NUL^\NUL\r\NUL \NUL!\NUL*\NUL \NUL!\NUL-\NUL\ENQ\NUL\ACK\NUL\a\NUL\RS\NUL\t\NUL\SUB\NUL\v\NUL\f\NUL\r\NUL\a\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL-\NUL6\NUL\\\NUL]\NUL6\NUL\EM\NUL\SOH\NUL\ESC\NUL\ETX\NUL\GS\NUL\RS\NUL\US\NULy\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL4\NUL5\NUL\\\NUL]\NUL^\NULt\NUL3\NULT\NUL\n\NULy\NUL7\NULZ\NUL\SO\NUL\\\NULv\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULT\NULn\NUL\\\NUL]\NUL^\NUL\FS\NULs\NULt\NUL\FS\NULv\NULB\NULC\NULD\NULy\NUL,\NULZ\NULy\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL9\NULn\NULv\NUL9\NULT\NUL\FS\NULs\NULt\NULK\NULv\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\n\NUL\t\NULy\NUL\v\NUL\f\NUL\r\NULv\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL\FS\NULx\NULy\NUL\FS\NUL\EM\NUL9\NUL\ESC\NULv\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NULw\NULx\NULy\NUL\FS\NUL9\NUL3\NUL\a\NUL9\NUL\FS\NUL7\NUL\FS\NUL\FS\NUL\SOH\NUL\SUB\NUL*\NUL<\NUL=\NUL-\NUL\SOH\NUL\SUB\NUL\ETX\NULB\NULC\NULD\NUL\r\NUL\a\NUL\"\NUL#\NUL\SUB\NUL%\NUL\r\NUL'\NUL9\NUL)\NUL*\NUL+\NUL,\NUL9\NUL\a\NUL9\NUL9\NUL \NUL!\NUL3\NULZ\NULv\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NULn\NUL\\\NUL]\NUL^\NULL\NULs\NULt\NUL\SUB\NULv\NULw\NULx\NULy\NULy\NUL\a\NULA\NULB\NULC\NULD\NULZ\NULP\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NUL\\\NUL]\NUL^\NUL\a\NULs\NULt\NUL\\\NUL]\NULw\NULx\NULy\NUL\SOH\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL*\NULt\NUL\ETX\NUL-\NUL\r\NUL\ACK\NUL\"\NUL#\NULy\NUL%\NULv\NUL'\NULy\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\STX\NUL\ETX\NUL6\NUL\RS\NUL\ACK\NUL3\NULX\NULY\NUL*\NUL7\NUL6\NUL-\NUL\US\NUL\SUB\NUL6\NUL;\NUL<\NUL=\NUL>\NUL?\NULy\NULA\NULB\NULC\NULD\NUL\a\NUL\"\NUL#\NULv\NUL%\NULL\NUL'\NUL\b\NUL)\NUL*\NUL+\NUL,\NULM\NULN\NULO\NULP\NULQ\NULR\NUL3\NULZ\NULu\NUL\\\NUL7\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULv\NULn\NUL\\\NUL]\NULm\NULL\NULs\NULt\NUL\NUL\NUL\SOH\NULw\NULx\NULy\NULx\NULy\NUL\SOH\NULw\NULx\NULy\NULZ\NUL+\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\a\NULn\NULA\NULB\NULC\NULD\NULs\NULt\NUL6\NUL\STX\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL[\NULA\NULB\NULC\NULD\NUL\a\NULF\NULG\NUL\STX\NUL\"\NUL#\NUL+\NUL%\NUL\SOH\NUL'\NUL\SOH\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\EM\NUL\EOT\NUL\ESC\NUL3\NUL\GS\NUL\RS\NUL\US\NUL7\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL[\NUL3\NUL\SOH\NULL\NUL\ETX\NUL7\NUL\\\NUL]\NULx\NULy\NULA\NULB\NULC\NULD\NUL\r\NUL\\\NUL]\NULZ\NUL^\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULZ\NULn\NUL\\\NUL\EOT\NUL^\NUL_\NULs\NULt\NUL*\NUL+\NULw\NULx\NULy\NUL!\NUL^\NUL#\NUL*\NUL+\NUL\a\NUL*\NUL+\NUL#\NUL*\NUL+\NUL,\NULs\NULt\NUL\STX\NUL*\NUL+\NUL,\NUL3\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL3\NUL\ESC\NUL+\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL6\NUL\\\NUL]\NUL3\NULN\NULO\NULP\NUL7\NULw\NULx\NULy\NULA\NULB\NULC\NULD\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL,\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULZ\NUL*\NUL\\\NUL\SOH\NUL^\NUL_\NUL3\NULy\NUL+\NUL!\NUL7\NUL#\NUL\RS\NULy\NUL^\NUL#\NUL\\\NUL]\NUL*\NUL+\NUL,\NUL\a\NUL*\NUL+\NUL,\NULs\NULt\NUL3\NUL\ETB\NUL\CAN\NUL6\NUL3\NULy\NUL\RS\NUL6\NUL^\NULw\NULx\NULy\NUL\EM\NUL\EOT\NUL\ESC\NUL\EOT\NUL\GS\NUL\RS\NUL\US\NUL0\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\DC1\NUL\DC2\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\EOT\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL6\NULw\NULx\NULy\NUL\EOT\NUL3\NULw\NULx\NULy\NUL7\NUL#\NULA\NULB\NULC\NULD\NUL2\NUL\EOT\NUL*\NUL+\NUL,\NUL\a\NUL\EOT\NULx\NULy\NUL\\\NUL]\NUL3\NUL\v\NUL\f\NUL6\NULA\NULB\NULC\NULD\NUL\STX\NULw\NULx\NULy\NUL\EM\NUL\STX\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL\US\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\a\NUL\SOH\NUL-\NUL\ETX\NUL*\NUL+\NUL3\NUL<\NULx\NULy\NUL7\NUL*\NUL+\NUL\r\NUL+\NULw\NULx\NULy\NUL\EM\NUL+\NUL\ESC\NUL\STX\NUL\GS\NUL\RS\NUL\US\NUL+\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULy\NUL\ENQ\NUL\ACK\NUL\a\NUL\\\NUL]\NUL3\NUL6\NUL\FS\NUL\GS\NUL7\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL6\NUL!\NUL,\NUL#\NULC\NULw\NULx\NULy\NUL\RS\NULH\NUL*\NUL+\NUL,\NULC\NUL\ENQ\NUL\ACK\NUL\a\NUL\STX\NULH\NUL3\NULw\NULx\NULy\NULV\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\ETB\NUL\CAN\NUL^\NULV\NUL\STX\NULB\NULC\NULD\NUL\STX\NUL\\\NUL]\NUL^\NUL\ENQ\NUL\ACK\NUL\a\NUL\DC1\NUL\DC2\NULN\NULO\NULP\NULQ\NULR\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL7\NUL\STX\NULw\NULx\NULy\NULw\NULx\NULy\NUL\v\NUL\f\NULA\NULB\NULC\NULD\NULZ\NUL\STX\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULw\NULx\NULy\NUL,\NULs\NULt\NUL\RS\NULv\NULZ\NUL\\\NUL\\\NUL-\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\RS\NULn\NULw\NULx\NULy\NUL0\NULs\NULt\NULZ\NULv\NUL\\\NUL[\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL6\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\US\NULC\NUL\EOT\NUL\STX\NUL6\NUL\STX\NULH\NULM\NUL\EOT\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NUL\EOT\NULV\NUL\EOT\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL;\NUL<\NUL=\NULN\NULO\NULP\NULA\NULB\NULC\NULD\NUL^\NUL\\\NUL\ENQ\NUL\ACK\NUL\a\NULM\NULN\NULO\NULP\NULQ\NULR\NUL0\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\STX\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\STX\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL+\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NULy\NULn\NULN\NULO\NULP\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NULN\NULO\NULP\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\STX\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL,\NULs\NULt\NUL\US\NULv\NUL*\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL^\NUL\EOT\NUL\EOT\NULN\NULO\NULP\NULN\NULO\NULP\NUL;\NUL<\NUL=\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULN\NULO\NULP\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULN\NULO\NULP\NULw\NULx\NULy\NUL\ENQ\NUL\ACK\NUL\a\NULw\NULx\NULy\NULw\NULx\NULy\NUL\US\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL8\NUL\SOH\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL,\NULA\NULB\NULC\NULD\NULE\NULF\NULG\NULZ\NULy\NUL\\\NUL,\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\US\NULn\NULw\NULx\NULy\NUL\STX\NULs\NULt\NULZ\NULv\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\b\NULn\NULw\NULx\NULy\NUL\US\NULs\NULt\NULZ\NULv\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL^\NULn\NUL\ENQ\NUL\ACK\NUL\a\NUL\US\NULs\NULt\NUL\STX\NULv\NUL\STX\NUL\STX\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\SOH\NUL<\NUL=\NUL>\NUL?\NUL@\NUL+\NULB\NULC\NULD\NUL+\NUL[\NUL\ENQ\NUL\ACK\NUL\a\NULA\NULB\NULC\NULD\NULw\NULx\NULy\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NULM\NULN\NULO\NULP\NULQ\NULR\NULw\NULx\NULy\NUL\\\NUL*\NULZ\NULF\NUL\\\NUL\STX\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NUL*\NULp\NULx\NULy\NULs\NULt\NULw\NULx\NULy\NUL\STX\NUL\STX\NULZ\NULy\NUL\\\NUL^\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL*\NULn\NULN\NULO\NULP\NUL\RS\NULs\NULt\NULZ\NULv\NUL\\\NUL\SUB\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\ESC\NULn\NUL\f\NUL\r\NUL\EM\NUL\DLE\NULs\NULt\NUL\EOT\NULv\NUL\SOH\NUL[\NUL\ETX\NUL\STX\NUL\STX\NUL\EM\NUL\STX\NUL\ESC\NUL^\NUL\GS\NUL\RS\NUL\US\NUL\r\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULN\NULO\NULP\NUL\SOH\NUL \NUL!\NUL3\NUL#\NULW\NUL+\NUL7\NULN\NULO\NULP\NUL*\NUL+\NUL,\NULF\NULN\NULO\NULP\NUL+\NUL^\NUL3\NUL,\NUL\SOH\NUL6\NUL,\NUL6\NULZ\NUL\SOH\NUL\\\NUL0\NUL^\NUL_\NUL`\NULa\NULA\NULB\NULC\NULD\NULC\NUL\r\NUL,\NUL0\NULZ\NULH\NUL\\\NUL,\NUL^\NUL_\NUL`\NUL7\NUL\SOH\NULs\NULt\NUL;\NUL<\NUL=\NUL,\NULV\NUL\ETX\NULA\NULB\NULC\NULD\NUL\\\NUL]\NUL^\NUL\SOH\NULs\NULt\NUL+\NUL\STX\NULw\NULx\NULy\NUL0\NUL1\NUL,\NUL3\NUL\STX\NUL5\NUL[\NUL^\NUL8\NUL\SOH\NULe\NUL;\NUL\SOH\NUL=\NUL>\NUL?\NULy\NULN\NULO\NULP\NULD\NULE\NUL\SOH\NULG\NUL\EOT\NUL^\NULJ\NULK\NUL\SOH\NULM\NULN\NUL^\NULP\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NULw\NULx\NULy\NUL,\NULe\NUL\\\NUL]\NUL^\NUL_\NUL\SOH\NULw\NULx\NULy\NUL\RS\NULe\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SOH\NUL\SOH\NUL\DLE\NULN\NULO\NULP\NULZ\NUL\RS\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NUL\ESC\NUL+\NUL8\NUL+\NUL:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\RS\NULA\NULB\NULC\NULD\NUL+\NUL+\NUL,\NULs\NULt\NUL/\NUL0\NUL1\NUL2\NUL3\NUL4\NUL5\NUL6\NUL7\NUL8\NUL9\NUL:\NUL;\NULe\NUL=\NUL>\NUL?\NUL@\NULA\NULB\NULC\NULD\NULE\NUL\SOH\NULG\NULH\NULI\NULJ\NULK\NULL\NULM\NULN\NULO\NULP\NULQ\NULR\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\SOH\NUL\SOH\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL[\NUL1\NUL\DLE\NULe\NUL*\NULZ\NUL6\NUL\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NUL\ESC\NUL>\NULw\NULx\NULy\NUL\SUB\NULC\NULw\NULx\NULy\NULG\NULH\NULw\NULx\NULy\NUL\EM\NULM\NULs\NULt\NULP\NUL/\NULR\NUL1\NUL\DLE\NUL3\NULV\NUL5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL^\NUL=\NUL>\NUL?\NULN\NULO\NULP\NULC\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULN\NULO\NULP\NUL\255\255\&6\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULA\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\EM\NUL\255\255\ESC\NUL\ESC\NUL\GS\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL/\NUL\255\255\&1\NUL3\NUL3\NUL\255\255\&5\NUL7\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NULN\NULO\NULP\NUL\255\255D\NULE\NUL\255\255G\NULx\NULy\NULJ\NULK\NULL\NULM\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULw\NULx\NULy\NUL\255\255\&7\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255w\NULx\NULy\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\ESC\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\SOH\NUL\STX\NUL\ETX\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255\255\255<\NUL=\NUL,\NUL\255\255\255\255/\NULB\NULC\NULD\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\SOH\NUL\STX\NUL\ETX\NULD\NULE\NULw\NULx\NULy\NUL\255\255J\NULK\NULL\NUL\EOT\NULN\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULx\NULy\NUL\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\SOH\NULC\NUL\ETX\NUL\255\255\ENQ\NUL\ACK\NULH\NUL\255\255\t\NUL\n\NUL\ESC\NUL\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NULV\NULA\NULB\NULC\NULD\NUL\255\255\\\NUL\255\255^\NUL\255\255/\NUL\SOH\NUL\STX\NUL\ETX\NUL3\NUL\SOH\NUL5\NUL\ETX\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\r\NUL\r\NUL\SO\NUL\SI\NULD\NULE\NUL\SOH\NUL\STX\NUL\ETX\NUL\255\255J\NULK\NULL\NUL\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\r\NUL\SO\NUL\SI\NUL6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL6\NUL\255\255\255\255\255\255H\NUL;\NUL<\NUL=\NUL\ESC\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255Z\NULV\NUL\\\NUL\255\255^\NUL_\NUL`\NUL+\NUL,\NUL^\NUL\255\255/\NUL0\NUL\255\255\&2\NUL\255\255\&4\NUL\255\255\255\255\&7\NUL\255\255\&9\NUL:\NUL7\NUL\255\255s\NULt\NUL\255\255@\NULA\NULB\NUL\255\255\255\255A\NULB\NULC\NULD\NULI\NULF\NULG\NULL\NUL\255\255\255\255O\NUL\255\255\255\255\SOH\NUL\255\255\ETX\NULx\NULy\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\ESC\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255/\NUL\255\255D\NULE\NUL\255\255G\NUL\255\255\&6\NULJ\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULC\NUL\SOH\NUL\255\255\ETX\NUL\255\255H\NUL\\\NUL]\NUL^\NULL\NULM\NUL\255\255Z\NUL\r\NUL\\\NUL\255\255^\NUL_\NUL`\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255s\NULt\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\ESC\NUL=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255/\NULQ\NUL\255\255S\NULT\NULU\NULV\NUL6\NUL\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\255\255\255\255\255\255\255\255\SOH\NULC\NUL\ETX\NUL\255\255\SOH\NUL\255\255H\NUL\SOH\NUL\255\255\255\255L\NULM\NUL\r\NULB\NULC\NULD\NUL\r\NULF\NULG\NUL\r\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\&6\NULZ\NUL\255\255\\\NUL6\NUL^\NUL_\NUL6\NUL\ESC\NUL\255\255\255\255\255\255\255\255C\NULx\NULy\NUL\255\255C\NULH\NUL\255\255C\NUL\255\255H\NUL\255\255\255\255H\NULs\NULt\NUL/\NULZ\NUL\255\255\\\NULV\NUL^\NUL_\NUL6\NULV\NUL\255\255\\\NULV\NUL^\NUL\255\255\\\NUL]\NUL^\NUL\\\NUL]\NUL^\NULC\NUL\255\255\255\255\255\255\255\255H\NULs\NULt\NUL\255\255L\NULM\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\ETX\NUL\255\255\r\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\ETX\NUL\255\255\255\255\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL,\NUL-\NUL6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL-\NUL\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\ESC\NULF\NULG\NULZ\NUL\SOH\NUL\\\NUL\ETX\NUL^\NUL_\NUL\ACK\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&6\NULs\NULt\NUL\ESC\NUL\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NULx\NULy\NUL\255\255\SOH\NUL\255\255\ETX\NULs\NULt\NULV\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL6\NUL\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NUL\SOH\NUL\255\255\255\255\255\255\255\255V\NUL\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL^\NUL\255\255\DLE\NUL/\NUL\255\255s\NULt\NUL\255\255\255\255\255\255\&6\NUL\255\255Z\NUL\ESC\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255,\NUL\255\255L\NUL/\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255V\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\&6\NUL\255\255\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\SOH\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\STX\NUL\255\255\255\255\r\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULy\NUL\255\255\DLE\NULs\NULt\NUL\255\255\255\255\&6\NUL/\NUL\255\255Z\NUL\255\255\\\NUL\ESC\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULC\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\255\255,\NUL\255\255\255\255/\NUL\255\255s\NULt\NULL\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL\255\255^\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NULs\NULt\NUL\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255\ESC\NUL\SOH\NUL\STX\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL,\NUL\255\255Z\NUL/\NUL\\\NUL\255\255^\NUL_\NUL`\NUL\255\255\ESC\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NULs\NULt\NUL\255\255/\NUL\255\255L\NULx\NULy\NUL\255\255\255\255\ESC\NUL\255\255\255\255\RS\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL/\NUL\255\255L\NUL\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255L\NULs\NULt\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NULX\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULx\NULy\NUL\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL7\NUL\255\255\255\255L\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\ESC\NULA\NULB\NULC\NULD\NUL\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\SOH\NUL\ESC\NUL\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255\255\255\255\255\255\255\255\255/\NUL\255\255\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL/\NUL\255\255\255\255\255\255L\NULx\NULy\NUL\255\255\255\255\255\255\ESC\NUL\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NULL\NUL/\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\r\NUL_\NUL`\NULa\NULb\NULc\NULd\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\r\NUL\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\SOH\NUL\255\255\255\255\255\255\&6\NUL\255\255\a\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\255\255\255\255\DLE\NUL\255\255C\NUL\255\255\255\255\255\255\255\255H\NUL\255\255\255\255\255\255\ESC\NUL0\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NULV\NUL\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255^\NUL\255\255/\NULD\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\255\255\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL_\NULL\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255X\NULY\NULZ\NUL[\NUL\\\NUL\255\255\255\255_\NUL`\NULa\NULb\NULc\NULd\NUL\US\NUL \NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL\255\255\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\SOH\NUL1\NUL\ETX\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\r\NUL5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\SOH\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\r\NUL=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\SOH\NUL\255\255\\\NUL]\NUL^\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\r\NUL8\NUL\255\255\SOH\NUL;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\r\NULG\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\SOH\NUL\RS\NUL\ETX\NUL\255\255\255\255\255\255\\\NUL]\NUL^\NUL\255\255\&6\NUL\255\255\r\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&3\NULC\NUL5\NUL\255\255\255\255\&8\NULH\NUL\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255V\NUL\255\255\255\255J\NULK\NUL\255\255\\\NULN\NUL^\NUL\255\255Q\NUL6\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NULC\NUL\255\255\255\255\RS\NUL\US\NULH\NUL!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255V\NUL\255\255\255\255\255\255\255\255\&3\NUL\\\NUL\255\255^\NUL7\NUL\255\255\255\255\255\255\255\255<\NUL=\NUL\255\255\255\255\255\255\255\255B\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULB\NULC\NULD\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255x\NULy\NUL7\NUL<\NUL=\NUL>\NUL?\NUL@\NUL\255\255B\NULC\NULD\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NUL\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255<\NUL=\NUL>\NUL?\NUL@\NUL3\NULB\NULC\NULD\NUL7\NULF\NULG\NUL\255\255\255\255\255\255\255\255\255\255x\NULy\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\255\255H\NULI\NULJ\NULK\NUL\255\255\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NULH\NULI\NULJ\NUL\255\255\255\255\255\255\RS\NUL\US\NUL\255\255!\NUL\"\NUL#\NUL$\NUL%\NUL&\NUL'\NUL(\NUL)\NUL*\NUL+\NUL,\NUL\255\255 \NUL!\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255!\NUL6\NUL#\NUL\255\255w\NULx\NULy\NULJ\NUL\255\255*\NUL+\NUL,\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255w\NULx\NULy\NUL\255\255!\NUL\255\255#\NUL\255\255!\NUL\255\255#\NUL\255\255\255\255*\NUL+\NUL,\NULy\NUL*\NUL+\NUL,\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255<\NUL=\NUL\255\255\255\255x\NULy\NULB\NULC\NULD\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255N\NULO\NULP\NULQ\NULR\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL!\NUL\255\255#\NUL\255\255\255\255\255\255!\NUL\255\255#\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL3\NULy\NUL\255\255\&6\NULx\NULy\NUL3\NUL\255\255N\NULO\NULP\NULQ\NULR\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255A\NULB\NULC\NULD\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255y\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255\255\255\255\255\255\255\255\255L\NUL\255\255\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255y\NUL\255\255\255\255\255\255Z\NULL\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255w\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NUL\255\255\"\NUL#\NUL\255\255%\NUL\255\255'\NULL\NUL)\NUL*\NUL+\NUL,\NULs\NULt\NUL\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255Z\NUL7\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255L\NUL\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL\"\NUL#\NUL\255\255%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255.\NUL/\NUL0\NUL\"\NUL#\NUL3\NUL%\NUL\255\255'\NUL7\NUL)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\"\NUL#\NUL7\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL\255\255L\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\"\NUL#\NULL\NUL%\NUL\255\255'\NUL\255\255)\NUL*\NUL+\NUL,\NULw\NULx\NULy\NUL\255\255#\NUL\255\255\&3\NUL\255\255\255\255\255\255\&7\NUL*\NUL+\NUL,\NUL6\NULw\NULx\NULy\NUL\255\255\255\255\&3\NUL\255\255\255\255\&6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255L\NUL\255\255\255\255w\NULx\NULy\NULM\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL#\NUL\255\255\255\255\&6\NUL\255\255\255\255\255\255*\NUL+\NUL,\NUL\255\255\255\255\255\255\255\255\255\255\&2\NUL3\NUL\255\255\255\255\255\255\255\255\255\255w\NULx\NULy\NUL\255\255\255\255w\NULx\NULy\NULA\NULB\NULC\NULD\NUL\255\255\255\255\255\255x\NULy\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL6\NUL\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\&7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255F\NULG\NUL\255\255\255\255y\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL7\NUL\255\255\255\255\&6\NULq\NUL\255\255s\NULt\NUL;\NUL<\NUL=\NUL\255\255y\NUL\255\255A\NULB\NULC\NULD\NULw\NULx\NULy\NUL\255\255\255\255\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255\255\255w\NULx\NULy\NUL7\NULw\NULx\NULy\NUL;\NUL<\NUL=\NUL7\NUL6\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255Z\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255w\NULx\NULy\NUL\255\255\255\255s\NULt\NULw\NULx\NULy\NUL+\NUL\255\255-\NUL\255\255\255\255\255\255\255\255\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255+\NUL\255\255-\NUL\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255+\NULQ\NUL\255\255S\NULT\NULU\NUL1\NUL\255\255\255\255\255\255\255\255\&6\NUL\255\255]\NUL^\NUL_\NUL+\NUL\255\255\255\255>\NUL\255\255\255\255\&1\NUL\255\255C\NUL\255\255\255\255\&6\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL>\NUL\255\255P\NUL\255\255R\NULC\NUL\255\255\255\255V\NULG\NULH\NUL\255\255\255\255\255\255\255\255M\NUL^\NUL\255\255P\NUL\255\255R\NUL,\NUL\255\255\255\255V\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255.\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\\\NUL]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NULV\NUL\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\&1\NUL\255\255\&3\NUL\255\255\&5\NUL]\NUL^\NUL8\NUL\255\255\255\255;\NUL\255\255=\NUL>\NUL?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255G\NUL\255\255\255\255J\NULK\NUL\255\255M\NULN\NUL\255\255P\NULQ\NULR\NULS\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL1\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255\255\255>\NUL?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255G\NULH\NUL\255\255J\NULK\NUL\255\255M\NUL\255\255\255\255P\NUL\255\255R\NUL\255\255T\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL\255\255^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255]\NUL^\NUL_\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL\255\255\255\255;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NULV\NUL3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL\255\255\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255=\NUL\255\255?\NUL\255\255\255\255\255\255\255\255D\NULE\NUL\255\255\255\255\255\255\255\255J\NULK\NUL\255\255\255\255N\NUL\255\255\255\255Q\NUL\255\255S\NULT\NULU\NUL\255\255\&3\NUL\255\255\&5\NUL6\NUL\255\255\&8\NUL]\NUL^\NUL;\NUL\255\255\255\255\255\255?\NUL\255\255\255\255\255\255C\NULD\NULE\NUL\255\255\255\255H\NUL\255\255J\NULK\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255T\NULU\NULV\NUL\255\255\255\255\255\255\255\255\255\255\255\255S\NUL^\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NULU\NULV\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULS\NULv\NUL\255\255V\NULW\NULX\NULY\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NULv\NUL\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NUL\255\255S\NUL\255\255\255\255\255\255\255\255\255\255|\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255S\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255q\NUL\255\255s\NULt\NUL\255\255Z\NUL\255\255\\\NULy\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255p\NUL\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL]\NUL^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255o\NUL\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255n\NUL\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NULl\NUL\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255r\NULs\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NULj\NULk\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NULi\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NULh\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255s\NULt\NULZ\NUL\255\255\\\NUL\255\255^\NUL_\NUL`\NULa\NULb\NULc\NULd\NULe\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255s\NULt\NUL\255\255\255\255\255\255M\NULN\NULO\NULP\NULQ\NULR\NUL;\NUL<\NUL=\NUL\255\255\255\255\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\&1\NULM\NULN\NULO\NULP\NULQ\NULR\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL1\NULA\NULB\NULC\NULD\NUL\255\255\255\255\&8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL8\NUL\255\255:\NUL;\NUL<\NUL=\NUL>\NUL?\NUL\255\255A\NULB\NULC\NULD\NUL\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255\255"#
-
-happyTable :: HappyAddr
-happyTable
-  = HappyA#
-      "\NUL\NUL\136\NULL\NULM\NUL\162\SOH{\ETX^\ETX\DC2\ETX\DC3\ETX\DC1\ETX\DC2\ETX\DC3\ETX`\ETX=\254\230\STX%\STX\141\SOHr\ETX\170\NUL\203\SOH5\ETX%\ETX\SUB\STXz\ETXN\NULi\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\212\STX\SYN\ETX\248\NUL{\STX\130\STX\239\NUL_\NUL\132\SOH\199\NUL\185\NUL`\NUL\200\NUL\247\SOH\188\NUL=\SOHL\NULM\NULu\SOH6\ETX{\ETXa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL%\STXO\ETX\186\NUL\131\STX\203\SOHv\SOH\189\NUL\226\SOH\249\NULN\NULq\ETXO\NUL&\STXP\NULQ\NULR\NUL\204\SOHS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\DC4\ETX\151\SOH\134\NUL\DC4\ETX\DC4\ETX\132\NUL_\NUL\134\NULs\ETX\132\NUL`\NUL\134\NUL\134\NUL\214\NULK\NULL\NULM\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\240\NULK\NUL\200\SOHc\NUL\201\SOH*\NUL\182\NUL\132\NUL\152\SOH\134\NULN\NUL\134\NULO\NUL\201\NULP\NULQ\NULR\NUL\190\NULS\NULT\NULU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\170\NUL\203\SOH\ACK\STXO\ETX\170\NUL\132\NUL_\NUL\134\NULj\ETX\132\NUL`\NUL\134\NULU\ETX\204\SOH\a\STX\221\SOH\189\NULh\NULi\NULj\NULa\NULb\NULc\NULd\NULe\NULf\NULg\NUL\156\NUL9\ETX\171\NUL\251\STX\172\NUL\196\NUL%\STX;\ETX\132\NUL\152\SOH\134\NUL\173\NUL]\NUL^\NUL\215\NUL\225\STX\183\NUL\211\STX&\STX\224\STX_\NUL%\STX\157\SOH\174\NUL\197\NULV\ETX\222\SOH\n\ETX<\254\247\SOHm\ETX\v\ETX\246\SOH&\STX\175\NULb\NULc\NULd\NUL\176\NULf\NULg\NUL<\254\216\NUL\185\NUL\247\SOH\217\NUL<\254h\NULi\NULj\NUL\203\SOH\181\NUL\218\NUL]\NUL^\NUL\158\SOH\190\NUL\212\STXn\ETX\225\STX<\254_\NUL\204\SOH`\STX\186\NUL\132\NUL\132\NUL\215\NUL\134\NUL\247\SOH\240\NULK\NUL\182\NUL\213\NUL\161\NUL\219\NULb\NULc\NULd\NUL\220\NULf\NULg\NULT\ETXA\ETX\159\SOH\214\NUL\160\SOH\162\NUL\174\NUL\177\NULj\NUL\198\NUL\163\NUL\161\SOH]\NUL^\NUL\150\NUL\132\NUL\215\NUL\134\NUL\249\SOH\EM\ETX_\NUL\236\STX\232\STX\162\SOH\164\NUL\SUB\ETX\132\NUL\215\NUL\134\NULB\ETX\132\NUL\215\NUL\134\NUL\247\SOH\163\SOHb\NULc\NULd\NUL\164\SOHf\NULg\NUL\132\NUL\215\NUL\151\NUL\195\NUL\152\NUL\196\NUL\240\NULK\NUL\221\NUL\ESC\ETXl\NUL\153\NUL]\NUL^\NUL\134\STX\GS\ETX\183\NUL\250\SOH\132\NUL\137\STX_\NUL(\ETXm\NUL\f\STX\197\NUL\132\NUL\152\SOH\134\NUL\240\NULK\NUL\193\STX\128\STXj\NUL\161\NUL\154\NULb\NULc\NULd\NUL\155\NULf\NULg\NUL\132\NUL\215\NUL\171\NUL\203\SOH\172\NUL\162\NUL\216\NUL\185\NUL\156\NUL\217\NUL\163\NUL\173\NUL]\NUL^\NUL\FS\ETX\204\SOH\218\NUL]\NUL^\NULg\STX_\NUL`\STX\152\STX\174\NUL\164\NUL_\NUL\218\SOH\219\SOH\186\NUL\153\STX\132\NUL\215\NUL\134\NUL\140\STX\175\NULb\NULc\NUL\208\SOH\154\STX\219\NULb\NULc\NUL\208\SOH\159\SOH\168\STX\160\SOH\r\STX\140\NULj\NUL\156\NUL\198\NUL\132\SOH\161\SOH]\NUL^\NUL\151\SOH\161\NUL\180\STX\132\SOHh\STX\132\NUL_\NUL\134\NUL\168\254\162\SOH\188\NUL\168\254\214\NUL\236\SOH\162\NULn\ETX2\NUL3\NUL\215\SOH\163\NUL\163\SOHb\NULc\NUL\208\SOH\144\STX4\NUL5\NUL6\NUL7\NUL8\NUL%\STX\189\NUL\SYN\STX\164\NUL\135\STXj\NUL\168\254\218\STX\225\SOH\132\NUL\221\NUL\134\NUL&\STX\192\NUL\185\NUL7\ETX\184\NUL\185\NUL8\ETXF\STX2\NUL3\NUL\145\STX\141\STX\EM\STXH\STXI\STXJ\STX\ESC\STX4\NUL5\NUL6\NUL7\NUL8\NUL\RS\STX\186\NUL\240\NULK\NUL\186\NULK\STX\169\NULO\NUL\170\NULP\NULL\STXM\STX\156\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\224\SOH\225\SOH\132\NUL\152\SOH\134\NULB\STX_\NUL \STXp\SOH\190\NULO\STX\ACK\NULq\SOH\a\NUL\226\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL/\STX9\NUL\132\NUL\215\NUL\134\NUL\137\SOH\CAN\NUL\EM\NUL\168\SOH:\NUL\146\NULc\NUL\233\SOH\193\NUL\229\255\ACK\NUL\187\NUL\a\NUL\134\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\132\SOH9\NUL\226\SOH\132\SOH5\STX\198\SOH\CAN\NUL\EM\NULC\STX:\NULh\NUL\195\SOHj\NULF\STX2\NUL3\NULD\STXG\STX`\STXH\STXI\STXJ\STX?\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\146\SOH\SUB\STX\149\NULj\NUL\131\SOHK\STX\132\SOHO\NUL@\SOHP\NULL\STXM\STX\214\NULS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\r\SOHp\ETX\140\NULj\NUL\137\SOH\132\SOH_\NUL\134\SOH\132\SOH\153\SOHO\STX\168\SOH\198\SOH\151\SOH\130\SOH\234\STX#\STX\207\NUL\235\STX\ACK\STX\136\SOH\170\NUL\200\SOHc\NUL\201\SOH\214\NUL\138\SOH\SO\SOHU\NUL\152\SOH\SI\SOH\a\STX\DLE\SOH\132\SOH\DC1\SOH\\\NUL]\NUL^\NUL\132\SOH\154\SOH\132\SOH\132\SOH\192\NUL\185\NUL_\NUL\ACK\NUL\155\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\186\NUL9\NUL\132\NUL\215\NUL\134\NULh\SOH\CAN\NUL\EM\NUL\167\SOH:\NULh\NUL\195\SOHj\NUL\156\NUL\169\SOH\207\SOHb\NULc\NUL\208\SOH\ACK\NUL\188\SOH\a\NUL\197\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH\132\NUL\152\SOH\134\NUL\199\SOH\CAN\NUL\EM\NUL\132\NUL\215\NULh\NUL\NAK\SOHj\NUL\246\SOH\156\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH0\ETX\212\SOHu\STX1\ETX\247\SOHv\STX\SO\SOHU\NUL\193\NUL\SI\SOH\213\SOH\DLE\SOH\156\NUL\DC1\SOH\\\NUL]\NUL^\NUL\r\SOH \ETX!\ETX\159\NUL\EOT\ETX\"\ETX_\NUL+\ETX,\ETX\221\STX\DC2\SOH\174\NUL\222\STX.\ETX\164\NUL\174\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL\156\NUL\209\SOHb\NULc\NUL\208\SOH\231\NUL\SO\SOHU\NUL\237\NUL\SI\SOHi\SOH\DLE\SOH\250\NUL\DC1\SOH\\\NUL]\NUL^\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH_\NUL\ACK\NUL\EOT\SOH\a\NUL\DC2\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\n\SOH\DC4\SOH\132\NUL\215\NUL+\SOHk\SOH\CAN\NUL\EM\NUL\135\NUL\ENQ\NULh\NUL\NAK\SOHj\NUL-\STXj\NUL\ENQ\NUL\DEL\STX\128\STXj\NUL\ACK\NUL}\ETX\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\r\SOH\DC4\SOH8\STXb\NULc\NUL\208\SOH\CAN\NUL\EM\NUL\174\NUL~\ETXh\NUL\NAK\SOHj\NUL+\STX\206\NUL\207\NUL,\STX\209\NUL*\NUL\209\SOHb\NULc\NULd\NUL\181\STX\210\SOHg\NUL\DEL\ETX\SO\SOHU\NULu\ETX\SI\SOHv\ETX\DLE\SOHw\ETX\DC1\SOH\\\NUL]\NUL^\NUL8\ETX\166\NUL\167\NUL\190\SOHi\ETXO\NUL_\NULP\NUL\191\SOH\192\SOH\DC2\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NULZ\ETX \SOH!\SOH\"\SOH#\SOH*\NUL_\NULe\SOH\DC3\SOH\170\NUL\194\SOH\240\NULK\NUL-\STXj\NUL\249\STXb\NULc\NUL\208\SOHf\SOH=\ETX>\ETX\ACK\NUL\134\NUL\a\NULl\ETX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\ACK\NUL\DC4\SOH\a\NULX\ETX\NUL\SOH\t\NUL\CAN\NUL\EM\NUL\254\STX\255\STXh\NUL\NAK\SOHj\NUL\151\NUL\134\NUL\152\NUL\NUL\ETX\SOH\ETX\238\SOH\250\SOH\EM\ETX\152\NUL\153\NUL]\NUL^\NUL\CAN\NUL\EM\NUL]\ETX\153\NUL]\NUL^\NUL_\NUL^\ETXh\NUL\195\SOHj\NUL\190\SOH_\NULO\NUL`\ETXP\NUL\191\SOH\192\SOHc\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ETB\STX\250\SOH\143\STX\162\SOH\240\NULK\NUL_\NUL&\STX\166\NUL\167\NUL\194\SOHI\ETX\140\NULj\NUL\229\SOHb\NULc\NUL\208\SOH\190\SOHd\ETXO\NULe\ETXP\NUL\191\SOH\192\SOH=\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\ACK\NUL@\ETX\a\NUL?\ETX\STX\SOH\t\NUL_\NUL\156\NULC\ETX\159\SOH\194\SOH\160\SOHI\ETX\156\NUL\134\NUL\172\NUL\240\NULK\NUL\161\SOH]\NUL^\NUL!\STX\173\NUL]\NUL^\NUL\CAN\NUL\EM\NUL_\NUL\RS\SOH\US\SOH\162\SOH_\NUL\156\NULO\ETX\174\NUL\134\NULh\NUL\195\SOHj\NUL\190\SOHQ\ETXO\NULS\ETXP\NUL\191\SOH\192\SOH\134\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL0\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX_\NUL\146\NULc\NUL\147\NUL\194\SOH\148\NULg\NUL$\SOH%\SOHh\NUL\195\SOHj\NUL\190\SOH\227\STXO\NUL\134\NULP\NUL\191\SOH\192\SOH\240\STXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NUL\174\NUL\251\STX\252\STXj\NUL\241\STX_\NULJ\ETX\140\NULj\NUL\194\SOH\160\SOH\209\SOHb\NULc\NUL\208\SOHL\ETX\244\STX\161\SOH]\NUL^\NUL6\STX\245\STX\149\SOHj\NUL\240\NULK\NUL_\NUL&\SOH'\SOH\162\SOH\249\STXb\NULc\NUL\208\SOH\246\STXh\NUL\195\SOHj\NUL\190\SOH\247\STXO\NUL\n\ETXP\NUL\191\SOH\192\SOH\238\SOHS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\189\SOH\ACK\STX\CAN\ETX\170\NUL\228\NUL\229\NUL_\NUL\r\ETX\211\SOHj\NUL\194\SOH\230\NUL\231\NUL\a\STX\SO\ETXh\NUL\195\SOHj\NUL\190\SOH\SI\ETXO\NUL\DLE\ETXP\NUL\191\SOH\192\SOH\ETB\ETXS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\156\NULo\ETX2\NUL3\NUL\240\NULK\NUL_\NUL\161\NUL\CAN\SOH\EM\SOH\194\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\161\NUL\151\NUL=\NUL\152\NUL\162\NULK\ETX\140\NULj\NUL+\ETX\163\NUL\153\NUL]\NUL^\NUL\162\NULE\ETX2\NUL3\NUL\US\ETX\163\NUL_\NULh\NUL\195\SOHj\NUL\164\NUL4\NUL5\NUL6\NUL7\NUL8\NUL\RS\SOH\US\SOH\134\NUL\164\NUL#\ETX\200\SOHc\NUL\201\SOH&\ETX\132\NUL\215\NUL\134\NUL\DLE\ETX2\NUL3\NUL$\SOH%\SOHw\STX\166\NUL\167\NULx\STXy\STX4\NUL5\NUL6\NUL7\NUL8\NUL\232\SOH'\ETXh\NUL\195\SOHj\NUL\241\STX\140\NULj\NUL&\SOH'\SOH\143\NULb\NULc\NUL\208\SOH\ACK\NUL|\STX\a\NUL}\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL\242\STX\140\NULj\NULc\STX\CAN\NUL\EM\NUL>\254:\NUL\ACK\NUL\188\SOH\a\NUL\140\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\146\STX9\NULh\NUL\145\NULj\NUL\134\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL*\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\STX9\NUL\149\STX2\NUL3\NUL\161\NUL\CAN\NUL\EM\NUL\157\STX:\NUL\165\STX\167\STX4\NUL5\NUL6\NUL7\NUL8\NUL\238\SOH\162\NUL\202\NUL\179\STX\162\SOH\180\STX\163\NUL\188\STX\189\STX\158\STX\206\NUL\207\NUL\150\STX2\NUL3\NUL\229\SOHb\NULc\NUL\208\SOH\191\STX\164\NUL\192\STX4\NUL5\NUL6\NUL7\NUL8\NUL*\STX\206\NUL\207\NUL\ENQ\ETX\166\NUL\167\NUL\207\SOHb\NULc\NUL\208\SOH\134\NUL\209\STX\151\STX2\NUL3\NULf\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\134\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\203\NUL\214\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\215\STX\210\NULb\NULc\NULd\NUL\211\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL\218\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\156\NUL9\NUL&\STX\166\NUL\167\NUL\220\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\223\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\223\SOH9\NUL#\ETX\166\NUL\167\NUL\224\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\229\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\236\SOH9\NULA\STX2\NUL3\NUL\228\SOH\CAN\NUL\EM\NUL\238\SOH:\NUL\251\SOH\252\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\134\NUL\DC2\STX\224\NUL&\STX\166\NUL\167\NUL\162\STX\166\NUL\167\NUL*\STX\206\NUL\207\NULR\STX2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\163\STX\166\NUL\167\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH&\STX\166\NUL\167\NUL\184\STX\140\NULj\NULv\SOH2\NUL3\NUL\189\STX\140\NULj\NUL\194\STX\140\NULj\NUL\238\SOH4\NUL5\NUL6\NUL7\NUL8\NUL\225\NUL\EM\STX\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL=\NUL\210\NULb\NULc\NULd\NUL\226\NULf\NULg\NUL\ACK\NUL\156\NUL\a\NUL \STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\238\SOH9\NUL\195\STX\140\NULj\NUL(\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL)\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULx\SOH9\NUL\196\STX\140\NULj\NUL\238\SOH\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL4\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\134\NUL9\NUL\241\NUL2\NUL3\NUL\238\SOH\CAN\NUL\EM\NUL:\STX:\NUL;\STX<\STX4\NUL5\NUL6\NUL7\NUL8\NUL@\STX\146\SOH\207\NUL\147\SOH\209\NUL\157\STX=\STX\146\NULc\NUL\233\SOH>\STX*\NUL1\NUL2\NUL3\NUL\207\SOHb\NULc\NUL\208\SOH\200\STX\140\NULj\NUL4\NUL5\NUL6\NUL7\NUL8\NUL}\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\201\STX\140\NULj\NUL\188\SOHT\STX\ACK\NULF\STX\a\NULW\STX\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULU\STX\234\NULV\STXy\SOH\149\SOHj\NUL\CAN\NUL\EM\NUL\205\STX\140\NULj\NULX\STXY\STX\ACK\NUL\156\NUL\a\NUL\134\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NULd\STX9\NUL\216\STX\166\NUL\167\NULf\STX\CAN\NUL\EM\NUL\ACK\NUL:\NUL\a\NUL\ESC\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\SUB\SOH9\NUL\133\STXJ\STX\FS\SOH\GS\SOH\CAN\NUL\EM\NULi\STX:\NUL\ACK\STXk\SOH\170\NUL]\SOH^\SOHK\STXh\SOHO\NUL\134\NULP\NULL\STXM\STX\a\STXS\NULN\STXU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\165\NUL\166\NUL\167\NULt\SOH\216\NUL\185\NUL_\NUL\217\NULx\SOH|\SOHO\STX\230\SOH\166\NUL\167\NUL\218\NUL]\NUL^\NULs\SOH\231\SOH\166\NUL\167\NUL~\SOH\134\NUL_\NUL=\NUL\136\SOH\186\NUL=\NUL=\254\ACK\NULl\NUL\a\NUL\134\SOH\244\NUL\t\NUL\n\NULI\SOH\247\SOHb\NULc\NUL\208\SOH=\254m\NUL\229\255\134\SOH\ACK\NUL=\254\a\NUL=\NUL\244\NUL\t\NUL\ETX\SOH\165\STX\158\SOH\CAN\NUL\EM\NUL\142\SOH\206\NUL\207\NUL=\NUL=\254\170\NUL\143\NULb\NULc\NUL\208\SOH\132\NUL\215\NUL\134\NUL\197\SOH\CAN\NUL\EM\NUL?\SOH\205\SOHh\NUL\195\SOHj\NULn\NULo\NUL=\NULp\NUL\207\SOHq\NUL*\NUL\134\NULr\NUL\218\SOH\255\255s\NUL\138\NULt\NULu\NULv\NUL\221\NUL\165\NUL\166\NUL\167\NULw\NULx\NUL\139\NULy\NUL\136\STX\134\NULz\NUL{\NUL\142\NUL|\NUL}\NUL\134\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\233\NULh\NUL\144\SOHj\NUL=\NUL\255\255\132\NUL\133\NUL\134\NUL\135\NUL\ESC\NUL\SO\STX\140\NULj\NUL?\254\251\255\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\234\NUL\237\NUL#\NUL&\STX\166\NUL\167\NUL\ACK\NUL\243\NUL\a\NUL\241\NUL\244\NUL\t\NULa\STX$\NUL\244\NUL\203\NUL\248\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\252\NUL\210\NULb\NULc\NUL\208\SOH\253\NUL<\NUL=\NUL\CAN\NUL\EM\NUL%\NUL>\NULo\NUL?\NULp\NUL@\NULq\NUL=\254A\NULr\NULB\NULC\NULs\NUL\255\255t\NULu\NULv\NULD\NULE\NULF\NUL=\254w\NULx\NUL\254\NULy\NUL=\254G\NULz\NUL{\NUL&\NUL|\NUL}\NULH\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254I\NUL'\NUL(\NUL)\NUL*\NULJ\NULQ\STX\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL4\STX\140\NULj\NUL\255\NUL\NUL\SOH\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\ACK\SOHo\NUL#\NUL\255\255\ETB\SOH\ACK\NUL\161\NUL\a\NUL\SUB\SOH\244\NUL\t\NUL\n\NULJ\SOH$\NULu\NULo\SOH\140\NULj\NUL\ESC\SOH\162\NUL\128\SOH\140\NULj\NULy\NUL\163\NUL\129\SOH\140\NULj\NUL\FS\SOH|\NUL\CAN\NUL\EM\NUL~\NUL%\NUL\128\NUL\215\255\GS\SOH\215\255\164\NUL\215\255\215\255\NUL\NUL\215\255\NUL\NUL\NUL\NUL\215\255\134\NUL\215\255\215\255\215\255\139\SOH\166\NUL\167\NUL\215\255\215\255\215\255\NUL\NUL\215\255\215\255\NUL\NUL\215\255\215\255&\NUL\215\255\215\255\NUL\NUL\215\255\215\255\215\255\215\255\215\255\215\255\215\255\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\215\255\215\255,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\165\NUL\166\NUL\167\NUL\NUL\NUL\174\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\209\SOHb\NULc\NULd\NUL\NUL\NUL\210\SOHg\NUL>\STX\NUL\NULO\NUL$\NULP\NUL\191\SOH\192\SOH\NUL\NULS\NUL\193\SOHU\NULV\NULW\NULX\NULY\NULZ\NUL[\NUL\\\NUL]\NUL^\NUL\139\NUL\140\NULj\NUL%\NUL\NUL\NULo\NUL_\NULp\NUL\NUL\NULq\NUL\194\SOH\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\165\NUL\166\NUL\167\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\211\SOHj\NULz\NUL{\NUL&\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NULR\STX-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\180\NUL\140\NULj\NUL\NUL\NULY\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NULh\NUL\195\SOHj\NUL\141\SOHG\ETX\170\NUL\141\SOH\t\ETX\170\NUL$\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\141\SOH\162\STX\170\NUL\141\SOH\168\STX\170\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL=\NUL\NUL\NUL\NUL\NUL%\NUL\146\NULc\NUL\233\SOHp\NUL\SOH\STXq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\STX\STX\141\SOH\206\SOH\170\NULw\NULx\NULh\NUL[\STXj\NUL\NUL\NULz\NUL{\NUL&\NUL\138\STX}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\149\SOHj\NUL\NUL\NUL<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL8\SOH<\254\&9\SOH\NUL\NUL:\SOH;\SOH<\254\NUL\NUL<\SOH=\SOH$\NUL\NUL\NUL\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL<\254\210\NULb\NULc\NUL\208\SOH\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL%\NUL\141\SOH\235\SOH\170\NULp\NULe\SOHq\NUL\170\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NULf\SOH(\SOH)\SOH*\SOHw\NULx\NUL\169\NUL\206\SOH\170\NUL\NUL\NULz\NUL{\NUL&\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\133\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL(\SOH)\SOH*\SOH<\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL<\254\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254+\STX\206\NUL\207\NUL$\NUL\NUL\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\ACK\NUL<\254\a\NUL\NUL\NUL\244\NUL\t\NULF\SOH<\NUL=\NUL\134\NUL\NUL\NUL%\NUL>\NUL\NUL\NUL?\NUL\NUL\NUL@\NUL\NUL\NUL\NUL\NULA\NUL\NUL\NULB\NULC\NUL\142\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NULD\NULE\NULF\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NULd\NULG\NUL\144\NULg\NUL&\NUL\NUL\NUL\NUL\NULH\NUL\NUL\NUL\NUL\NUL\SOH\STX\NUL\NUL\170\NUL\ACK\ETXj\NULI\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\STX\STX,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\187\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\145\NULj\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\161\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\162\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\163\NUL\132\NUL\159\NUL\134\NUL&\NUL<\254\NUL\NUL\ACK\NULf\SOH\a\NUL\NUL\NUL\244\NUL\t\NULG\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\SYN\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL$\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL%\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL\161\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\180\NUL\134\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SOH\STX\162\NUL\170\NUL\NUL\NUL%\STX\NUL\NUL\163\NUL\161\STX\NUL\NUL\NUL\NUL&\NUL=\254\STX\STX\146\NULc\NUL\147\NUL&\STX\148\NULg\NUL\247\SOH\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\175\SOH\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\161\NUL\ACK\NUL\NUL\NUL\a\NUL\161\NUL\ACK\SOH\t\NUL\161\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NUL\149\NULj\NUL\NUL\NUL\162\NUL\163\NUL\NUL\NUL\162\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\163\NUL\CAN\NUL\EM\NUL%\NUL\ACK\NUL\NUL\NUL\a\NUL\164\NUL\b\SOH\t\NUL=\254\164\NUL\NUL\NUL\132\NUL\164\NUL\134\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\132\NUL\215\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\CAN\NUL\EM\NUL\NUL\NUL&\NUL\176\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL/\STX\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NULu\STX\NUL\NUL\214\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULK\SOH\ESC\NUL$\NULu\STX\NUL\NUL\NUL\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NULw\STXf\ETX\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULM\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX4\ETX\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\215\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULQ\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\DC1\STX\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\147\NUL$\NUL\148\NULg\NUL\ACK\NUL\ESC\NUL\a\NULu\STX\v\SOH\t\NULv\STX\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\CAN\NUL\EM\NUL$\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NULH\SOH\NUL\NUL<\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL<\254\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\149\SOHj\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\CAN\NUL\EM\NUL<\254\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULf\SOH\134\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NULR\SOH'\NUL(\NUL)\NUL*\NULJ\NULK\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\161\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\ETX\SOH\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\134\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\ACK\NUL$\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULN\SOH\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULw\STX\NUL\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\158\STX\206\NUL\207\NUL\159\STX\209\NUL\NUL\NUL\229\SOHb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\203\SOH\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\230\STX\NUL\NUL\NUL\NUL\204\SOH\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NULL\SOH\ESC\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\156\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\161\NUL%\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL$\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULO\SOH\162\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\CAN\NUL\EM\NUL&\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\NUL\NUL\134\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NULP\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\"\STX\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL$\NUL\ESC\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NULc\STX\NUL\NUL\ACK\NUL%\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL*\SOH\NUL\NUL$\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\CAN\NUL\EM\NUL\NUL\NUL%\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL%\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\f\SOH\t\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL&\NUL\CAN\NUL\EM\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX\NUL\NUL\146\NULc\NUL\233\SOH'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\149\SOHj\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\209\STX\NUL\NUL\NUL\NUL&\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL$\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\b\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\146\SOH\207\NUL\147\SOH\209\NUL\a\ETX\NUL\NUL\146\NULc\NUL\233\SOH\n\SOH$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\STX\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL$\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL&\NUL%\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULe\SOH\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NULf\SOH,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL&\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NULm\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL\ESC\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\FS\NUL\GS\NUL\RS\NUL\US\NUL \NUL!\NUL\"\NUL\NUL\NUL\NUL\NUL#\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL$\NULn\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL=\254\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\134\NUL\NUL\NUL%\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\ACK\STX\NUL\NUL\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\135\NUL&\NUL\NUL\NUL\a\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL'\NUL(\NUL)\NUL*\NUL+\NUL\NUL\NUL\NUL\NUL,\NUL-\NUL.\NUL/\NUL0\NUL1\NUL-\SOH.\SOH/\SOH0\SOH1\SOH2\SOH3\SOH4\SOH5\SOH6\SOH7\SOH\NUL\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\133\NUL\134\NUL\SOH\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\STX\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NUL\203\SOHo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\204\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\167\SOH\134\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\179\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\180\NUL\134\NUL\ACK\STXo\NUL\170\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\a\STXt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\223\NUL\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\224\NUL\134\NULe\SOHo\NUL\170\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NULf\SOHt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\203\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\204\SOHq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NULl\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NULm\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NULm\NULr\NUL\NUL\NUL\203\SOHs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\204\SOHy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\SOH\STX\251\STX\170\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL\NUL\NUL\161\NUL\NUL\NUL\STX\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\162\NULq\NUL\NUL\NUL\NUL\NULr\NUL\163\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\164\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\132\NUL}\NUL\134\NUL\NUL\NUL\158\NUL=\254\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\132\NUL\159\NUL\134\NUL=\254\NUL\NUL\NUL\NUL\176\SOH\177\SOH=\254S\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\132\NUL\NUL\NUL\134\NUL\181\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\SOH\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL)\STX_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\199\STXj\NUL\146\NULc\NUL\233\SOH\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\149\SOHj\NUL\181\SOH\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH\NUL\NUL\146\NULc\NUL\233\SOH\NUL\NULh\NUL\204\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\\\STX\166\NUL\167\NUL]\STX^\STX\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\146\SOH\207\NUL\147\SOH\209\NUL\148\SOH_\NUL\146\NULc\NUL\147\NUL\181\SOH\148\NULg\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\149\SOHj\NUL\NUL\NULh\NUL_\STXj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\SOH\183\SOH\184\SOH\185\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\149\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\182\SOH\183\SOH\184\SOH\NUL\NUL\NUL\NUL\NUL\NUL\176\SOH\177\SOH\NUL\NULS\NUL\178\SOHU\NULV\NULW\NUL\179\SOH\180\SOHZ\NUL[\NUL\\\NUL]\NUL^\NUL\NUL\NUL\216\NUL\185\NUL\NUL\NUL\217\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\181\SOH\218\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\171\NUL\186\NUL\172\NUL\NUL\NULh\NUL\186\SOHj\NUL\206\STX\NUL\NUL\173\NUL]\NUL^\NUL\a\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\b\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\252\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\253\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NULh\NUL\186\SOHj\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\NUL\NUL\171\NUL\NUL\NUL\172\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\221\NUL\173\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL#\STX\207\NUL\NUL\NUL\NUL\NUL\254\SOH\255\SOH\200\SOHc\NUL\201\SOH\242\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\151\NUL\NUL\NUL\152\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\159\SOH\NUL\NUL\160\SOH\NUL\NUL\NUL\NUL\NUL\NUL\151\NUL\NUL\NUL\152\NUL\161\SOH]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL_\NUL\156\NUL\NUL\NUL\162\SOH\243\SOHj\NUL_\NUL\NUL\NULw\STX\166\NUL\167\NULx\STXy\STX\NUL\NUL\212\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\241\SOHb\NULc\NUL\208\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\DC2\SOH\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\182\STX\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\129\STX\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\183\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NULU\SOH\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\239\SOH\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\240\SOH\NUL\NUL\FS\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\GS\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NULT\SOH\NUL\NUL\SO\SOHU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH1\STX\DC1\SOH\\\NUL]\NUL^\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\ACK\NUL\DC2\SOH\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL2\STX\NUL\NUL\215\SOH\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\216\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\169\STXU\NUL\NUL\NUL\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\247\STX\171\STX\172\STX\169\STXU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\170\STX\171\STX\172\STX\SO\SOHU\NUL_\NUL\SI\SOH\NUL\NUL\DLE\SOH\173\STX\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\SO\SOHU\NUL\DC2\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\NUL\NUL\132\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\174\STXj\NUL\NUL\NUL\SO\SOHU\NULm\SOH\SI\SOH\NUL\NUL\DLE\SOH\NUL\NUL\DC1\SOH\\\NUL]\NUL^\NULh\NUL\174\STXj\NUL\NUL\NUL\172\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\DC2\SOH\173\NUL]\NUL^\NUL\174\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL_\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NULn\SOH\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL^\SOH_\SOH\166\NUL\167\NUL`\SOHa\SOH\152\NUL\NUL\NUL\NUL\NUL\174\NUL\NUL\NUL\NUL\NUL\NUL\NUL\153\NUL]\NUL^\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\248\STX_\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULh\NUL\NAK\SOHj\NUL\NUL\NUL\NUL\NUL\DEL\STX\236\STXj\NUL\249\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NULb\SOHc\SOH\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\162\SOH\NUL\NUL\NUL\NUL\NUL\NUL\DC2\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\141\SOH\DC3\STX\DC4\STXj\NUL\142\SOH\206\NUL\207\NUL\143\SOH\209\NUL\NUL\NUL\143\NULb\NULc\NULd\NUL\NUL\NUL\144\NULg\NUL\NUL\NUL\NUL\NUL\156\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\170\SOH\NUL\NUL\NUL\NUL\174\NUL\185\STX\NUL\NUL\CAN\NUL\EM\NUL+\STX\206\NUL\207\NUL\NUL\NUL\156\NUL\NUL\NUL\209\SOHb\NULc\NUL\208\SOHh\NUL\144\SOHj\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL~\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\172\SOH\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NULh\NUL\173\SOHj\NUL\197\STX\DEL\STX\237\STXj\NUL\142\SOH\206\NUL\207\NUL\202\STX\159\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\143\NULb\NULc\NUL\208\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NULZ\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\192\STX\NUL\NULh\NUL\198\STXj\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULh\NUL\203\STXj\NUL\176\STX\NUL\NUL\ENQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\176\STX\NUL\NUL\177\STX\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\192\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NULo\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\161\NUL\NUL\NUL\133\NUL\134\NUL\178\STX\195\NUL\NUL\NUL\NUL\NULu\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NUL\162\NUL\NUL\NUL\NUL\NUL\161\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NULu\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\162\NUL\NUL\NUL\NUL\NUL\164\NULy\NUL\163\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL|\NUL\134\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL=\NUL\NUL\NUL\NUL\NUL\164\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\208\STX\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\188\SOH\133\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254\NUL\NUL;\254;\254;\254;\254;\254;\254;\254\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254o\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\166\SOH\128\NUL\129\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\167\SOH\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL=\254\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL=\254w\NULx\NUL\NUL\NULy\NUL=\254\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL=\254\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\133\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\158\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\159\NUL\134\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NULy\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL}\NUL\NUL\NUL~\NUL\DEL\NUL\128\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NULo\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NUL\NUL\NULu\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NULy\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL|\NUL\NUL\NUL\NUL\NUL~\NUL\NUL\NUL\128\NUL\NUL\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\NUL\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\133\NUL\134\NUL\178\STXp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\NUL\NUL\NUL\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\179\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NUL;\254\NUL\NUL;\254;\254\NUL\NUL;\254\180\NUL\134\NUL;\254\NUL\NUL;\254\NUL\NUL;\254\NUL\NUL\NUL\NUL\NUL\NUL;\254;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL\NUL\NUL;\254\NUL\NUL;\254;\254;\254;\254p\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL;\254;\254s\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\166\SOH\NUL\NUL\129\NUL\130\NUL\131\NUL\164\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\167\SOH\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\158\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\NUL\NUL\NUL\NULr\NUL\159\NUL\134\NULs\NUL\NUL\NULt\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULw\NULx\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL}\NUL\NUL\NUL\NUL\NUL\DEL\NUL\NUL\NUL\129\NUL\130\NUL\131\NUL\NUL\NULp\NUL\NUL\NULq\NUL\161\NUL\NUL\NULr\NUL\133\NUL\134\NULs\NUL\NUL\NUL\NUL\NUL\NUL\NULv\NUL\NUL\NUL\NUL\NUL\NUL\NUL\162\NULw\NULx\NUL\NUL\NUL\NUL\NUL\163\NUL\NUL\NULz\NUL{\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\130\NUL\131\NUL\164\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULl\STX\134\NUL'\ETXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NULl\STXs\STXm\STXn\STXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL1\ETXs\STX\NUL\NUL2\ETXo\STXp\STXq\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NULs\STX\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\227\STX\CAN\NUL\EM\NUL\NUL\NULg\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\228\STX\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL.\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\215\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULr\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\171\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\SI\STX\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\ACK\NUL\NUL\NUL\a\NUL\156\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULC\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NULD\ETX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\147\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\148\STX\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\234\NUL\NUL\NUL\235\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULw\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULx\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULa\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL:\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\146\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULA\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NULB\SOH\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULC\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULW\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULZ\SOH\NUL\NUL\NUL\NUL[\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NULz\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL|\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL~\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\DEL\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\SYN\NUL\NUL\NUL\ETB\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULV\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULX\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL[\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULf\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULG\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULM\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULQ\ETX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\232\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NUL\238\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL)\ETX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULi\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULk\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL@\STX\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULE\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\b\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\NAK\NULl\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NUL\245\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\246\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULj\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NUL\DC3\NUL\DC4\NULd\STX\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NUL\DC2\NULY\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NUL\SI\NUL\DLE\NUL\DC1\NULV\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\ACK\NUL\NUL\NUL\a\NUL\NUL\NUL\244\NUL\t\NUL\n\NUL\v\NUL\f\NUL\r\NUL\SO\NULS\SOH\STX\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\ETX\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\CAN\NUL\EM\NUL\NUL\NUL\NUL\NUL\NUL\NUL\EOT\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\t\STX\206\NUL\207\NUL\NUL\NUL\NUL\NUL\NUL\NUL\n\STXb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NULY\ETX\v\STX_\SOH\166\NUL\167\NUL`\SOHa\SOH\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\SOH\ETX\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\STX\ETX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\203\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\225\NUL\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH7\STX\NUL\NUL\204\NUL\205\NUL\206\NUL\207\NUL\208\NUL\209\NUL\NUL\NUL\244\SOHb\NULc\NUL\208\SOH\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL\NUL"#
-happyReduceArr
-  = array (4, 463)
-      [(4, happyReduce_4), (5, happyReduce_5), (6, happyReduce_6),
-       (7, happyReduce_7), (8, happyReduce_8), (9, happyReduce_9),
-       (10, happyReduce_10), (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)]
-happy_n_terms = 102 :: Int
-happy_n_nonterms = 125 :: Int
-happyReduce_4 = happyMonadReduce 1# 0# happyReduction_4
-happyReduction_4 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut8 happy_x_1 of
-           happy_var_1 -> (let decls = reverse happy_var_1 in
-                             case decls of
-                                 [] -> do n <- getNewName
-                                          p <- getCurrentPosition
-                                          return $ CTranslUnit decls (mkNodeInfo' p (p, 0) n)
-                                 (d : ds) -> withNodeInfo d $ CTranslUnit decls))
-      (\ r -> happyReturn (happyIn7 r))
-happyReduce_5 = happySpecReduce_0 1# happyReduction_5
-happyReduction_5 = happyIn8 (empty)
-happyReduce_6 = happySpecReduce_2 1# happyReduction_6
-happyReduction_6 happy_x_2 happy_x_1
-  = case happyOut8 happy_x_1 of
-        happy_var_1 -> happyIn8 (happy_var_1)
-happyReduce_7 = happySpecReduce_2 1# happyReduction_7
-happyReduction_7 happy_x_2 happy_x_1
-  = case happyOut8 happy_x_1 of
-        happy_var_1 -> case happyOut9 happy_x_2 of
-                           happy_var_2 -> happyIn8 (happy_var_1 `snoc` happy_var_2)
-happyReduce_8 = happySpecReduce_1 2# happyReduction_8
-happyReduction_8 happy_x_1
-  = case happyOut10 happy_x_1 of
-        happy_var_1 -> happyIn9 (CFDefExt happy_var_1)
-happyReduce_9 = happySpecReduce_1 2# happyReduction_9
-happyReduction_9 happy_x_1
-  = case happyOut32 happy_x_1 of
-        happy_var_1 -> happyIn9 (CDeclExt happy_var_1)
-happyReduce_10 = happySpecReduce_2 2# happyReduction_10
-happyReduction_10 happy_x_2 happy_x_1
-  = case happyOut9 happy_x_2 of
-        happy_var_2 -> happyIn9 (happy_var_2)
-happyReduce_11 = happyMonadReduce 5# 2# happyReduction_11
-happyReduction_11
-  (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 happyOut123 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $ CAsmExt happy_var_3))
-      (\ r -> happyReturn (happyIn9 r))
-happyReduce_12 = happyMonadReduce 2# 3# happyReduction_12
-happyReduction_12
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut11 happy_x_1 of
-           happy_var_1 -> case happyOut14 happy_x_2 of
-                              happy_var_2 -> (leaveScope >>
-                                                (withNodeInfo happy_var_1 $
-                                                   CFunDef [] happy_var_1 [] happy_var_2)))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_13 = happyMonadReduce 3# 3# happyReduction_13
-happyReduction_13
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut127 happy_x_1 of
-           happy_var_1 -> case happyOut11 happy_x_2 of
-                              happy_var_2 -> case happyOut14 happy_x_3 of
-                                                 happy_var_3 -> (leaveScope >>
-                                                                   (withNodeInfo happy_var_1 $
-                                                                      CFunDef
-                                                                        (liftCAttrs happy_var_1)
-                                                                        happy_var_2
-                                                                        []
-                                                                        happy_var_3)))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_14 = happyMonadReduce 3# 3# happyReduction_14
-happyReduction_14
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut37 happy_x_1 of
-           happy_var_1 -> case happyOut11 happy_x_2 of
-                              happy_var_2 -> case happyOut14 happy_x_3 of
-                                                 happy_var_3 -> (leaveScope >>
-                                                                   (withNodeInfo happy_var_1 $
-                                                                      CFunDef happy_var_1
-                                                                        happy_var_2
-                                                                        []
-                                                                        happy_var_3)))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_15 = happyMonadReduce 3# 3# happyReduction_15
-happyReduction_15
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut41 happy_x_1 of
-           happy_var_1 -> case happyOut11 happy_x_2 of
-                              happy_var_2 -> case happyOut14 happy_x_3 of
-                                                 happy_var_3 -> (leaveScope >>
-                                                                   (withNodeInfo happy_var_1 $
-                                                                      CFunDef happy_var_1
-                                                                        happy_var_2
-                                                                        []
-                                                                        happy_var_3)))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_16 = happyMonadReduce 3# 3# happyReduction_16
-happyReduction_16
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut38 happy_x_1 of
-           happy_var_1 -> case happyOut11 happy_x_2 of
-                              happy_var_2 -> case happyOut14 happy_x_3 of
-                                                 happy_var_3 -> (leaveScope >>
-                                                                   (withNodeInfo happy_var_1 $
-                                                                      CFunDef (reverse happy_var_1)
-                                                                        happy_var_2
-                                                                        []
-                                                                        happy_var_3)))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_17 = happyMonadReduce 3# 3# happyReduction_17
-happyReduction_17
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut11 happy_x_2 of
-                              happy_var_2 -> case happyOut14 happy_x_3 of
-                                                 happy_var_3 -> (leaveScope >>
-                                                                   (withNodeInfo happy_var_1 $
-                                                                      CFunDef
-                                                                        (liftTypeQuals happy_var_1)
-                                                                        happy_var_2
-                                                                        []
-                                                                        happy_var_3)))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_18 = happyMonadReduce 4# 3# happyReduction_18
-happyReduction_18
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut127 happy_x_2 of
-                              happy_var_2 -> case happyOut11 happy_x_3 of
-                                                 happy_var_3 -> case happyOut14 happy_x_4 of
-                                                                    happy_var_4 -> (leaveScope >>
-                                                                                      (withNodeInfo
-                                                                                         happy_var_1
-                                                                                         $
-                                                                                         CFunDef
-                                                                                           (liftTypeQuals
-                                                                                              happy_var_1
-                                                                                              ++
-                                                                                              liftCAttrs
-                                                                                                happy_var_2)
-                                                                                           happy_var_3
-                                                                                           []
-                                                                                           happy_var_4)))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_19 = happyMonadReduce 3# 3# happyReduction_19
-happyReduction_19
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut76 happy_x_1 of
-           happy_var_1 -> case happyOut33 happy_x_2 of
-                              happy_var_2 -> case happyOut14 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   CFunDef [] happy_var_1
-                                                                     (reverse happy_var_2)
-                                                                     happy_var_3))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_20 = happyMonadReduce 4# 3# happyReduction_20
-happyReduction_20
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut127 happy_x_1 of
-           happy_var_1 -> case happyOut76 happy_x_2 of
-                              happy_var_2 -> case happyOut33 happy_x_3 of
-                                                 happy_var_3 -> case happyOut14 happy_x_4 of
-                                                                    happy_var_4 -> (withNodeInfo
-                                                                                      happy_var_2
-                                                                                      $
-                                                                                      CFunDef
-                                                                                        (liftCAttrs
-                                                                                           happy_var_1)
-                                                                                        happy_var_2
-                                                                                        (reverse
-                                                                                           happy_var_3)
-                                                                                        happy_var_4))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_21 = happyMonadReduce 4# 3# happyReduction_21
-happyReduction_21
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut37 happy_x_1 of
-           happy_var_1 -> case happyOut76 happy_x_2 of
-                              happy_var_2 -> case happyOut33 happy_x_3 of
-                                                 happy_var_3 -> case happyOut14 happy_x_4 of
-                                                                    happy_var_4 -> (withNodeInfo
-                                                                                      happy_var_1
-                                                                                      $
-                                                                                      CFunDef
-                                                                                        happy_var_1
-                                                                                        happy_var_2
-                                                                                        (reverse
-                                                                                           happy_var_3)
-                                                                                        happy_var_4))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_22 = happyMonadReduce 4# 3# happyReduction_22
-happyReduction_22
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut41 happy_x_1 of
-           happy_var_1 -> case happyOut76 happy_x_2 of
-                              happy_var_2 -> case happyOut33 happy_x_3 of
-                                                 happy_var_3 -> case happyOut14 happy_x_4 of
-                                                                    happy_var_4 -> (withNodeInfo
-                                                                                      happy_var_1
-                                                                                      $
-                                                                                      CFunDef
-                                                                                        happy_var_1
-                                                                                        happy_var_2
-                                                                                        (reverse
-                                                                                           happy_var_3)
-                                                                                        happy_var_4))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_23 = happyMonadReduce 4# 3# happyReduction_23
-happyReduction_23
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut38 happy_x_1 of
-           happy_var_1 -> case happyOut76 happy_x_2 of
-                              happy_var_2 -> case happyOut33 happy_x_3 of
-                                                 happy_var_3 -> case happyOut14 happy_x_4 of
-                                                                    happy_var_4 -> (withNodeInfo
-                                                                                      happy_var_1
-                                                                                      $
-                                                                                      CFunDef
-                                                                                        (reverse
-                                                                                           happy_var_1)
-                                                                                        happy_var_2
-                                                                                        (reverse
-                                                                                           happy_var_3)
-                                                                                        happy_var_4))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_24 = happyMonadReduce 4# 3# happyReduction_24
-happyReduction_24
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut76 happy_x_2 of
-                              happy_var_2 -> case happyOut33 happy_x_3 of
-                                                 happy_var_3 -> case happyOut14 happy_x_4 of
-                                                                    happy_var_4 -> (withNodeInfo
-                                                                                      happy_var_1
-                                                                                      $
-                                                                                      CFunDef
-                                                                                        (liftTypeQuals
-                                                                                           happy_var_1)
-                                                                                        happy_var_2
-                                                                                        (reverse
-                                                                                           happy_var_3)
-                                                                                        happy_var_4))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_25 = happyMonadReduce 5# 3# happyReduction_25
-happyReduction_25
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut127 happy_x_2 of
-                              happy_var_2 -> case happyOut76 happy_x_3 of
-                                                 happy_var_3 -> case happyOut33 happy_x_4 of
-                                                                    happy_var_4 -> case
-                                                                                     happyOut14
-                                                                                       happy_x_5
-                                                                                     of
-                                                                                       happy_var_5 -> (withNodeInfo
-                                                                                                         happy_var_1
-                                                                                                         $
-                                                                                                         CFunDef
-                                                                                                           (liftTypeQuals
-                                                                                                              happy_var_1
-                                                                                                              ++
-                                                                                                              liftCAttrs
-                                                                                                                happy_var_2)
-                                                                                                           happy_var_3
-                                                                                                           (reverse
-                                                                                                              happy_var_4)
-                                                                                                           happy_var_5))
-      (\ r -> happyReturn (happyIn10 r))
-happyReduce_26 = happyMonadReduce 1# 4# happyReduction_26
-happyReduction_26 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut72 happy_x_1 of
-           happy_var_1 -> (let declr = reverseDeclr happy_var_1 in
-                             enterScope >> doFuncParamDeclIdent declr >> return declr))
-      (\ r -> happyReturn (happyIn11 r))
-happyReduce_27 = happySpecReduce_1 5# happyReduction_27
-happyReduction_27 happy_x_1
-  = case happyOut13 happy_x_1 of
-        happy_var_1 -> happyIn12 (happy_var_1)
-happyReduce_28 = happySpecReduce_1 5# happyReduction_28
-happyReduction_28 happy_x_1
-  = case happyOut14 happy_x_1 of
-        happy_var_1 -> happyIn12 (happy_var_1)
-happyReduce_29 = happySpecReduce_1 5# happyReduction_29
-happyReduction_29 happy_x_1
-  = case happyOut22 happy_x_1 of
-        happy_var_1 -> happyIn12 (happy_var_1)
-happyReduce_30 = happySpecReduce_1 5# happyReduction_30
-happyReduction_30 happy_x_1
-  = case happyOut23 happy_x_1 of
-        happy_var_1 -> happyIn12 (happy_var_1)
-happyReduce_31 = happySpecReduce_1 5# happyReduction_31
-happyReduction_31 happy_x_1
-  = case happyOut24 happy_x_1 of
-        happy_var_1 -> happyIn12 (happy_var_1)
-happyReduce_32 = happySpecReduce_1 5# happyReduction_32
-happyReduction_32 happy_x_1
-  = case happyOut25 happy_x_1 of
-        happy_var_1 -> happyIn12 (happy_var_1)
-happyReduce_33 = happyMonadReduce 1# 5# happyReduction_33
-happyReduction_33 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut26 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 (CAsm happy_var_1)))
-      (\ r -> happyReturn (happyIn12 r))
-happyReduce_34 = happyMonadReduce 4# 6# happyReduction_34
-happyReduction_34
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut125 happy_x_1 of
-           happy_var_1 -> case happyOut126 happy_x_3 of
-                              happy_var_3 -> case happyOut12 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $
-                                                                   CLabel happy_var_1 happy_var_4
-                                                                     happy_var_3))
-      (\ r -> happyReturn (happyIn13 r))
-happyReduce_35 = happyMonadReduce 4# 6# happyReduction_35
-happyReduction_35
-  (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 happyOut121 happy_x_2 of
-                              happy_var_2 -> case happyOut12 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $
-                                                                   CCase happy_var_2 happy_var_4))
-      (\ r -> happyReturn (happyIn13 r))
-happyReduce_36 = happyMonadReduce 3# 6# happyReduction_36
-happyReduction_36
-  (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 happyOut12 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $ CDefault happy_var_3))
-      (\ r -> happyReturn (happyIn13 r))
-happyReduce_37 = happyMonadReduce 6# 6# happyReduction_37
-happyReduction_37
-  (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 happyOut121 happy_x_2 of
-                              happy_var_2 -> case happyOut121 happy_x_4 of
-                                                 happy_var_4 -> case happyOut12 happy_x_6 of
-                                                                    happy_var_6 -> (withNodeInfo
-                                                                                      happy_var_1
-                                                                                      $
-                                                                                      CCases
-                                                                                        happy_var_2
-                                                                                        happy_var_4
-                                                                                        happy_var_6))
-      (\ r -> happyReturn (happyIn13 r))
-happyReduce_38 = happyMonadReduce 5# 7# happyReduction_38
-happyReduction_38
-  (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 happyOut17 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CCompound [] (reverse happy_var_3)))
-      (\ r -> happyReturn (happyIn14 r))
-happyReduce_39 = happyMonadReduce 6# 7# happyReduction_39
-happyReduction_39
-  (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 happyOut21 happy_x_3 of
-                              happy_var_3 -> case happyOut17 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $
-                                                                   CCompound (reverse happy_var_3)
-                                                                     (reverse happy_var_4)))
-      (\ r -> happyReturn (happyIn14 r))
-happyReduce_40 = happyMonadReduce 0# 8# happyReduction_40
-happyReduction_40 (happyRest) tk
-  = happyThen ((enterScope)) (\ r -> happyReturn (happyIn15 r))
-happyReduce_41 = happyMonadReduce 0# 9# happyReduction_41
-happyReduction_41 (happyRest) tk
-  = happyThen ((leaveScope)) (\ r -> happyReturn (happyIn16 r))
-happyReduce_42 = happySpecReduce_0 10# happyReduction_42
-happyReduction_42 = happyIn17 (empty)
-happyReduce_43 = happySpecReduce_2 10# happyReduction_43
-happyReduction_43 happy_x_2 happy_x_1
-  = case happyOut17 happy_x_1 of
-        happy_var_1 -> case happyOut18 happy_x_2 of
-                           happy_var_2 -> happyIn17 (happy_var_1 `snoc` happy_var_2)
-happyReduce_44 = happySpecReduce_1 11# happyReduction_44
-happyReduction_44 happy_x_1
-  = case happyOut12 happy_x_1 of
-        happy_var_1 -> happyIn18 (CBlockStmt happy_var_1)
-happyReduce_45 = happySpecReduce_1 11# happyReduction_45
-happyReduction_45 happy_x_1
-  = case happyOut19 happy_x_1 of
-        happy_var_1 -> happyIn18 (happy_var_1)
-happyReduce_46 = happySpecReduce_1 12# happyReduction_46
-happyReduction_46 happy_x_1
-  = case happyOut32 happy_x_1 of
-        happy_var_1 -> happyIn19 (CBlockDecl happy_var_1)
-happyReduce_47 = happySpecReduce_1 12# happyReduction_47
-happyReduction_47 happy_x_1
-  = case happyOut20 happy_x_1 of
-        happy_var_1 -> happyIn19 (CNestedFunDef happy_var_1)
-happyReduce_48 = happySpecReduce_2 12# happyReduction_48
-happyReduction_48 happy_x_2 happy_x_1
-  = case happyOut19 happy_x_2 of
-        happy_var_2 -> happyIn19 (happy_var_2)
-happyReduce_49 = happyMonadReduce 3# 13# happyReduction_49
-happyReduction_49
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut37 happy_x_1 of
-           happy_var_1 -> case happyOut11 happy_x_2 of
-                              happy_var_2 -> case happyOut14 happy_x_3 of
-                                                 happy_var_3 -> (leaveScope >>
-                                                                   (withNodeInfo happy_var_1 $
-                                                                      CFunDef happy_var_1
-                                                                        happy_var_2
-                                                                        []
-                                                                        happy_var_3)))
-      (\ r -> happyReturn (happyIn20 r))
-happyReduce_50 = happyMonadReduce 3# 13# happyReduction_50
-happyReduction_50
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut41 happy_x_1 of
-           happy_var_1 -> case happyOut11 happy_x_2 of
-                              happy_var_2 -> case happyOut14 happy_x_3 of
-                                                 happy_var_3 -> (leaveScope >>
-                                                                   (withNodeInfo happy_var_1 $
-                                                                      CFunDef happy_var_1
-                                                                        happy_var_2
-                                                                        []
-                                                                        happy_var_3)))
-      (\ r -> happyReturn (happyIn20 r))
-happyReduce_51 = happyMonadReduce 3# 13# happyReduction_51
-happyReduction_51
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut38 happy_x_1 of
-           happy_var_1 -> case happyOut11 happy_x_2 of
-                              happy_var_2 -> case happyOut14 happy_x_3 of
-                                                 happy_var_3 -> (leaveScope >>
-                                                                   (withNodeInfo happy_var_1 $
-                                                                      CFunDef (reverse happy_var_1)
-                                                                        happy_var_2
-                                                                        []
-                                                                        happy_var_3)))
-      (\ r -> happyReturn (happyIn20 r))
-happyReduce_52 = happyMonadReduce 3# 13# happyReduction_52
-happyReduction_52
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut11 happy_x_2 of
-                              happy_var_2 -> case happyOut14 happy_x_3 of
-                                                 happy_var_3 -> (leaveScope >>
-                                                                   (withNodeInfo happy_var_1 $
-                                                                      CFunDef
-                                                                        (liftTypeQuals happy_var_1)
-                                                                        happy_var_2
-                                                                        []
-                                                                        happy_var_3)))
-      (\ r -> happyReturn (happyIn20 r))
-happyReduce_53 = happyMonadReduce 4# 13# happyReduction_53
-happyReduction_53
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut127 happy_x_2 of
-                              happy_var_2 -> case happyOut11 happy_x_3 of
-                                                 happy_var_3 -> case happyOut14 happy_x_4 of
-                                                                    happy_var_4 -> (leaveScope >>
-                                                                                      (withNodeInfo
-                                                                                         happy_var_1
-                                                                                         $
-                                                                                         CFunDef
-                                                                                           (liftTypeQuals
-                                                                                              happy_var_1
-                                                                                              ++
-                                                                                              liftCAttrs
-                                                                                                happy_var_2)
-                                                                                           happy_var_3
-                                                                                           []
-                                                                                           happy_var_4)))
-      (\ r -> happyReturn (happyIn20 r))
-happyReduce_54 = happySpecReduce_3 14# happyReduction_54
-happyReduction_54 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut82 happy_x_2 of
-        happy_var_2 -> happyIn21 (happy_var_2)
-happyReduce_55 = happyReduce 4# 14# happyReduction_55
-happyReduction_55
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut21 happy_x_1 of
-        happy_var_1 -> case happyOut82 happy_x_3 of
-                           happy_var_3 -> happyIn21 (happy_var_1 `rappendr` happy_var_3)
-                                            `HappyStk` happyRest
-happyReduce_56 = happyMonadReduce 1# 15# happyReduction_56
-happyReduction_56 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CExpr Nothing))
-      (\ r -> happyReturn (happyIn22 r))
-happyReduce_57 = happyMonadReduce 2# 15# happyReduction_57
-happyReduction_57
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut117 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             CExpr (Just happy_var_1)))
-      (\ r -> happyReturn (happyIn22 r))
-happyReduce_58 = happyMonadReduce 5# 16# happyReduction_58
-happyReduction_58
-  (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 happyOut117 happy_x_3 of
-                              happy_var_3 -> case happyOut12 happy_x_5 of
-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $
-                                                                   CIf happy_var_3 happy_var_5
-                                                                     Nothing))
-      (\ r -> happyReturn (happyIn23 r))
-happyReduce_59 = happyMonadReduce 7# 16# happyReduction_59
-happyReduction_59
-  (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
-           happy_var_1 -> case happyOut117 happy_x_3 of
-                              happy_var_3 -> case happyOut12 happy_x_5 of
-                                                 happy_var_5 -> case happyOut12 happy_x_7 of
-                                                                    happy_var_7 -> (withNodeInfo
-                                                                                      happy_var_1
-                                                                                      $
-                                                                                      CIf
-                                                                                        happy_var_3
-                                                                                        happy_var_5
-                                                                                        (Just
-                                                                                           happy_var_7)))
-      (\ r -> happyReturn (happyIn23 r))
-happyReduce_60 = happyMonadReduce 5# 16# happyReduction_60
-happyReduction_60
-  (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 happyOut117 happy_x_3 of
-                              happy_var_3 -> case happyOut12 happy_x_5 of
-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $
-                                                                   CSwitch happy_var_3 happy_var_5))
-      (\ r -> happyReturn (happyIn23 r))
-happyReduce_61 = happyMonadReduce 5# 17# happyReduction_61
-happyReduction_61
-  (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 happyOut117 happy_x_3 of
-                              happy_var_3 -> case happyOut12 happy_x_5 of
-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $
-                                                                   CWhile happy_var_3 happy_var_5
-                                                                     False))
-      (\ r -> happyReturn (happyIn24 r))
-happyReduce_62 = happyMonadReduce 7# 17# happyReduction_62
-happyReduction_62
-  (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
-           happy_var_1 -> case happyOut12 happy_x_2 of
-                              happy_var_2 -> case happyOut117 happy_x_5 of
-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $
-                                                                   CWhile happy_var_5 happy_var_2
-                                                                     True))
-      (\ r -> happyReturn (happyIn24 r))
-happyReduce_63 = happyMonadReduce 9# 17# happyReduction_63
-happyReduction_63
-  (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
-           happy_var_1 -> case happyOut119 happy_x_3 of
-                              happy_var_3 -> case happyOut119 happy_x_5 of
-                                                 happy_var_5 -> case happyOut119 happy_x_7 of
-                                                                    happy_var_7 -> case
-                                                                                     happyOut12
-                                                                                       happy_x_9
-                                                                                     of
-                                                                                       happy_var_9 -> (withNodeInfo
-                                                                                                         happy_var_1
-                                                                                                         $
-                                                                                                         CFor
-                                                                                                           (Left
-                                                                                                              happy_var_3)
-                                                                                                           happy_var_5
-                                                                                                           happy_var_7
-                                                                                                           happy_var_9))
-      (\ r -> happyReturn (happyIn24 r))
-happyReduce_64 = happyMonadReduce 10# 17# happyReduction_64
-happyReduction_64
-  (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
-           happy_var_1 -> case happyOut32 happy_x_4 of
-                              happy_var_4 -> case happyOut119 happy_x_5 of
-                                                 happy_var_5 -> case happyOut119 happy_x_7 of
-                                                                    happy_var_7 -> case
-                                                                                     happyOut12
-                                                                                       happy_x_9
-                                                                                     of
-                                                                                       happy_var_9 -> (withNodeInfo
-                                                                                                         happy_var_1
-                                                                                                         $
-                                                                                                         CFor
-                                                                                                           (Right
-                                                                                                              happy_var_4)
-                                                                                                           happy_var_5
-                                                                                                           happy_var_7
-                                                                                                           happy_var_9))
-      (\ r -> happyReturn (happyIn24 r))
-happyReduce_65 = happyMonadReduce 3# 18# happyReduction_65
-happyReduction_65
-  (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 happyOut125 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $ CGoto happy_var_2))
-      (\ r -> happyReturn (happyIn25 r))
-happyReduce_66 = happyMonadReduce 4# 18# happyReduction_66
-happyReduction_66
-  (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 happyOut117 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $ CGotoPtr happy_var_3))
-      (\ r -> happyReturn (happyIn25 r))
-happyReduce_67 = happyMonadReduce 2# 18# happyReduction_67
-happyReduction_67
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CCont))
-      (\ r -> happyReturn (happyIn25 r))
-happyReduce_68 = happyMonadReduce 2# 18# happyReduction_68
-happyReduction_68
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CBreak))
-      (\ r -> happyReturn (happyIn25 r))
-happyReduce_69 = happyMonadReduce 3# 18# happyReduction_69
-happyReduction_69
-  (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 happyOut119 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $ CReturn happy_var_2))
-      (\ r -> happyReturn (happyIn25 r))
-happyReduce_70 = happyMonadReduce 6# 19# happyReduction_70
-happyReduction_70
-  (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 happyOut27 happy_x_2 of
-                              happy_var_2 -> case happyOut123 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $
-                                                                   CAsmStmt happy_var_2 happy_var_4
-                                                                     []
-                                                                     []
-                                                                     []))
-      (\ r -> happyReturn (happyIn26 r))
-happyReduce_71 = happyMonadReduce 8# 19# happyReduction_71
-happyReduction_71
-  (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
-           happy_var_1 -> case happyOut27 happy_x_2 of
-                              happy_var_2 -> case happyOut123 happy_x_4 of
-                                                 happy_var_4 -> case happyOut28 happy_x_6 of
-                                                                    happy_var_6 -> (withNodeInfo
-                                                                                      happy_var_1
-                                                                                      $
-                                                                                      CAsmStmt
-                                                                                        happy_var_2
-                                                                                        happy_var_4
-                                                                                        happy_var_6
-                                                                                        []
-                                                                                        []))
-      (\ r -> happyReturn (happyIn26 r))
-happyReduce_72 = happyMonadReduce 10# 19# happyReduction_72
-happyReduction_72
-  (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
-           happy_var_1 -> case happyOut27 happy_x_2 of
-                              happy_var_2 -> case happyOut123 happy_x_4 of
-                                                 happy_var_4 -> case happyOut28 happy_x_6 of
-                                                                    happy_var_6 -> case
-                                                                                     happyOut28
-                                                                                       happy_x_8
-                                                                                     of
-                                                                                       happy_var_8 -> (withNodeInfo
-                                                                                                         happy_var_1
-                                                                                                         $
-                                                                                                         CAsmStmt
-                                                                                                           happy_var_2
-                                                                                                           happy_var_4
-                                                                                                           happy_var_6
-                                                                                                           happy_var_8
-                                                                                                           []))
-      (\ r -> happyReturn (happyIn26 r))
-happyReduce_73 = happyMonadReduce 12# 19# happyReduction_73
-happyReduction_73
-  (happy_x_12 `HappyStk`
-     (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))))))))))))
-  tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut27 happy_x_2 of
-                              happy_var_2 -> case happyOut123 happy_x_4 of
-                                                 happy_var_4 -> case happyOut28 happy_x_6 of
-                                                                    happy_var_6 -> case
-                                                                                     happyOut28
-                                                                                       happy_x_8
-                                                                                     of
-                                                                                       happy_var_8 -> case
-                                                                                                        happyOut31
-                                                                                                          happy_x_10
-                                                                                                        of
-                                                                                                          happy_var_10 -> (withNodeInfo
-                                                                                                                             happy_var_1
-                                                                                                                             $
-                                                                                                                             CAsmStmt
-                                                                                                                               happy_var_2
-                                                                                                                               happy_var_4
-                                                                                                                               happy_var_6
-                                                                                                                               happy_var_8
-                                                                                                                               (reverse
-                                                                                                                                  happy_var_10)))
-      (\ r -> happyReturn (happyIn26 r))
-happyReduce_74 = happySpecReduce_0 20# happyReduction_74
-happyReduction_74 = happyIn27 (Nothing)
-happyReduce_75 = happySpecReduce_1 20# happyReduction_75
-happyReduction_75 happy_x_1
-  = case happyOut61 happy_x_1 of
-        happy_var_1 -> happyIn27 (Just happy_var_1)
-happyReduce_76 = happySpecReduce_0 21# happyReduction_76
-happyReduction_76 = happyIn28 ([])
-happyReduce_77 = happySpecReduce_1 21# happyReduction_77
-happyReduction_77 happy_x_1
-  = case happyOut29 happy_x_1 of
-        happy_var_1 -> happyIn28 (reverse happy_var_1)
-happyReduce_78 = happySpecReduce_1 22# happyReduction_78
-happyReduction_78 happy_x_1
-  = case happyOut30 happy_x_1 of
-        happy_var_1 -> happyIn29 (singleton happy_var_1)
-happyReduce_79 = happySpecReduce_3 22# happyReduction_79
-happyReduction_79 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut29 happy_x_1 of
-        happy_var_1 -> case happyOut30 happy_x_3 of
-                           happy_var_3 -> happyIn29 (happy_var_1 `snoc` happy_var_3)
-happyReduce_80 = happyMonadReduce 4# 23# happyReduction_80
-happyReduction_80
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut123 happy_x_1 of
-           happy_var_1 -> case happyOut117 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CAsmOperand Nothing happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn30 r))
-happyReduce_81 = happyMonadReduce 7# 23# happyReduction_81
-happyReduction_81
-  (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
-           happy_var_1 -> case happyOutTok happy_x_2 of
-                              (CTokIdent _ happy_var_2) -> case happyOut123 happy_x_4 of
-                                                               happy_var_4 -> case
-                                                                                happyOut117
-                                                                                  happy_x_6
-                                                                                of
-                                                                                  happy_var_6 -> (withNodeInfo
-                                                                                                    happy_var_1
-                                                                                                    $
-                                                                                                    CAsmOperand
-                                                                                                      (Just
-                                                                                                         happy_var_2)
-                                                                                                      happy_var_4
-                                                                                                      happy_var_6))
-      (\ r -> happyReturn (happyIn30 r))
-happyReduce_82 = happyMonadReduce 7# 23# happyReduction_82
-happyReduction_82
-  (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
-           happy_var_1 -> case happyOutTok happy_x_2 of
-                              (CTokTyIdent _ happy_var_2) -> case happyOut123 happy_x_4 of
-                                                                 happy_var_4 -> case
-                                                                                  happyOut117
-                                                                                    happy_x_6
-                                                                                  of
-                                                                                    happy_var_6 -> (withNodeInfo
-                                                                                                      happy_var_1
-                                                                                                      $
-                                                                                                      CAsmOperand
-                                                                                                        (Just
-                                                                                                           happy_var_2)
-                                                                                                        happy_var_4
-                                                                                                        happy_var_6))
-      (\ r -> happyReturn (happyIn30 r))
-happyReduce_83 = happySpecReduce_1 24# happyReduction_83
-happyReduction_83 happy_x_1
-  = case happyOut123 happy_x_1 of
-        happy_var_1 -> happyIn31 (singleton happy_var_1)
-happyReduce_84 = happySpecReduce_3 24# happyReduction_84
-happyReduction_84 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut31 happy_x_1 of
-        happy_var_1 -> case happyOut123 happy_x_3 of
-                           happy_var_3 -> happyIn31 (happy_var_1 `snoc` happy_var_3)
-happyReduce_85 = happyMonadReduce 2# 25# happyReduction_85
-happyReduction_85
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut45 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             CDecl (reverse happy_var_1) []))
-      (\ r -> happyReturn (happyIn32 r))
-happyReduce_86 = happyMonadReduce 2# 25# happyReduction_86
-happyReduction_86
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut46 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             CDecl (reverse happy_var_1) []))
-      (\ r -> happyReturn (happyIn32 r))
-happyReduce_87 = happyMonadReduce 2# 25# happyReduction_87
-happyReduction_87
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut36 happy_x_1 of
-           happy_var_1 -> (case happy_var_1 of
-                               CDecl declspecs dies at -> withLength at
-                                                            (CDecl declspecs (List.reverse dies))))
-      (\ r -> happyReturn (happyIn32 r))
-happyReduce_88 = happyMonadReduce 2# 25# happyReduction_88
-happyReduction_88
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut34 happy_x_1 of
-           happy_var_1 -> (case happy_var_1 of
-                               CDecl declspecs dies at -> withLength at
-                                                            (CDecl declspecs (List.reverse dies))))
-      (\ r -> happyReturn (happyIn32 r))
-happyReduce_89 = happySpecReduce_0 26# happyReduction_89
-happyReduction_89 = happyIn33 (empty)
-happyReduce_90 = happySpecReduce_2 26# happyReduction_90
-happyReduction_90 happy_x_2 happy_x_1
-  = case happyOut33 happy_x_1 of
-        happy_var_1 -> case happyOut32 happy_x_2 of
-                           happy_var_2 -> happyIn33 (happy_var_1 `snoc` happy_var_2)
-happyReduce_91 = happyMonadReduce 4# 27# happyReduction_91
-happyReduction_91
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut38 happy_x_1 of
-           happy_var_1 -> case happyOut72 happy_x_2 of
-                              happy_var_2 -> case happyOut35 happy_x_3 of
-                                                 happy_var_3 -> case happyOut91 happy_x_4 of
-                                                                    happy_var_4 -> (let declspecs
-                                                                                          = reverse
-                                                                                              happy_var_1
-                                                                                      in
-                                                                                      do declr <- withAsmNameAttrs
-                                                                                                    happy_var_3
-                                                                                                    happy_var_2
-                                                                                         doDeclIdent
-                                                                                           declspecs
-                                                                                           declr
-                                                                                         withNodeInfo
-                                                                                           happy_var_1
-                                                                                           $
-                                                                                           CDecl
-                                                                                             declspecs
-                                                                                             [(Just
-                                                                                                 (reverseDeclr
-                                                                                                    declr),
-                                                                                               happy_var_4,
-                                                                                               Nothing)]))
-      (\ r -> happyReturn (happyIn34 r))
-happyReduce_92 = happyMonadReduce 4# 27# happyReduction_92
-happyReduction_92
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut72 happy_x_2 of
-                              happy_var_2 -> case happyOut35 happy_x_3 of
-                                                 happy_var_3 -> case happyOut91 happy_x_4 of
-                                                                    happy_var_4 -> (let declspecs
-                                                                                          = liftTypeQuals
-                                                                                              happy_var_1
-                                                                                      in
-                                                                                      do declr <- withAsmNameAttrs
-                                                                                                    happy_var_3
-                                                                                                    happy_var_2
-                                                                                         doDeclIdent
-                                                                                           declspecs
-                                                                                           declr
-                                                                                         withNodeInfo
-                                                                                           happy_var_1
-                                                                                           $
-                                                                                           CDecl
-                                                                                             declspecs
-                                                                                             [(Just
-                                                                                                 (reverseDeclr
-                                                                                                    declr),
-                                                                                               happy_var_4,
-                                                                                               Nothing)]))
-      (\ r -> happyReturn (happyIn34 r))
-happyReduce_93 = happyMonadReduce 5# 27# happyReduction_93
-happyReduction_93
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut127 happy_x_2 of
-                              happy_var_2 -> case happyOut72 happy_x_3 of
-                                                 happy_var_3 -> case happyOut35 happy_x_4 of
-                                                                    happy_var_4 -> case
-                                                                                     happyOut91
-                                                                                       happy_x_5
-                                                                                     of
-                                                                                       happy_var_5 -> (let declspecs
-                                                                                                             = liftTypeQuals
-                                                                                                                 happy_var_1
-                                                                                                         in
-                                                                                                         do declr <- withAsmNameAttrs
-                                                                                                                       happy_var_4
-                                                                                                                       happy_var_3
-                                                                                                            doDeclIdent
-                                                                                                              declspecs
-                                                                                                              declr
-                                                                                                            withNodeInfo
-                                                                                                              happy_var_1
-                                                                                                              $
-                                                                                                              CDecl
-                                                                                                                (declspecs
-                                                                                                                   ++
-                                                                                                                   liftCAttrs
-                                                                                                                     happy_var_2)
-                                                                                                                [(Just
-                                                                                                                    (reverseDeclr
-                                                                                                                       declr),
-                                                                                                                  happy_var_5,
-                                                                                                                  Nothing)]))
-      (\ r -> happyReturn (happyIn34 r))
-happyReduce_94 = happyMonadReduce 4# 27# happyReduction_94
-happyReduction_94
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut127 happy_x_1 of
-           happy_var_1 -> case happyOut72 happy_x_2 of
-                              happy_var_2 -> case happyOut35 happy_x_3 of
-                                                 happy_var_3 -> case happyOut91 happy_x_4 of
-                                                                    happy_var_4 -> (let declspecs
-                                                                                          = liftCAttrs
-                                                                                              happy_var_1
-                                                                                      in
-                                                                                      do declr <- withAsmNameAttrs
-                                                                                                    happy_var_3
-                                                                                                    happy_var_2
-                                                                                         doDeclIdent
-                                                                                           declspecs
-                                                                                           declr
-                                                                                         withNodeInfo
-                                                                                           happy_var_1
-                                                                                           $
-                                                                                           CDecl
-                                                                                             declspecs
-                                                                                             [(Just
-                                                                                                 (reverseDeclr
-                                                                                                    declr),
-                                                                                               happy_var_4,
-                                                                                               Nothing)]))
-      (\ r -> happyReturn (happyIn34 r))
-happyReduce_95 = happyMonadReduce 6# 27# happyReduction_95
-happyReduction_95
-  (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 happyOut34 happy_x_1 of
-           happy_var_1 -> case happyOut126 happy_x_3 of
-                              happy_var_3 -> case happyOut72 happy_x_4 of
-                                                 happy_var_4 -> case happyOut35 happy_x_5 of
-                                                                    happy_var_5 -> case
-                                                                                     happyOut91
-                                                                                       happy_x_6
-                                                                                     of
-                                                                                       happy_var_6 -> (case
-                                                                                                         happy_var_1
-                                                                                                         of
-                                                                                                           CDecl
-                                                                                                             declspecs
-                                                                                                             dies
-                                                                                                             at -> do declr <- withAsmNameAttrs
-                                                                                                                                 (fst
-                                                                                                                                    happy_var_5,
-                                                                                                                                  snd
-                                                                                                                                    happy_var_5
-                                                                                                                                    ++
-                                                                                                                                    happy_var_3)
-                                                                                                                                 happy_var_4
-                                                                                                                      doDeclIdent
-                                                                                                                        declspecs
-                                                                                                                        declr
-                                                                                                                      withLength
-                                                                                                                        at
-                                                                                                                        $
-                                                                                                                        CDecl
-                                                                                                                          declspecs
-                                                                                                                          ((Just
-                                                                                                                              (reverseDeclr
-                                                                                                                                 declr),
-                                                                                                                            happy_var_6,
-                                                                                                                            Nothing)
-                                                                                                                             :
-                                                                                                                             dies)))
-      (\ r -> happyReturn (happyIn34 r))
-happyReduce_96 = happySpecReduce_2 28# happyReduction_96
-happyReduction_96 happy_x_2 happy_x_1
-  = case happyOut64 happy_x_1 of
-        happy_var_1 -> case happyOut126 happy_x_2 of
-                           happy_var_2 -> happyIn35 ((happy_var_1, happy_var_2))
-happyReduce_97 = happyMonadReduce 4# 29# happyReduction_97
-happyReduction_97
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut37 happy_x_1 of
-           happy_var_1 -> case happyOut63 happy_x_2 of
-                              happy_var_2 -> case happyOut35 happy_x_3 of
-                                                 happy_var_3 -> case happyOut91 happy_x_4 of
-                                                                    happy_var_4 -> (do declr <- withAsmNameAttrs
-                                                                                                  happy_var_3
-                                                                                                  happy_var_2
-                                                                                       doDeclIdent
-                                                                                         happy_var_1
-                                                                                         declr
-                                                                                       withNodeInfo
-                                                                                         happy_var_1
-                                                                                         $
-                                                                                         CDecl
-                                                                                           happy_var_1
-                                                                                           [(Just
-                                                                                               (reverseDeclr
-                                                                                                  declr),
-                                                                                             happy_var_4,
-                                                                                             Nothing)]))
-      (\ r -> happyReturn (happyIn36 r))
-happyReduce_98 = happyMonadReduce 4# 29# happyReduction_98
-happyReduction_98
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut41 happy_x_1 of
-           happy_var_1 -> case happyOut63 happy_x_2 of
-                              happy_var_2 -> case happyOut35 happy_x_3 of
-                                                 happy_var_3 -> case happyOut91 happy_x_4 of
-                                                                    happy_var_4 -> (do declr <- withAsmNameAttrs
-                                                                                                  happy_var_3
-                                                                                                  happy_var_2
-                                                                                       doDeclIdent
-                                                                                         happy_var_1
-                                                                                         declr
-                                                                                       withNodeInfo
-                                                                                         happy_var_1
-                                                                                         $
-                                                                                         CDecl
-                                                                                           happy_var_1
-                                                                                           [(Just
-                                                                                               (reverseDeclr
-                                                                                                  declr),
-                                                                                             happy_var_4,
-                                                                                             Nothing)]))
-      (\ r -> happyReturn (happyIn36 r))
-happyReduce_99 = happyMonadReduce 6# 29# happyReduction_99
-happyReduction_99
-  (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 happyOut36 happy_x_1 of
-           happy_var_1 -> case happyOut126 happy_x_3 of
-                              happy_var_3 -> case happyOut63 happy_x_4 of
-                                                 happy_var_4 -> case happyOut35 happy_x_5 of
-                                                                    happy_var_5 -> case
-                                                                                     happyOut91
-                                                                                       happy_x_6
-                                                                                     of
-                                                                                       happy_var_6 -> (case
-                                                                                                         happy_var_1
-                                                                                                         of
-                                                                                                           CDecl
-                                                                                                             declspecs
-                                                                                                             dies
-                                                                                                             at -> do declr <- withAsmNameAttrs
-                                                                                                                                 (fst
-                                                                                                                                    happy_var_5,
-                                                                                                                                  snd
-                                                                                                                                    happy_var_5
-                                                                                                                                    ++
-                                                                                                                                    happy_var_3)
-                                                                                                                                 happy_var_4
-                                                                                                                      doDeclIdent
-                                                                                                                        declspecs
-                                                                                                                        declr
-                                                                                                                      return
-                                                                                                                        (CDecl
-                                                                                                                           declspecs
-                                                                                                                           ((Just
-                                                                                                                               (reverseDeclr
-                                                                                                                                  declr),
-                                                                                                                             happy_var_6,
-                                                                                                                             Nothing)
-                                                                                                                              :
-                                                                                                                              dies)
-                                                                                                                           at)))
-      (\ r -> happyReturn (happyIn36 r))
-happyReduce_100 = happySpecReduce_1 30# happyReduction_100
-happyReduction_100 happy_x_1
-  = case happyOut43 happy_x_1 of
-        happy_var_1 -> happyIn37 (reverse happy_var_1)
-happyReduce_101 = happySpecReduce_1 30# happyReduction_101
-happyReduction_101 happy_x_1
-  = case happyOut45 happy_x_1 of
-        happy_var_1 -> happyIn37 (reverse happy_var_1)
-happyReduce_102 = happySpecReduce_1 30# happyReduction_102
-happyReduction_102 happy_x_1
-  = case happyOut47 happy_x_1 of
-        happy_var_1 -> happyIn37 (reverse happy_var_1)
-happyReduce_103 = happySpecReduce_1 31# happyReduction_103
-happyReduction_103 happy_x_1
-  = case happyOut40 happy_x_1 of
-        happy_var_1 -> happyIn38 (singleton (CStorageSpec happy_var_1))
-happyReduce_104 = happySpecReduce_2 31# happyReduction_104
-happyReduction_104 happy_x_2 happy_x_1
-  = case happyOut127 happy_x_1 of
-        happy_var_1 -> case happyOut40 happy_x_2 of
-                           happy_var_2 -> happyIn38
-                                            (reverseList (liftCAttrs happy_var_1) `snoc`
-                                               (CStorageSpec happy_var_2))
-happyReduce_105 = happySpecReduce_2 31# happyReduction_105
-happyReduction_105 happy_x_2 happy_x_1
-  = case happyOut62 happy_x_1 of
-        happy_var_1 -> case happyOut40 happy_x_2 of
-                           happy_var_2 -> happyIn38
-                                            (rmap CTypeQual happy_var_1 `snoc`
-                                               CStorageSpec happy_var_2)
-happyReduce_106 = happySpecReduce_3 31# happyReduction_106
-happyReduction_106 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut62 happy_x_1 of
-        happy_var_1 -> case happyOut127 happy_x_2 of
-                           happy_var_2 -> case happyOut40 happy_x_3 of
-                                              happy_var_3 -> happyIn38
-                                                               ((rmap CTypeQual happy_var_1
-                                                                   `rappend` liftCAttrs happy_var_2)
-                                                                  `snoc` CStorageSpec happy_var_3)
-happyReduce_107 = happySpecReduce_2 31# happyReduction_107
-happyReduction_107 happy_x_2 happy_x_1
-  = case happyOut38 happy_x_1 of
-        happy_var_1 -> case happyOut39 happy_x_2 of
-                           happy_var_2 -> happyIn38 (happy_var_1 `snoc` happy_var_2)
-happyReduce_108 = happySpecReduce_2 31# happyReduction_108
-happyReduction_108 happy_x_2 happy_x_1
-  = case happyOut38 happy_x_1 of
-        happy_var_1 -> case happyOut128 happy_x_2 of
-                           happy_var_2 -> happyIn38 (addTrailingAttrs happy_var_1 happy_var_2)
-happyReduce_109 = happySpecReduce_1 32# happyReduction_109
-happyReduction_109 happy_x_1
-  = case happyOut40 happy_x_1 of
-        happy_var_1 -> happyIn39 (CStorageSpec happy_var_1)
-happyReduce_110 = happySpecReduce_1 32# happyReduction_110
-happyReduction_110 happy_x_1
-  = case happyOut61 happy_x_1 of
-        happy_var_1 -> happyIn39 (CTypeQual happy_var_1)
-happyReduce_111 = happyMonadReduce 1# 33# happyReduction_111
-happyReduction_111 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CTypedef))
-      (\ r -> happyReturn (happyIn40 r))
-happyReduce_112 = happyMonadReduce 1# 33# happyReduction_112
-happyReduction_112 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CExtern))
-      (\ r -> happyReturn (happyIn40 r))
-happyReduce_113 = happyMonadReduce 1# 33# happyReduction_113
-happyReduction_113 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CStatic))
-      (\ r -> happyReturn (happyIn40 r))
-happyReduce_114 = happyMonadReduce 1# 33# happyReduction_114
-happyReduction_114 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CAuto))
-      (\ r -> happyReturn (happyIn40 r))
-happyReduce_115 = happyMonadReduce 1# 33# happyReduction_115
-happyReduction_115 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CRegister))
-      (\ r -> happyReturn (happyIn40 r))
-happyReduce_116 = happyMonadReduce 1# 33# happyReduction_116
-happyReduction_116 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CThread))
-      (\ r -> happyReturn (happyIn40 r))
-happyReduce_117 = happySpecReduce_1 34# happyReduction_117
-happyReduction_117 happy_x_1
-  = case happyOut44 happy_x_1 of
-        happy_var_1 -> happyIn41 (reverse happy_var_1)
-happyReduce_118 = happySpecReduce_1 34# happyReduction_118
-happyReduction_118 happy_x_1
-  = case happyOut46 happy_x_1 of
-        happy_var_1 -> happyIn41 (reverse happy_var_1)
-happyReduce_119 = happySpecReduce_1 34# happyReduction_119
-happyReduction_119 happy_x_1
-  = case happyOut48 happy_x_1 of
-        happy_var_1 -> happyIn41 (reverse happy_var_1)
-happyReduce_120 = happyMonadReduce 1# 35# happyReduction_120
-happyReduction_120 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CVoidType))
-      (\ r -> happyReturn (happyIn42 r))
-happyReduce_121 = happyMonadReduce 1# 35# happyReduction_121
-happyReduction_121 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CCharType))
-      (\ r -> happyReturn (happyIn42 r))
-happyReduce_122 = happyMonadReduce 1# 35# happyReduction_122
-happyReduction_122 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CShortType))
-      (\ r -> happyReturn (happyIn42 r))
-happyReduce_123 = happyMonadReduce 1# 35# happyReduction_123
-happyReduction_123 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CIntType))
-      (\ r -> happyReturn (happyIn42 r))
-happyReduce_124 = happyMonadReduce 1# 35# happyReduction_124
-happyReduction_124 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CLongType))
-      (\ r -> happyReturn (happyIn42 r))
-happyReduce_125 = happyMonadReduce 1# 35# happyReduction_125
-happyReduction_125 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CFloatType))
-      (\ r -> happyReturn (happyIn42 r))
-happyReduce_126 = happyMonadReduce 1# 35# happyReduction_126
-happyReduction_126 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CDoubleType))
-      (\ r -> happyReturn (happyIn42 r))
-happyReduce_127 = happyMonadReduce 1# 35# happyReduction_127
-happyReduction_127 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CSignedType))
-      (\ r -> happyReturn (happyIn42 r))
-happyReduce_128 = happyMonadReduce 1# 35# happyReduction_128
-happyReduction_128 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CUnsigType))
-      (\ r -> happyReturn (happyIn42 r))
-happyReduce_129 = happyMonadReduce 1# 35# happyReduction_129
-happyReduction_129 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CBoolType))
-      (\ r -> happyReturn (happyIn42 r))
-happyReduce_130 = happyMonadReduce 1# 35# happyReduction_130
-happyReduction_130 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CComplexType))
-      (\ r -> happyReturn (happyIn42 r))
-happyReduce_131 = happySpecReduce_2 36# happyReduction_131
-happyReduction_131 happy_x_2 happy_x_1
-  = case happyOut38 happy_x_1 of
-        happy_var_1 -> case happyOut42 happy_x_2 of
-                           happy_var_2 -> happyIn43 (happy_var_1 `snoc` CTypeSpec happy_var_2)
-happyReduce_132 = happySpecReduce_2 36# happyReduction_132
-happyReduction_132 happy_x_2 happy_x_1
-  = case happyOut44 happy_x_1 of
-        happy_var_1 -> case happyOut40 happy_x_2 of
-                           happy_var_2 -> happyIn43
-                                            (happy_var_1 `snoc` CStorageSpec happy_var_2)
-happyReduce_133 = happySpecReduce_2 36# happyReduction_133
-happyReduction_133 happy_x_2 happy_x_1
-  = case happyOut43 happy_x_1 of
-        happy_var_1 -> case happyOut39 happy_x_2 of
-                           happy_var_2 -> happyIn43 (happy_var_1 `snoc` happy_var_2)
-happyReduce_134 = happySpecReduce_2 36# happyReduction_134
-happyReduction_134 happy_x_2 happy_x_1
-  = case happyOut43 happy_x_1 of
-        happy_var_1 -> case happyOut42 happy_x_2 of
-                           happy_var_2 -> happyIn43 (happy_var_1 `snoc` CTypeSpec happy_var_2)
-happyReduce_135 = happySpecReduce_2 36# happyReduction_135
-happyReduction_135 happy_x_2 happy_x_1
-  = case happyOut43 happy_x_1 of
-        happy_var_1 -> case happyOut128 happy_x_2 of
-                           happy_var_2 -> happyIn43 (addTrailingAttrs happy_var_1 happy_var_2)
-happyReduce_136 = happySpecReduce_1 37# happyReduction_136
-happyReduction_136 happy_x_1
-  = case happyOut42 happy_x_1 of
-        happy_var_1 -> happyIn44 (singleton (CTypeSpec happy_var_1))
-happyReduce_137 = happySpecReduce_2 37# happyReduction_137
-happyReduction_137 happy_x_2 happy_x_1
-  = case happyOut127 happy_x_1 of
-        happy_var_1 -> case happyOut42 happy_x_2 of
-                           happy_var_2 -> happyIn44
-                                            ((reverseList $ liftCAttrs happy_var_1) `snoc`
-                                               (CTypeSpec happy_var_2))
-happyReduce_138 = happySpecReduce_2 37# happyReduction_138
-happyReduction_138 happy_x_2 happy_x_1
-  = case happyOut62 happy_x_1 of
-        happy_var_1 -> case happyOut42 happy_x_2 of
-                           happy_var_2 -> happyIn44
-                                            (rmap CTypeQual happy_var_1 `snoc`
-                                               CTypeSpec happy_var_2)
-happyReduce_139 = happySpecReduce_3 37# happyReduction_139
-happyReduction_139 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut62 happy_x_1 of
-        happy_var_1 -> case happyOut127 happy_x_2 of
-                           happy_var_2 -> case happyOut42 happy_x_3 of
-                                              happy_var_3 -> happyIn44
-                                                               (rmap CTypeQual happy_var_1 `rappend`
-                                                                  (liftCAttrs happy_var_2)
-                                                                  `snoc` CTypeSpec happy_var_3)
-happyReduce_140 = happySpecReduce_2 37# happyReduction_140
-happyReduction_140 happy_x_2 happy_x_1
-  = case happyOut44 happy_x_1 of
-        happy_var_1 -> case happyOut61 happy_x_2 of
-                           happy_var_2 -> happyIn44 (happy_var_1 `snoc` CTypeQual happy_var_2)
-happyReduce_141 = happySpecReduce_2 37# happyReduction_141
-happyReduction_141 happy_x_2 happy_x_1
-  = case happyOut44 happy_x_1 of
-        happy_var_1 -> case happyOut42 happy_x_2 of
-                           happy_var_2 -> happyIn44 (happy_var_1 `snoc` CTypeSpec happy_var_2)
-happyReduce_142 = happySpecReduce_2 37# happyReduction_142
-happyReduction_142 happy_x_2 happy_x_1
-  = case happyOut44 happy_x_1 of
-        happy_var_1 -> case happyOut128 happy_x_2 of
-                           happy_var_2 -> happyIn44 (addTrailingAttrs happy_var_1 happy_var_2)
-happyReduce_143 = happySpecReduce_2 38# happyReduction_143
-happyReduction_143 happy_x_2 happy_x_1
-  = case happyOut38 happy_x_1 of
-        happy_var_1 -> case happyOut49 happy_x_2 of
-                           happy_var_2 -> happyIn45 (happy_var_1 `snoc` CTypeSpec happy_var_2)
-happyReduce_144 = happySpecReduce_2 38# happyReduction_144
-happyReduction_144 happy_x_2 happy_x_1
-  = case happyOut46 happy_x_1 of
-        happy_var_1 -> case happyOut40 happy_x_2 of
-                           happy_var_2 -> happyIn45
-                                            (happy_var_1 `snoc` CStorageSpec happy_var_2)
-happyReduce_145 = happySpecReduce_2 38# happyReduction_145
-happyReduction_145 happy_x_2 happy_x_1
-  = case happyOut45 happy_x_1 of
-        happy_var_1 -> case happyOut39 happy_x_2 of
-                           happy_var_2 -> happyIn45 (happy_var_1 `snoc` happy_var_2)
-happyReduce_146 = happySpecReduce_2 38# happyReduction_146
-happyReduction_146 happy_x_2 happy_x_1
-  = case happyOut45 happy_x_1 of
-        happy_var_1 -> case happyOut128 happy_x_2 of
-                           happy_var_2 -> happyIn45 (addTrailingAttrs happy_var_1 happy_var_2)
-happyReduce_147 = happySpecReduce_1 39# happyReduction_147
-happyReduction_147 happy_x_1
-  = case happyOut49 happy_x_1 of
-        happy_var_1 -> happyIn46 (singleton (CTypeSpec happy_var_1))
-happyReduce_148 = happySpecReduce_2 39# happyReduction_148
-happyReduction_148 happy_x_2 happy_x_1
-  = case happyOut127 happy_x_1 of
-        happy_var_1 -> case happyOut49 happy_x_2 of
-                           happy_var_2 -> happyIn46
-                                            ((reverseList $ liftCAttrs happy_var_1) `snoc`
-                                               (CTypeSpec happy_var_2))
-happyReduce_149 = happySpecReduce_2 39# happyReduction_149
-happyReduction_149 happy_x_2 happy_x_1
-  = case happyOut62 happy_x_1 of
-        happy_var_1 -> case happyOut49 happy_x_2 of
-                           happy_var_2 -> happyIn46
-                                            (rmap CTypeQual happy_var_1 `snoc`
-                                               CTypeSpec happy_var_2)
-happyReduce_150 = happySpecReduce_3 39# happyReduction_150
-happyReduction_150 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut62 happy_x_1 of
-        happy_var_1 -> case happyOut127 happy_x_2 of
-                           happy_var_2 -> case happyOut49 happy_x_3 of
-                                              happy_var_3 -> happyIn46
-                                                               (rmap CTypeQual happy_var_1 `rappend`
-                                                                  (liftCAttrs happy_var_2)
-                                                                  `snoc` CTypeSpec happy_var_3)
-happyReduce_151 = happySpecReduce_2 39# happyReduction_151
-happyReduction_151 happy_x_2 happy_x_1
-  = case happyOut46 happy_x_1 of
-        happy_var_1 -> case happyOut61 happy_x_2 of
-                           happy_var_2 -> happyIn46 (happy_var_1 `snoc` CTypeQual happy_var_2)
-happyReduce_152 = happySpecReduce_2 39# happyReduction_152
-happyReduction_152 happy_x_2 happy_x_1
-  = case happyOut46 happy_x_1 of
-        happy_var_1 -> case happyOut128 happy_x_2 of
-                           happy_var_2 -> happyIn46 (addTrailingAttrs happy_var_1 happy_var_2)
-happyReduce_153 = happySpecReduce_2 40# happyReduction_153
-happyReduction_153 happy_x_2 happy_x_1
-  = case happyOut48 happy_x_1 of
-        happy_var_1 -> case happyOut40 happy_x_2 of
-                           happy_var_2 -> happyIn47
-                                            (happy_var_1 `snoc` CStorageSpec happy_var_2)
-happyReduce_154 = happyMonadReduce 2# 40# happyReduction_154
-happyReduction_154
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut38 happy_x_1 of
-           happy_var_1 -> case happyOutTok happy_x_2 of
-                              (CTokTyIdent _ happy_var_2) -> (withNodeInfo happy_var_2 $
-                                                                \ at ->
-                                                                  happy_var_1 `snoc`
-                                                                    CTypeSpec
-                                                                      (CTypeDef happy_var_2 at)))
-      (\ r -> happyReturn (happyIn47 r))
-happyReduce_155 = happyMonadReduce 5# 40# happyReduction_155
-happyReduction_155
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  tk
-  = happyThen
-      (case happyOut38 happy_x_1 of
-           happy_var_1 -> case happyOutTok happy_x_2 of
-                              happy_var_2 -> case happyOut117 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_2 $
-                                                                   \ at ->
-                                                                     happy_var_1 `snoc`
-                                                                       CTypeSpec
-                                                                         (CTypeOfExpr happy_var_4
-                                                                            at)))
-      (\ r -> happyReturn (happyIn47 r))
-happyReduce_156 = happyMonadReduce 5# 40# happyReduction_156
-happyReduction_156
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  tk
-  = happyThen
-      (case happyOut38 happy_x_1 of
-           happy_var_1 -> case happyOutTok happy_x_2 of
-                              happy_var_2 -> case happyOut83 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_2 $
-                                                                   \ at ->
-                                                                     happy_var_1 `snoc`
-                                                                       CTypeSpec
-                                                                         (CTypeOfType happy_var_4
-                                                                            at)))
-      (\ r -> happyReturn (happyIn47 r))
-happyReduce_157 = happySpecReduce_2 40# happyReduction_157
-happyReduction_157 happy_x_2 happy_x_1
-  = case happyOut47 happy_x_1 of
-        happy_var_1 -> case happyOut39 happy_x_2 of
-                           happy_var_2 -> happyIn47 (happy_var_1 `snoc` happy_var_2)
-happyReduce_158 = happySpecReduce_2 40# happyReduction_158
-happyReduction_158 happy_x_2 happy_x_1
-  = case happyOut47 happy_x_1 of
-        happy_var_1 -> case happyOut128 happy_x_2 of
-                           happy_var_2 -> happyIn47 (addTrailingAttrs happy_var_1 happy_var_2)
-happyReduce_159 = happyMonadReduce 1# 41# happyReduction_159
-happyReduction_159 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           (CTokTyIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $
-                                             \ at ->
-                                               singleton (CTypeSpec (CTypeDef happy_var_1 at))))
-      (\ r -> happyReturn (happyIn48 r))
-happyReduce_160 = happyMonadReduce 4# 41# happyReduction_160
-happyReduction_160
-  (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 happyOut117 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                \ at ->
-                                                  singleton
-                                                    (CTypeSpec (CTypeOfExpr happy_var_3 at))))
-      (\ r -> happyReturn (happyIn48 r))
-happyReduce_161 = happyMonadReduce 4# 41# happyReduction_161
-happyReduction_161
-  (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 happyOut83 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                \ at ->
-                                                  singleton
-                                                    (CTypeSpec (CTypeOfType happy_var_3 at))))
-      (\ r -> happyReturn (happyIn48 r))
-happyReduce_162 = happyMonadReduce 2# 41# happyReduction_162
-happyReduction_162
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOutTok happy_x_2 of
-                              (CTokTyIdent _ happy_var_2) -> (withNodeInfo happy_var_2 $
-                                                                \ at ->
-                                                                  rmap CTypeQual happy_var_1 `snoc`
-                                                                    CTypeSpec
-                                                                      (CTypeDef happy_var_2 at)))
-      (\ r -> happyReturn (happyIn48 r))
-happyReduce_163 = happyMonadReduce 5# 41# happyReduction_163
-happyReduction_163
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOutTok happy_x_2 of
-                              happy_var_2 -> case happyOut117 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_2 $
-                                                                   \ at ->
-                                                                     rmap CTypeQual happy_var_1
-                                                                       `snoc`
-                                                                       CTypeSpec
-                                                                         (CTypeOfExpr happy_var_4
-                                                                            at)))
-      (\ r -> happyReturn (happyIn48 r))
-happyReduce_164 = happyMonadReduce 5# 41# happyReduction_164
-happyReduction_164
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOutTok happy_x_2 of
-                              happy_var_2 -> case happyOut83 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_2 $
-                                                                   \ at ->
-                                                                     rmap CTypeQual happy_var_1
-                                                                       `snoc`
-                                                                       CTypeSpec
-                                                                         (CTypeOfType happy_var_4
-                                                                            at)))
-      (\ r -> happyReturn (happyIn48 r))
-happyReduce_165 = happyMonadReduce 2# 41# happyReduction_165
-happyReduction_165
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut127 happy_x_1 of
-           happy_var_1 -> case happyOutTok happy_x_2 of
-                              (CTokTyIdent _ happy_var_2) -> (withNodeInfo happy_var_2 $
-                                                                \ at ->
-                                                                  reverseList
-                                                                    (liftCAttrs happy_var_1)
-                                                                    `snoc`
-                                                                    (CTypeSpec
-                                                                       (CTypeDef happy_var_2 at))))
-      (\ r -> happyReturn (happyIn48 r))
-happyReduce_166 = happyMonadReduce 5# 41# happyReduction_166
-happyReduction_166
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  tk
-  = happyThen
-      (case happyOut127 happy_x_1 of
-           happy_var_1 -> case happyOut117 happy_x_4 of
-                              happy_var_4 -> (withNodeInfo happy_var_1 $
-                                                \ at ->
-                                                  reverseList (liftCAttrs happy_var_1) `snoc`
-                                                    (CTypeSpec (CTypeOfExpr happy_var_4 at))))
-      (\ r -> happyReturn (happyIn48 r))
-happyReduce_167 = happyMonadReduce 5# 41# happyReduction_167
-happyReduction_167
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  tk
-  = happyThen
-      (case happyOut127 happy_x_1 of
-           happy_var_1 -> case happyOutTok happy_x_2 of
-                              happy_var_2 -> case happyOut83 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_2 $
-                                                                   \ at ->
-                                                                     reverseList
-                                                                       (liftCAttrs happy_var_1)
-                                                                       `snoc`
-                                                                       (CTypeSpec
-                                                                          (CTypeOfType happy_var_4
-                                                                             at))))
-      (\ r -> happyReturn (happyIn48 r))
-happyReduce_168 = happyMonadReduce 3# 41# happyReduction_168
-happyReduction_168
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut127 happy_x_2 of
-                              happy_var_2 -> case happyOutTok happy_x_3 of
-                                                 (CTokTyIdent _ happy_var_3) -> (withNodeInfo
-                                                                                   happy_var_3
-                                                                                   $
-                                                                                   \ at ->
-                                                                                     rmap CTypeQual
-                                                                                       happy_var_1
-                                                                                       `rappend`
-                                                                                       (liftCAttrs
-                                                                                          happy_var_2)
-                                                                                       `snoc`
-                                                                                       CTypeSpec
-                                                                                         (CTypeDef
-                                                                                            happy_var_3
-                                                                                            at)))
-      (\ r -> happyReturn (happyIn48 r))
-happyReduce_169 = happyMonadReduce 6# 41# happyReduction_169
-happyReduction_169
-  (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 happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut127 happy_x_2 of
-                              happy_var_2 -> case happyOutTok happy_x_3 of
-                                                 happy_var_3 -> case happyOut117 happy_x_5 of
-                                                                    happy_var_5 -> (withNodeInfo
-                                                                                      happy_var_3
-                                                                                      $
-                                                                                      \ at ->
-                                                                                        rmap
-                                                                                          CTypeQual
-                                                                                          happy_var_1
-                                                                                          `rappend`
-                                                                                          (liftCAttrs
-                                                                                             happy_var_2)
-                                                                                          `snoc`
-                                                                                          CTypeSpec
-                                                                                            (CTypeOfExpr
-                                                                                               happy_var_5
-                                                                                               at)))
-      (\ r -> happyReturn (happyIn48 r))
-happyReduce_170 = happyMonadReduce 6# 41# happyReduction_170
-happyReduction_170
-  (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 happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut127 happy_x_2 of
-                              happy_var_2 -> case happyOutTok happy_x_3 of
-                                                 happy_var_3 -> case happyOut83 happy_x_5 of
-                                                                    happy_var_5 -> (withNodeInfo
-                                                                                      happy_var_3
-                                                                                      $
-                                                                                      \ at ->
-                                                                                        rmap
-                                                                                          CTypeQual
-                                                                                          happy_var_1
-                                                                                          `rappend`
-                                                                                          (liftCAttrs
-                                                                                             happy_var_2)
-                                                                                          `snoc`
-                                                                                          CTypeSpec
-                                                                                            (CTypeOfType
-                                                                                               happy_var_5
-                                                                                               at)))
-      (\ r -> happyReturn (happyIn48 r))
-happyReduce_171 = happySpecReduce_2 41# happyReduction_171
-happyReduction_171 happy_x_2 happy_x_1
-  = case happyOut48 happy_x_1 of
-        happy_var_1 -> case happyOut61 happy_x_2 of
-                           happy_var_2 -> happyIn48 (happy_var_1 `snoc` CTypeQual happy_var_2)
-happyReduce_172 = happySpecReduce_2 41# happyReduction_172
-happyReduction_172 happy_x_2 happy_x_1
-  = case happyOut48 happy_x_1 of
-        happy_var_1 -> case happyOut128 happy_x_2 of
-                           happy_var_2 -> happyIn48 (addTrailingAttrs happy_var_1 happy_var_2)
-happyReduce_173 = happyMonadReduce 1# 42# happyReduction_173
-happyReduction_173 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut50 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CSUType happy_var_1))
-      (\ r -> happyReturn (happyIn49 r))
-happyReduce_174 = happyMonadReduce 1# 42# happyReduction_174
-happyReduction_174 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut58 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CEnumType happy_var_1))
-      (\ r -> happyReturn (happyIn49 r))
-happyReduce_175 = happyMonadReduce 6# 43# happyReduction_175
-happyReduction_175
-  (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 happyOut51 happy_x_1 of
-           happy_var_1 -> case happyOut126 happy_x_2 of
-                              happy_var_2 -> case happyOut125 happy_x_3 of
-                                                 happy_var_3 -> case happyOut52 happy_x_5 of
-                                                                    happy_var_5 -> (withNodeInfo
-                                                                                      happy_var_1
-                                                                                      $
-                                                                                      CStruct
-                                                                                        (unL
-                                                                                           happy_var_1)
-                                                                                        (Just
-                                                                                           happy_var_3)
-                                                                                        (Just $
-                                                                                           reverse
-                                                                                             happy_var_5)
-                                                                                        happy_var_2))
-      (\ r -> happyReturn (happyIn50 r))
-happyReduce_176 = happyMonadReduce 5# 43# happyReduction_176
-happyReduction_176
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  tk
-  = happyThen
-      (case happyOut51 happy_x_1 of
-           happy_var_1 -> case happyOut126 happy_x_2 of
-                              happy_var_2 -> case happyOut52 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $
-                                                                   CStruct (unL happy_var_1) Nothing
-                                                                     (Just $ reverse happy_var_4)
-                                                                     happy_var_2))
-      (\ r -> happyReturn (happyIn50 r))
-happyReduce_177 = happyMonadReduce 3# 43# happyReduction_177
-happyReduction_177
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut51 happy_x_1 of
-           happy_var_1 -> case happyOut126 happy_x_2 of
-                              happy_var_2 -> case happyOut125 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   CStruct (unL happy_var_1)
-                                                                     (Just happy_var_3)
-                                                                     Nothing
-                                                                     happy_var_2))
-      (\ r -> happyReturn (happyIn50 r))
-happyReduce_178 = happySpecReduce_1 44# happyReduction_178
-happyReduction_178 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn51 (L CStructTag (posOf happy_var_1))
-happyReduce_179 = happySpecReduce_1 44# happyReduction_179
-happyReduction_179 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn51 (L CUnionTag (posOf happy_var_1))
-happyReduce_180 = happySpecReduce_0 45# happyReduction_180
-happyReduction_180 = happyIn52 (empty)
-happyReduce_181 = happySpecReduce_2 45# happyReduction_181
-happyReduction_181 happy_x_2 happy_x_1
-  = case happyOut52 happy_x_1 of
-        happy_var_1 -> happyIn52 (happy_var_1)
-happyReduce_182 = happySpecReduce_2 45# happyReduction_182
-happyReduction_182 happy_x_2 happy_x_1
-  = case happyOut52 happy_x_1 of
-        happy_var_1 -> case happyOut53 happy_x_2 of
-                           happy_var_2 -> happyIn52 (happy_var_1 `snoc` happy_var_2)
-happyReduce_183 = happySpecReduce_2 46# happyReduction_183
-happyReduction_183 happy_x_2 happy_x_1
-  = case happyOut55 happy_x_1 of
-        happy_var_1 -> happyIn53
-                         (case happy_var_1 of
-                              CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at)
-happyReduce_184 = happySpecReduce_2 46# happyReduction_184
-happyReduction_184 happy_x_2 happy_x_1
-  = case happyOut54 happy_x_1 of
-        happy_var_1 -> happyIn53
-                         (case happy_var_1 of
-                              CDecl declspecs dies at -> CDecl declspecs (List.reverse dies) at)
-happyReduce_185 = happySpecReduce_2 46# happyReduction_185
-happyReduction_185 happy_x_2 happy_x_1
-  = case happyOut53 happy_x_2 of
-        happy_var_2 -> happyIn53 (happy_var_2)
-happyReduce_186 = happyMonadReduce 3# 47# happyReduction_186
-happyReduction_186
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut126 happy_x_2 of
-                              happy_var_2 -> case happyOut57 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   case happy_var_3 of
-                                                                       (d, s) -> CDecl
-                                                                                   (liftTypeQuals
-                                                                                      happy_var_1
-                                                                                      ++
-                                                                                      liftCAttrs
-                                                                                        happy_var_2)
-                                                                                   [(d, Nothing,
-                                                                                     s)]))
-      (\ r -> happyReturn (happyIn54 r))
-happyReduce_187 = happyMonadReduce 2# 47# happyReduction_187
-happyReduction_187
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut127 happy_x_1 of
-           happy_var_1 -> case happyOut57 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                case happy_var_2 of
-                                                    (d, s) -> CDecl (liftCAttrs happy_var_1)
-                                                                [(d, Nothing, s)]))
-      (\ r -> happyReturn (happyIn54 r))
-happyReduce_188 = happyReduce 4# 47# happyReduction_188
-happyReduction_188
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut54 happy_x_1 of
-        happy_var_1 -> case happyOut126 happy_x_3 of
-                           happy_var_3 -> case happyOut57 happy_x_4 of
-                                              happy_var_4 -> happyIn54
-                                                               (case happy_var_1 of
-                                                                    CDecl declspecs dies at -> case
-                                                                                                 happy_var_4
-                                                                                                 of
-                                                                                                   (Just
-                                                                                                      d,
-                                                                                                    s) -> CDecl
-                                                                                                            declspecs
-                                                                                                            ((Just
-                                                                                                                $
-                                                                                                                appendObjAttrs
-                                                                                                                  happy_var_3
-                                                                                                                  d,
-                                                                                                              Nothing,
-                                                                                                              s)
-                                                                                                               :
-                                                                                                               dies)
-                                                                                                            at
-                                                                                                   (Nothing,
-                                                                                                    s) -> CDecl
-                                                                                                            declspecs
-                                                                                                            ((Nothing,
-                                                                                                              Nothing,
-                                                                                                              s)
-                                                                                                               :
-                                                                                                               dies)
-                                                                                                            at)
-                                                               `HappyStk` happyRest
-happyReduce_189 = happyMonadReduce 3# 48# happyReduction_189
-happyReduction_189
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut41 happy_x_1 of
-           happy_var_1 -> case happyOut56 happy_x_2 of
-                              happy_var_2 -> case happyOut126 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   case happy_var_2 of
-                                                                       (Just d, s) -> CDecl
-                                                                                        happy_var_1
-                                                                                        [(Just $!
-                                                                                            appendObjAttrs
-                                                                                              happy_var_3
-                                                                                              d,
-                                                                                          Nothing,
-                                                                                          s)]
-                                                                       (Nothing, s) -> CDecl
-                                                                                         happy_var_1
-                                                                                         [(Nothing,
-                                                                                           Nothing,
-                                                                                           s)]))
-      (\ r -> happyReturn (happyIn55 r))
-happyReduce_190 = happyReduce 5# 48# happyReduction_190
-happyReduction_190
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  = case happyOut55 happy_x_1 of
-        happy_var_1 -> case happyOut126 happy_x_3 of
-                           happy_var_3 -> case happyOut56 happy_x_4 of
-                                              happy_var_4 -> case happyOut126 happy_x_5 of
-                                                                 happy_var_5 -> happyIn55
-                                                                                  (case happy_var_1
-                                                                                     of
-                                                                                       CDecl
-                                                                                         declspecs
-                                                                                         dies
-                                                                                         attr -> case
-                                                                                                   happy_var_4
-                                                                                                   of
-                                                                                                     (Just
-                                                                                                        d,
-                                                                                                      s) -> CDecl
-                                                                                                              declspecs
-                                                                                                              ((Just
-                                                                                                                  $
-                                                                                                                  appendObjAttrs
-                                                                                                                    (happy_var_3
-                                                                                                                       ++
-                                                                                                                       happy_var_5)
-                                                                                                                    d,
-                                                                                                                Nothing,
-                                                                                                                s)
-                                                                                                                 :
-                                                                                                                 dies)
-                                                                                                              attr
-                                                                                                     (Nothing,
-                                                                                                      s) -> CDecl
-                                                                                                              declspecs
-                                                                                                              ((Nothing,
-                                                                                                                Nothing,
-                                                                                                                s)
-                                                                                                                 :
-                                                                                                                 dies)
-                                                                                                              attr)
-                                                                                  `HappyStk`
-                                                                                  happyRest
-happyReduce_191 = happyMonadReduce 1# 48# happyReduction_191
-happyReduction_191 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut41 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))
-      (\ r -> happyReturn (happyIn55 r))
-happyReduce_192 = happySpecReduce_1 49# happyReduction_192
-happyReduction_192 happy_x_1
-  = case happyOut63 happy_x_1 of
-        happy_var_1 -> happyIn56
-                         ((Just (reverseDeclr happy_var_1), Nothing))
-happyReduce_193 = happySpecReduce_2 49# happyReduction_193
-happyReduction_193 happy_x_2 happy_x_1
-  = case happyOut121 happy_x_2 of
-        happy_var_2 -> happyIn56 ((Nothing, Just happy_var_2))
-happyReduce_194 = happySpecReduce_3 49# happyReduction_194
-happyReduction_194 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut63 happy_x_1 of
-        happy_var_1 -> case happyOut121 happy_x_3 of
-                           happy_var_3 -> happyIn56
-                                            ((Just (reverseDeclr happy_var_1), Just happy_var_3))
-happyReduce_195 = happySpecReduce_1 50# happyReduction_195
-happyReduction_195 happy_x_1
-  = case happyOut72 happy_x_1 of
-        happy_var_1 -> happyIn57
-                         ((Just (reverseDeclr happy_var_1), Nothing))
-happyReduce_196 = happySpecReduce_2 50# happyReduction_196
-happyReduction_196 happy_x_2 happy_x_1
-  = case happyOut121 happy_x_2 of
-        happy_var_2 -> happyIn57 ((Nothing, Just happy_var_2))
-happyReduce_197 = happySpecReduce_3 50# happyReduction_197
-happyReduction_197 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut72 happy_x_1 of
-        happy_var_1 -> case happyOut121 happy_x_3 of
-                           happy_var_3 -> happyIn57
-                                            ((Just (reverseDeclr happy_var_1), Just happy_var_3))
-happyReduce_198 = happySpecReduce_2 50# happyReduction_198
-happyReduction_198 happy_x_2 happy_x_1
-  = case happyOut57 happy_x_1 of
-        happy_var_1 -> case happyOut128 happy_x_2 of
-                           happy_var_2 -> happyIn57
-                                            (case happy_var_1 of
-                                                 (Nothing, expr) -> (Nothing, expr)
-                                                 (Just (CDeclr name derived asmname attrs node),
-                                                  bsz) -> (Just
-                                                             (CDeclr name derived asmname
-                                                                (attrs ++ happy_var_2)
-                                                                node),
-                                                           bsz))
-happyReduce_199 = happyMonadReduce 5# 51# happyReduction_199
-happyReduction_199
-  (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 happyOut126 happy_x_2 of
-                              happy_var_2 -> case happyOut59 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $
-                                                                   CEnum Nothing
-                                                                     (Just $ reverse happy_var_4)
-                                                                     happy_var_2))
-      (\ r -> happyReturn (happyIn58 r))
-happyReduce_200 = happyMonadReduce 6# 51# happyReduction_200
-happyReduction_200
-  (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 happyOut126 happy_x_2 of
-                              happy_var_2 -> case happyOut59 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $
-                                                                   CEnum Nothing
-                                                                     (Just $ reverse happy_var_4)
-                                                                     happy_var_2))
-      (\ r -> happyReturn (happyIn58 r))
-happyReduce_201 = happyMonadReduce 6# 51# happyReduction_201
-happyReduction_201
-  (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 happyOut126 happy_x_2 of
-                              happy_var_2 -> case happyOut125 happy_x_3 of
-                                                 happy_var_3 -> case happyOut59 happy_x_5 of
-                                                                    happy_var_5 -> (withNodeInfo
-                                                                                      happy_var_1
-                                                                                      $
-                                                                                      CEnum
-                                                                                        (Just
-                                                                                           happy_var_3)
-                                                                                        (Just $
-                                                                                           reverse
-                                                                                             happy_var_5)
-                                                                                        happy_var_2))
-      (\ r -> happyReturn (happyIn58 r))
-happyReduce_202 = happyMonadReduce 7# 51# happyReduction_202
-happyReduction_202
-  (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
-           happy_var_1 -> case happyOut126 happy_x_2 of
-                              happy_var_2 -> case happyOut125 happy_x_3 of
-                                                 happy_var_3 -> case happyOut59 happy_x_5 of
-                                                                    happy_var_5 -> (withNodeInfo
-                                                                                      happy_var_1
-                                                                                      $
-                                                                                      CEnum
-                                                                                        (Just
-                                                                                           happy_var_3)
-                                                                                        (Just $
-                                                                                           reverse
-                                                                                             happy_var_5)
-                                                                                        happy_var_2))
-      (\ r -> happyReturn (happyIn58 r))
-happyReduce_203 = happyMonadReduce 3# 51# happyReduction_203
-happyReduction_203
-  (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 happyOut126 happy_x_2 of
-                              happy_var_2 -> case happyOut125 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   CEnum (Just happy_var_3) Nothing
-                                                                     happy_var_2))
-      (\ r -> happyReturn (happyIn58 r))
-happyReduce_204 = happySpecReduce_1 52# happyReduction_204
-happyReduction_204 happy_x_1
-  = case happyOut60 happy_x_1 of
-        happy_var_1 -> happyIn59 (singleton happy_var_1)
-happyReduce_205 = happySpecReduce_3 52# happyReduction_205
-happyReduction_205 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut59 happy_x_1 of
-        happy_var_1 -> case happyOut60 happy_x_3 of
-                           happy_var_3 -> happyIn59 (happy_var_1 `snoc` happy_var_3)
-happyReduce_206 = happySpecReduce_1 53# happyReduction_206
-happyReduction_206 happy_x_1
-  = case happyOut125 happy_x_1 of
-        happy_var_1 -> happyIn60 ((happy_var_1, Nothing))
-happyReduce_207 = happySpecReduce_3 53# happyReduction_207
-happyReduction_207 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut125 happy_x_1 of
-        happy_var_1 -> case happyOut121 happy_x_3 of
-                           happy_var_3 -> happyIn60 ((happy_var_1, Just happy_var_3))
-happyReduce_208 = happyMonadReduce 1# 54# happyReduction_208
-happyReduction_208 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CConstQual))
-      (\ r -> happyReturn (happyIn61 r))
-happyReduce_209 = happyMonadReduce 1# 54# happyReduction_209
-happyReduction_209 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CVolatQual))
-      (\ r -> happyReturn (happyIn61 r))
-happyReduce_210 = happyMonadReduce 1# 54# happyReduction_210
-happyReduction_210 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CRestrQual))
-      (\ r -> happyReturn (happyIn61 r))
-happyReduce_211 = happyMonadReduce 1# 54# happyReduction_211
-happyReduction_211 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CInlineQual))
-      (\ r -> happyReturn (happyIn61 r))
-happyReduce_212 = happySpecReduce_2 55# happyReduction_212
-happyReduction_212 happy_x_2 happy_x_1
-  = case happyOut126 happy_x_1 of
-        happy_var_1 -> case happyOut61 happy_x_2 of
-                           happy_var_2 -> happyIn62
-                                            (reverseList (map CAttrQual happy_var_1) `snoc`
-                                               happy_var_2)
-happyReduce_213 = happySpecReduce_2 55# happyReduction_213
-happyReduction_213 happy_x_2 happy_x_1
-  = case happyOut62 happy_x_1 of
-        happy_var_1 -> case happyOut61 happy_x_2 of
-                           happy_var_2 -> happyIn62 (happy_var_1 `snoc` happy_var_2)
-happyReduce_214 = happySpecReduce_3 55# happyReduction_214
-happyReduction_214 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut62 happy_x_1 of
-        happy_var_1 -> case happyOut127 happy_x_2 of
-                           happy_var_2 -> case happyOut61 happy_x_3 of
-                                              happy_var_3 -> happyIn62
-                                                               ((happy_var_1 `rappend`
-                                                                   map CAttrQual happy_var_2)
-                                                                  `snoc` happy_var_3)
-happyReduce_215 = happySpecReduce_1 56# happyReduction_215
-happyReduction_215 happy_x_1
-  = case happyOut72 happy_x_1 of
-        happy_var_1 -> happyIn63 (happy_var_1)
-happyReduce_216 = happySpecReduce_1 56# happyReduction_216
-happyReduction_216 happy_x_1
-  = case happyOut65 happy_x_1 of
-        happy_var_1 -> happyIn63 (happy_var_1)
-happyReduce_217 = happySpecReduce_0 57# happyReduction_217
-happyReduction_217 = happyIn64 (Nothing)
-happyReduce_218 = happyReduce 4# 57# happyReduction_218
-happyReduction_218
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut123 happy_x_3 of
-        happy_var_3 -> happyIn64 (Just happy_var_3) `HappyStk` happyRest
-happyReduce_219 = happySpecReduce_1 58# happyReduction_219
-happyReduction_219 happy_x_1
-  = case happyOut69 happy_x_1 of
-        happy_var_1 -> happyIn65 (happy_var_1)
-happyReduce_220 = happySpecReduce_1 58# happyReduction_220
-happyReduction_220 happy_x_1
-  = case happyOut66 happy_x_1 of
-        happy_var_1 -> happyIn65 (happy_var_1)
-happyReduce_221 = happyMonadReduce 1# 59# happyReduction_221
-happyReduction_221 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           (CTokTyIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $
-                                             mkVarDeclr happy_var_1))
-      (\ r -> happyReturn (happyIn66 r))
-happyReduce_222 = happyMonadReduce 2# 59# happyReduction_222
-happyReduction_222
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           (CTokTyIdent _ happy_var_1) -> case happyOut85 happy_x_2 of
-                                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                                \ at ->
-                                                                  happy_var_2
-                                                                    (mkVarDeclr happy_var_1 at)))
-      (\ r -> happyReturn (happyIn66 r))
-happyReduce_223 = happySpecReduce_1 59# happyReduction_223
-happyReduction_223 happy_x_1
-  = case happyOut67 happy_x_1 of
-        happy_var_1 -> happyIn66 (happy_var_1)
-happyReduce_224 = happySpecReduce_1 60# happyReduction_224
-happyReduction_224 happy_x_1
-  = case happyOut68 happy_x_1 of
-        happy_var_1 -> happyIn67 (happy_var_1)
-happyReduce_225 = happyMonadReduce 2# 60# happyReduction_225
-happyReduction_225
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut66 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                ptrDeclr happy_var_2 []))
-      (\ r -> happyReturn (happyIn67 r))
-happyReduce_226 = happyMonadReduce 3# 60# happyReduction_226
-happyReduction_226
-  (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 happyOut127 happy_x_2 of
-                              happy_var_2 -> case happyOut66 happy_x_3 of
-                                                 happy_var_3 -> (withAttribute happy_var_1
-                                                                   happy_var_2
-                                                                   $ ptrDeclr happy_var_3 []))
-      (\ r -> happyReturn (happyIn67 r))
-happyReduce_227 = happyMonadReduce 3# 60# happyReduction_227
-happyReduction_227
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut66 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   ptrDeclr happy_var_3
-                                                                     (reverse happy_var_2)))
-      (\ r -> happyReturn (happyIn67 r))
-happyReduce_228 = happyMonadReduce 4# 60# happyReduction_228
-happyReduction_228
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut127 happy_x_3 of
-                                                 happy_var_3 -> case happyOut66 happy_x_4 of
-                                                                    happy_var_4 -> (withAttribute
-                                                                                      happy_var_1
-                                                                                      happy_var_3
-                                                                                      $
-                                                                                      ptrDeclr
-                                                                                        happy_var_4
-                                                                                        (reverse
-                                                                                           happy_var_2)))
-      (\ r -> happyReturn (happyIn67 r))
-happyReduce_229 = happySpecReduce_3 61# happyReduction_229
-happyReduction_229 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut67 happy_x_2 of
-        happy_var_2 -> happyIn68 (happy_var_2)
-happyReduce_230 = happyReduce 4# 61# happyReduction_230
-happyReduction_230
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut67 happy_x_2 of
-        happy_var_2 -> case happyOut85 happy_x_4 of
-                           happy_var_4 -> happyIn68 (happy_var_4 happy_var_2) `HappyStk`
-                                            happyRest
-happyReduce_231 = happyReduce 4# 61# happyReduction_231
-happyReduction_231
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut127 happy_x_2 of
-        happy_var_2 -> case happyOut67 happy_x_3 of
-                           happy_var_3 -> happyIn68 (appendDeclrAttrs happy_var_2 happy_var_3)
-                                            `HappyStk` happyRest
-happyReduce_232 = happyReduce 5# 61# happyReduction_232
-happyReduction_232
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  = case happyOut127 happy_x_2 of
-        happy_var_2 -> case happyOut67 happy_x_3 of
-                           happy_var_3 -> case happyOut85 happy_x_5 of
-                                              happy_var_5 -> happyIn68
-                                                               (appendDeclrAttrs happy_var_2
-                                                                  (happy_var_5 happy_var_3))
-                                                               `HappyStk` happyRest
-happyReduce_233 = happySpecReduce_1 62# happyReduction_233
-happyReduction_233 happy_x_1
-  = case happyOut70 happy_x_1 of
-        happy_var_1 -> happyIn69 (happy_var_1)
-happyReduce_234 = happyMonadReduce 4# 62# happyReduction_234
-happyReduction_234
-  (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 happyOut71 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                ptrDeclr happy_var_3 []))
-      (\ r -> happyReturn (happyIn69 r))
-happyReduce_235 = happyMonadReduce 5# 62# happyReduction_235
-happyReduction_235
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut71 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $
-                                                                   ptrDeclr happy_var_4
-                                                                     (reverse happy_var_2)))
-      (\ r -> happyReturn (happyIn69 r))
-happyReduce_236 = happyMonadReduce 6# 62# happyReduction_236
-happyReduction_236
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut127 happy_x_3 of
-                                                 happy_var_3 -> case happyOut71 happy_x_5 of
-                                                                    happy_var_5 -> (withAttribute
-                                                                                      happy_var_1
-                                                                                      happy_var_3
-                                                                                      $
-                                                                                      ptrDeclr
-                                                                                        happy_var_5
-                                                                                        (reverse
-                                                                                           happy_var_2)))
-      (\ r -> happyReturn (happyIn69 r))
-happyReduce_237 = happyMonadReduce 2# 62# happyReduction_237
-happyReduction_237
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut69 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                ptrDeclr happy_var_2 []))
-      (\ r -> happyReturn (happyIn69 r))
-happyReduce_238 = happyMonadReduce 3# 62# happyReduction_238
-happyReduction_238
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut69 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   ptrDeclr happy_var_3
-                                                                     (reverse happy_var_2)))
-      (\ r -> happyReturn (happyIn69 r))
-happyReduce_239 = happyMonadReduce 4# 62# happyReduction_239
-happyReduction_239
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut127 happy_x_3 of
-                                                 happy_var_3 -> case happyOut69 happy_x_4 of
-                                                                    happy_var_4 -> (withAttribute
-                                                                                      happy_var_1
-                                                                                      happy_var_3
-                                                                                      $
-                                                                                      ptrDeclr
-                                                                                        happy_var_4
-                                                                                        (reverse
-                                                                                           happy_var_2)))
-      (\ r -> happyReturn (happyIn69 r))
-happyReduce_240 = happySpecReduce_3 63# happyReduction_240
-happyReduction_240 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut69 happy_x_2 of
-        happy_var_2 -> happyIn70 (happy_var_2)
-happyReduce_241 = happyReduce 4# 63# happyReduction_241
-happyReduction_241
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut71 happy_x_2 of
-        happy_var_2 -> case happyOut85 happy_x_3 of
-                           happy_var_3 -> happyIn70 (happy_var_3 happy_var_2) `HappyStk`
-                                            happyRest
-happyReduce_242 = happyReduce 4# 63# happyReduction_242
-happyReduction_242
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut69 happy_x_2 of
-        happy_var_2 -> case happyOut85 happy_x_4 of
-                           happy_var_4 -> happyIn70 (happy_var_4 happy_var_2) `HappyStk`
-                                            happyRest
-happyReduce_243 = happyMonadReduce 1# 64# happyReduction_243
-happyReduction_243 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           (CTokTyIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $
-                                             mkVarDeclr happy_var_1))
-      (\ r -> happyReturn (happyIn71 r))
-happyReduce_244 = happySpecReduce_3 64# happyReduction_244
-happyReduction_244 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut71 happy_x_2 of
-        happy_var_2 -> happyIn71 (happy_var_2)
-happyReduce_245 = happySpecReduce_1 65# happyReduction_245
-happyReduction_245 happy_x_1
-  = case happyOut73 happy_x_1 of
-        happy_var_1 -> happyIn72 (happy_var_1)
-happyReduce_246 = happySpecReduce_1 65# happyReduction_246
-happyReduction_246 happy_x_1
-  = case happyOut75 happy_x_1 of
-        happy_var_1 -> happyIn72 (happy_var_1)
-happyReduce_247 = happySpecReduce_1 66# happyReduction_247
-happyReduction_247 happy_x_1
-  = case happyOut74 happy_x_1 of
-        happy_var_1 -> happyIn73 (happy_var_1)
-happyReduce_248 = happyMonadReduce 2# 66# happyReduction_248
-happyReduction_248
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut72 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                ptrDeclr happy_var_2 []))
-      (\ r -> happyReturn (happyIn73 r))
-happyReduce_249 = happyMonadReduce 3# 66# happyReduction_249
-happyReduction_249
-  (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 happyOut127 happy_x_2 of
-                              happy_var_2 -> case happyOut72 happy_x_3 of
-                                                 happy_var_3 -> (withAttribute happy_var_1
-                                                                   happy_var_2
-                                                                   $ ptrDeclr happy_var_3 []))
-      (\ r -> happyReturn (happyIn73 r))
-happyReduce_250 = happyMonadReduce 3# 66# happyReduction_250
-happyReduction_250
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut72 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   ptrDeclr happy_var_3
-                                                                     (reverse happy_var_2)))
-      (\ r -> happyReturn (happyIn73 r))
-happyReduce_251 = happyMonadReduce 4# 66# happyReduction_251
-happyReduction_251
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut127 happy_x_3 of
-                                                 happy_var_3 -> case happyOut72 happy_x_4 of
-                                                                    happy_var_4 -> (withAttribute
-                                                                                      happy_var_1
-                                                                                      happy_var_3
-                                                                                      $
-                                                                                      ptrDeclr
-                                                                                        happy_var_4
-                                                                                        (reverse
-                                                                                           happy_var_2)))
-      (\ r -> happyReturn (happyIn73 r))
-happyReduce_252 = happySpecReduce_2 67# happyReduction_252
-happyReduction_252 happy_x_2 happy_x_1
-  = case happyOut75 happy_x_1 of
-        happy_var_1 -> case happyOut85 happy_x_2 of
-                           happy_var_2 -> happyIn74 (happy_var_2 happy_var_1)
-happyReduce_253 = happySpecReduce_3 67# happyReduction_253
-happyReduction_253 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut73 happy_x_2 of
-        happy_var_2 -> happyIn74 (happy_var_2)
-happyReduce_254 = happyReduce 4# 67# happyReduction_254
-happyReduction_254
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut73 happy_x_2 of
-        happy_var_2 -> case happyOut85 happy_x_4 of
-                           happy_var_4 -> happyIn74 (happy_var_4 happy_var_2) `HappyStk`
-                                            happyRest
-happyReduce_255 = happyReduce 4# 67# happyReduction_255
-happyReduction_255
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut127 happy_x_2 of
-        happy_var_2 -> case happyOut73 happy_x_3 of
-                           happy_var_3 -> happyIn74 (appendDeclrAttrs happy_var_2 happy_var_3)
-                                            `HappyStk` happyRest
-happyReduce_256 = happyReduce 5# 67# happyReduction_256
-happyReduction_256
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  = case happyOut127 happy_x_2 of
-        happy_var_2 -> case happyOut73 happy_x_3 of
-                           happy_var_3 -> case happyOut85 happy_x_5 of
-                                              happy_var_5 -> happyIn74
-                                                               (appendDeclrAttrs happy_var_2
-                                                                  (happy_var_5 happy_var_3))
-                                                               `HappyStk` happyRest
-happyReduce_257 = happyMonadReduce 1# 68# happyReduction_257
-happyReduction_257 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $
-                                           mkVarDeclr happy_var_1))
-      (\ r -> happyReturn (happyIn75 r))
-happyReduce_258 = happySpecReduce_3 68# happyReduction_258
-happyReduction_258 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut75 happy_x_2 of
-        happy_var_2 -> happyIn75 (happy_var_2)
-happyReduce_259 = happyReduce 4# 68# happyReduction_259
-happyReduction_259
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut127 happy_x_2 of
-        happy_var_2 -> case happyOut75 happy_x_3 of
-                           happy_var_3 -> happyIn75 (appendDeclrAttrs happy_var_2 happy_var_3)
-                                            `HappyStk` happyRest
-happyReduce_260 = happySpecReduce_1 69# happyReduction_260
-happyReduction_260 happy_x_1
-  = case happyOut77 happy_x_1 of
-        happy_var_1 -> happyIn76 (reverseDeclr happy_var_1)
-happyReduce_261 = happySpecReduce_1 70# happyReduction_261
-happyReduction_261 happy_x_1
-  = case happyOut78 happy_x_1 of
-        happy_var_1 -> happyIn77 (happy_var_1)
-happyReduce_262 = happyMonadReduce 2# 70# happyReduction_262
-happyReduction_262
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut77 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                ptrDeclr happy_var_2 []))
-      (\ r -> happyReturn (happyIn77 r))
-happyReduce_263 = happyMonadReduce 3# 70# happyReduction_263
-happyReduction_263
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut77 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   ptrDeclr happy_var_3
-                                                                     (reverse happy_var_2)))
-      (\ r -> happyReturn (happyIn77 r))
-happyReduce_264 = happyMonadReduce 4# 71# happyReduction_264
-happyReduction_264
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut75 happy_x_1 of
-           happy_var_1 -> case happyOut82 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                funDeclr happy_var_1 (Left $ reverse happy_var_3)
-                                                  []))
-      (\ r -> happyReturn (happyIn78 r))
-happyReduce_265 = happySpecReduce_3 71# happyReduction_265
-happyReduction_265 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut77 happy_x_2 of
-        happy_var_2 -> happyIn78 (happy_var_2)
-happyReduce_266 = happyReduce 4# 71# happyReduction_266
-happyReduction_266
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut77 happy_x_2 of
-        happy_var_2 -> case happyOut85 happy_x_4 of
-                           happy_var_4 -> happyIn78 (happy_var_4 happy_var_2) `HappyStk`
-                                            happyRest
-happyReduce_267 = happySpecReduce_0 72# happyReduction_267
-happyReduction_267 = happyIn79 (([], False))
-happyReduce_268 = happySpecReduce_1 72# happyReduction_268
-happyReduction_268 happy_x_1
-  = case happyOut80 happy_x_1 of
-        happy_var_1 -> happyIn79 ((reverse happy_var_1, False))
-happyReduce_269 = happySpecReduce_3 72# happyReduction_269
-happyReduction_269 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut80 happy_x_1 of
-        happy_var_1 -> happyIn79 ((reverse happy_var_1, True))
-happyReduce_270 = happySpecReduce_1 73# happyReduction_270
-happyReduction_270 happy_x_1
-  = case happyOut81 happy_x_1 of
-        happy_var_1 -> happyIn80 (singleton happy_var_1)
-happyReduce_271 = happySpecReduce_3 73# happyReduction_271
-happyReduction_271 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut80 happy_x_1 of
-        happy_var_1 -> case happyOut81 happy_x_3 of
-                           happy_var_3 -> happyIn80 (happy_var_1 `snoc` happy_var_3)
-happyReduce_272 = happyMonadReduce 1# 74# happyReduction_272
-happyReduction_272 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut37 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_273 = happyMonadReduce 2# 74# happyReduction_273
-happyReduction_273
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut37 happy_x_1 of
-           happy_var_1 -> case happyOut84 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CDecl happy_var_1
-                                                  [(Just (reverseDeclr happy_var_2), Nothing,
-                                                    Nothing)]))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_274 = happyMonadReduce 3# 74# happyReduction_274
-happyReduction_274
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut37 happy_x_1 of
-           happy_var_1 -> case happyOut72 happy_x_2 of
-                              happy_var_2 -> case happyOut126 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   CDecl happy_var_1
-                                                                     [(Just
-                                                                         (reverseDeclr $!
-                                                                            appendDeclrAttrs
-                                                                              happy_var_3
-                                                                              happy_var_2),
-                                                                       Nothing, Nothing)]))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_275 = happyMonadReduce 3# 74# happyReduction_275
-happyReduction_275
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut37 happy_x_1 of
-           happy_var_1 -> case happyOut66 happy_x_2 of
-                              happy_var_2 -> case happyOut126 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   CDecl happy_var_1
-                                                                     [(Just
-                                                                         (reverseDeclr $!
-                                                                            appendDeclrAttrs
-                                                                              happy_var_3
-                                                                              happy_var_2),
-                                                                       Nothing, Nothing)]))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_276 = happyMonadReduce 1# 74# happyReduction_276
-happyReduction_276 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut38 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             CDecl (reverse happy_var_1) []))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_277 = happyMonadReduce 2# 74# happyReduction_277
-happyReduction_277
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut38 happy_x_1 of
-           happy_var_1 -> case happyOut84 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CDecl (reverse happy_var_1)
-                                                  [(Just (reverseDeclr happy_var_2), Nothing,
-                                                    Nothing)]))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_278 = happyMonadReduce 3# 74# happyReduction_278
-happyReduction_278
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut38 happy_x_1 of
-           happy_var_1 -> case happyOut72 happy_x_2 of
-                              happy_var_2 -> case happyOut126 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   CDecl (reverse happy_var_1)
-                                                                     [(Just
-                                                                         (reverseDeclr $!
-                                                                            appendDeclrAttrs
-                                                                              happy_var_3
-                                                                              happy_var_2),
-                                                                       Nothing, Nothing)]))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_279 = happyMonadReduce 1# 74# happyReduction_279
-happyReduction_279 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut41 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_280 = happyMonadReduce 2# 74# happyReduction_280
-happyReduction_280
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut41 happy_x_1 of
-           happy_var_1 -> case happyOut84 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CDecl happy_var_1
-                                                  [(Just (reverseDeclr happy_var_2), Nothing,
-                                                    Nothing)]))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_281 = happyMonadReduce 3# 74# happyReduction_281
-happyReduction_281
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut41 happy_x_1 of
-           happy_var_1 -> case happyOut72 happy_x_2 of
-                              happy_var_2 -> case happyOut126 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   CDecl happy_var_1
-                                                                     [(Just
-                                                                         (reverseDeclr $!
-                                                                            appendDeclrAttrs
-                                                                              happy_var_3
-                                                                              happy_var_2),
-                                                                       Nothing, Nothing)]))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_282 = happyMonadReduce 3# 74# happyReduction_282
-happyReduction_282
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut41 happy_x_1 of
-           happy_var_1 -> case happyOut66 happy_x_2 of
-                              happy_var_2 -> case happyOut126 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   CDecl happy_var_1
-                                                                     [(Just
-                                                                         (reverseDeclr $!
-                                                                            appendDeclrAttrs
-                                                                              happy_var_3
-                                                                              happy_var_2),
-                                                                       Nothing, Nothing)]))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_283 = happyMonadReduce 1# 74# happyReduction_283
-happyReduction_283 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             CDecl (liftTypeQuals happy_var_1) []))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_284 = happyMonadReduce 2# 74# happyReduction_284
-happyReduction_284
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut128 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CDecl
-                                                  (liftTypeQuals happy_var_1 ++
-                                                     liftCAttrs happy_var_2)
-                                                  []))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_285 = happyMonadReduce 2# 74# happyReduction_285
-happyReduction_285
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut84 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CDecl (liftTypeQuals happy_var_1)
-                                                  [(Just (reverseDeclr happy_var_2), Nothing,
-                                                    Nothing)]))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_286 = happyMonadReduce 3# 74# happyReduction_286
-happyReduction_286
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut72 happy_x_2 of
-                              happy_var_2 -> case happyOut126 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   CDecl (liftTypeQuals happy_var_1)
-                                                                     [(Just
-                                                                         (reverseDeclr $
-                                                                            appendDeclrAttrs
-                                                                              happy_var_3
-                                                                              happy_var_2),
-                                                                       Nothing, Nothing)]))
-      (\ r -> happyReturn (happyIn81 r))
-happyReduce_287 = happySpecReduce_1 75# happyReduction_287
-happyReduction_287 happy_x_1
-  = case happyOutTok happy_x_1 of
-        (CTokIdent _ happy_var_1) -> happyIn82 (singleton happy_var_1)
-happyReduce_288 = happySpecReduce_3 75# happyReduction_288
-happyReduction_288 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut82 happy_x_1 of
-        happy_var_1 -> case happyOutTok happy_x_3 of
-                           (CTokIdent _ happy_var_3) -> happyIn82
-                                                          (happy_var_1 `snoc` happy_var_3)
-happyReduce_289 = happyMonadReduce 1# 76# happyReduction_289
-happyReduction_289 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut41 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CDecl happy_var_1 []))
-      (\ r -> happyReturn (happyIn83 r))
-happyReduce_290 = happyMonadReduce 2# 76# happyReduction_290
-happyReduction_290
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut41 happy_x_1 of
-           happy_var_1 -> case happyOut84 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CDecl happy_var_1
-                                                  [(Just (reverseDeclr happy_var_2), Nothing,
-                                                    Nothing)]))
-      (\ r -> happyReturn (happyIn83 r))
-happyReduce_291 = happyMonadReduce 2# 76# happyReduction_291
-happyReduction_291
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut128 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CDecl
-                                                  (liftTypeQuals happy_var_1 ++
-                                                     liftCAttrs happy_var_2)
-                                                  []))
-      (\ r -> happyReturn (happyIn83 r))
-happyReduce_292 = happyMonadReduce 2# 76# happyReduction_292
-happyReduction_292
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut62 happy_x_1 of
-           happy_var_1 -> case happyOut84 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CDecl (liftTypeQuals happy_var_1)
-                                                  [(Just (reverseDeclr happy_var_2), Nothing,
-                                                    Nothing)]))
-      (\ r -> happyReturn (happyIn83 r))
-happyReduce_293 = happySpecReduce_1 77# happyReduction_293
-happyReduction_293 happy_x_1
-  = case happyOut88 happy_x_1 of
-        happy_var_1 -> happyIn84 (happy_var_1)
-happyReduce_294 = happySpecReduce_1 77# happyReduction_294
-happyReduction_294 happy_x_1
-  = case happyOut89 happy_x_1 of
-        happy_var_1 -> happyIn84 (happy_var_1)
-happyReduce_295 = happySpecReduce_1 77# happyReduction_295
-happyReduction_295 happy_x_1
-  = case happyOut85 happy_x_1 of
-        happy_var_1 -> happyIn84 (happy_var_1 emptyDeclr)
-happyReduce_296 = happySpecReduce_1 78# happyReduction_296
-happyReduction_296 happy_x_1
-  = case happyOut86 happy_x_1 of
-        happy_var_1 -> happyIn85 (happy_var_1)
-happyReduce_297 = happyMonadReduce 3# 78# happyReduction_297
-happyReduction_297
-  (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 happyOut79 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                \ at declr ->
-                                                  case happy_var_2 of
-                                                      (params, variadic) -> funDeclr declr
-                                                                              (Right
-                                                                                 (params, variadic))
-                                                                              []
-                                                                              at))
-      (\ r -> happyReturn (happyIn85 r))
-happyReduce_298 = happySpecReduce_1 79# happyReduction_298
-happyReduction_298 happy_x_1
-  = case happyOut87 happy_x_1 of
-        happy_var_1 -> happyIn86 (happy_var_1)
-happyReduce_299 = happySpecReduce_2 79# happyReduction_299
-happyReduction_299 happy_x_2 happy_x_1
-  = case happyOut86 happy_x_1 of
-        happy_var_1 -> case happyOut87 happy_x_2 of
-                           happy_var_2 -> happyIn86 (\ decl -> happy_var_2 (happy_var_1 decl))
-happyReduce_300 = happyMonadReduce 3# 80# happyReduction_300
-happyReduction_300
-  (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 happyOut120 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                \ at declr ->
-                                                  arrDeclr declr [] False False happy_var_2 at))
-      (\ r -> happyReturn (happyIn87 r))
-happyReduce_301 = happyMonadReduce 4# 80# happyReduction_301
-happyReduction_301
-  (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 happyOut127 happy_x_2 of
-                              happy_var_2 -> case happyOut120 happy_x_3 of
-                                                 happy_var_3 -> (withAttributePF happy_var_1
-                                                                   happy_var_2
-                                                                   $
-                                                                   \ at declr ->
-                                                                     arrDeclr declr [] False False
-                                                                       happy_var_3
-                                                                       at))
-      (\ r -> happyReturn (happyIn87 r))
-happyReduce_302 = happyMonadReduce 4# 80# happyReduction_302
-happyReduction_302
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut120 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   \ at declr ->
-                                                                     arrDeclr declr
-                                                                       (reverse happy_var_2)
-                                                                       False
-                                                                       False
-                                                                       happy_var_3
-                                                                       at))
-      (\ r -> happyReturn (happyIn87 r))
-happyReduce_303 = happyMonadReduce 5# 80# happyReduction_303
-happyReduction_303
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut127 happy_x_3 of
-                                                 happy_var_3 -> case happyOut120 happy_x_4 of
-                                                                    happy_var_4 -> (withAttributePF
-                                                                                      happy_var_1
-                                                                                      happy_var_3
-                                                                                      $
-                                                                                      \ at declr ->
-                                                                                        arrDeclr
-                                                                                          declr
-                                                                                          (reverse
-                                                                                             happy_var_2)
-                                                                                          False
-                                                                                          False
-                                                                                          happy_var_4
-                                                                                          at))
-      (\ r -> happyReturn (happyIn87 r))
-happyReduce_304 = happyMonadReduce 5# 80# happyReduction_304
-happyReduction_304
-  (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 happyOut126 happy_x_3 of
-                              happy_var_3 -> case happyOut115 happy_x_4 of
-                                                 happy_var_4 -> (withAttributePF happy_var_1
-                                                                   happy_var_3
-                                                                   $
-                                                                   \ at declr ->
-                                                                     arrDeclr declr [] False True
-                                                                       (Just happy_var_4)
-                                                                       at))
-      (\ r -> happyReturn (happyIn87 r))
-happyReduce_305 = happyMonadReduce 6# 80# happyReduction_305
-happyReduction_305
-  (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 happyOut62 happy_x_3 of
-                              happy_var_3 -> case happyOut126 happy_x_4 of
-                                                 happy_var_4 -> case happyOut115 happy_x_5 of
-                                                                    happy_var_5 -> (withAttributePF
-                                                                                      happy_var_1
-                                                                                      happy_var_4
-                                                                                      $
-                                                                                      \ at declr ->
-                                                                                        arrDeclr
-                                                                                          declr
-                                                                                          (reverse
-                                                                                             happy_var_3)
-                                                                                          False
-                                                                                          True
-                                                                                          (Just
-                                                                                             happy_var_5)
-                                                                                          at))
-      (\ r -> happyReturn (happyIn87 r))
-happyReduce_306 = happyMonadReduce 7# 80# happyReduction_306
-happyReduction_306
-  (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
-           happy_var_1 -> case happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut126 happy_x_3 of
-                                                 happy_var_3 -> case happyOut126 happy_x_5 of
-                                                                    happy_var_5 -> case
-                                                                                     happyOut115
-                                                                                       happy_x_6
-                                                                                     of
-                                                                                       happy_var_6 -> (withAttributePF
-                                                                                                         happy_var_1
-                                                                                                         (happy_var_3
-                                                                                                            ++
-                                                                                                            happy_var_5)
-                                                                                                         $
-                                                                                                         \ at
-                                                                                                           declr
-                                                                                                           ->
-                                                                                                           arrDeclr
-                                                                                                             declr
-                                                                                                             (reverse
-                                                                                                                happy_var_2)
-                                                                                                             False
-                                                                                                             True
-                                                                                                             (Just
-                                                                                                                happy_var_6)
-                                                                                                             at))
-      (\ r -> happyReturn (happyIn87 r))
-happyReduce_307 = happyMonadReduce 4# 80# happyReduction_307
-happyReduction_307
-  (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 happyOut126 happy_x_3 of
-                              happy_var_3 -> (withAttributePF happy_var_1 happy_var_3 $
-                                                \ at declr ->
-                                                  arrDeclr declr [] True False Nothing at))
-      (\ r -> happyReturn (happyIn87 r))
-happyReduce_308 = happyMonadReduce 5# 80# happyReduction_308
-happyReduction_308
-  (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 happyOut127 happy_x_2 of
-                              happy_var_2 -> case happyOut126 happy_x_4 of
-                                                 happy_var_4 -> (withAttributePF happy_var_1
-                                                                   (happy_var_2 ++ happy_var_4)
-                                                                   $
-                                                                   \ at declr ->
-                                                                     arrDeclr declr [] True False
-                                                                       Nothing
-                                                                       at))
-      (\ r -> happyReturn (happyIn87 r))
-happyReduce_309 = happyMonadReduce 5# 80# happyReduction_309
-happyReduction_309
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut126 happy_x_4 of
-                                                 happy_var_4 -> (withAttributePF happy_var_1
-                                                                   happy_var_4
-                                                                   $
-                                                                   \ at declr ->
-                                                                     arrDeclr declr
-                                                                       (reverse happy_var_2)
-                                                                       True
-                                                                       False
-                                                                       Nothing
-                                                                       at))
-      (\ r -> happyReturn (happyIn87 r))
-happyReduce_310 = happyMonadReduce 6# 80# happyReduction_310
-happyReduction_310
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut127 happy_x_3 of
-                                                 happy_var_3 -> case happyOut126 happy_x_5 of
-                                                                    happy_var_5 -> (withAttributePF
-                                                                                      happy_var_1
-                                                                                      (happy_var_3
-                                                                                         ++
-                                                                                         happy_var_5)
-                                                                                      $
-                                                                                      \ at declr ->
-                                                                                        arrDeclr
-                                                                                          declr
-                                                                                          (reverse
-                                                                                             happy_var_2)
-                                                                                          True
-                                                                                          False
-                                                                                          Nothing
-                                                                                          at))
-      (\ r -> happyReturn (happyIn87 r))
-happyReduce_311 = happyMonadReduce 1# 81# happyReduction_311
-happyReduction_311 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ ptrDeclr emptyDeclr []))
-      (\ r -> happyReturn (happyIn88 r))
-happyReduce_312 = happyMonadReduce 3# 81# happyReduction_312
-happyReduction_312
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut126 happy_x_3 of
-                                                 happy_var_3 -> (withAttribute happy_var_1
-                                                                   happy_var_3
-                                                                   $
-                                                                   ptrDeclr emptyDeclr
-                                                                     (reverse happy_var_2)))
-      (\ r -> happyReturn (happyIn88 r))
-happyReduce_313 = happyMonadReduce 2# 81# happyReduction_313
-happyReduction_313
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut84 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                ptrDeclr happy_var_2 []))
-      (\ r -> happyReturn (happyIn88 r))
-happyReduce_314 = happyMonadReduce 3# 81# happyReduction_314
-happyReduction_314
-  (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 happyOut62 happy_x_2 of
-                              happy_var_2 -> case happyOut84 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   ptrDeclr happy_var_3
-                                                                     (reverse happy_var_2)))
-      (\ r -> happyReturn (happyIn88 r))
-happyReduce_315 = happyMonadReduce 2# 81# happyReduction_315
-happyReduction_315
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut127 happy_x_2 of
-                              happy_var_2 -> (withAttribute happy_var_1 happy_var_2 $
-                                                ptrDeclr emptyDeclr []))
-      (\ r -> happyReturn (happyIn88 r))
-happyReduce_316 = happyMonadReduce 3# 81# happyReduction_316
-happyReduction_316
-  (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 happyOut127 happy_x_2 of
-                              happy_var_2 -> case happyOut84 happy_x_3 of
-                                                 happy_var_3 -> (withAttribute happy_var_1
-                                                                   happy_var_2
-                                                                   $ ptrDeclr happy_var_3 []))
-      (\ r -> happyReturn (happyIn88 r))
-happyReduce_317 = happySpecReduce_3 82# happyReduction_317
-happyReduction_317 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut88 happy_x_2 of
-        happy_var_2 -> happyIn89 (happy_var_2)
-happyReduce_318 = happySpecReduce_3 82# happyReduction_318
-happyReduction_318 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut89 happy_x_2 of
-        happy_var_2 -> happyIn89 (happy_var_2)
-happyReduce_319 = happySpecReduce_3 82# happyReduction_319
-happyReduction_319 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut85 happy_x_2 of
-        happy_var_2 -> happyIn89 (happy_var_2 emptyDeclr)
-happyReduce_320 = happyReduce 4# 82# happyReduction_320
-happyReduction_320
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut88 happy_x_2 of
-        happy_var_2 -> case happyOut85 happy_x_4 of
-                           happy_var_4 -> happyIn89 (happy_var_4 happy_var_2) `HappyStk`
-                                            happyRest
-happyReduce_321 = happyReduce 4# 82# happyReduction_321
-happyReduction_321
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut127 happy_x_2 of
-        happy_var_2 -> case happyOut88 happy_x_3 of
-                           happy_var_3 -> happyIn89 (appendDeclrAttrs happy_var_2 happy_var_3)
-                                            `HappyStk` happyRest
-happyReduce_322 = happyReduce 4# 82# happyReduction_322
-happyReduction_322
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut127 happy_x_2 of
-        happy_var_2 -> case happyOut89 happy_x_3 of
-                           happy_var_3 -> happyIn89 (appendDeclrAttrs happy_var_2 happy_var_3)
-                                            `HappyStk` happyRest
-happyReduce_323 = happyReduce 4# 82# happyReduction_323
-happyReduction_323
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut127 happy_x_2 of
-        happy_var_2 -> case happyOut85 happy_x_3 of
-                           happy_var_3 -> happyIn89
-                                            (appendDeclrAttrs happy_var_2 (happy_var_3 emptyDeclr))
-                                            `HappyStk` happyRest
-happyReduce_324 = happyReduce 5# 82# happyReduction_324
-happyReduction_324
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  = case happyOut127 happy_x_2 of
-        happy_var_2 -> case happyOut88 happy_x_3 of
-                           happy_var_3 -> case happyOut85 happy_x_5 of
-                                              happy_var_5 -> happyIn89
-                                                               (appendDeclrAttrs happy_var_2
-                                                                  (happy_var_5 happy_var_3))
-                                                               `HappyStk` happyRest
-happyReduce_325 = happySpecReduce_2 82# happyReduction_325
-happyReduction_325 happy_x_2 happy_x_1
-  = case happyOut89 happy_x_1 of
-        happy_var_1 -> case happyOut128 happy_x_2 of
-                           happy_var_2 -> happyIn89 (appendDeclrAttrs happy_var_2 happy_var_1)
-happyReduce_326 = happyMonadReduce 1# 83# happyReduction_326
-happyReduction_326 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut115 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CInitExpr happy_var_1))
-      (\ r -> happyReturn (happyIn90 r))
-happyReduce_327 = happyMonadReduce 3# 83# happyReduction_327
-happyReduction_327
-  (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 happyOut92 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CInitList (reverse happy_var_2)))
-      (\ r -> happyReturn (happyIn90 r))
-happyReduce_328 = happyMonadReduce 4# 83# happyReduction_328
-happyReduction_328
-  (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 happyOut92 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CInitList (reverse happy_var_2)))
-      (\ r -> happyReturn (happyIn90 r))
-happyReduce_329 = happySpecReduce_0 84# happyReduction_329
-happyReduction_329 = happyIn91 (Nothing)
-happyReduce_330 = happySpecReduce_2 84# happyReduction_330
-happyReduction_330 happy_x_2 happy_x_1
-  = case happyOut90 happy_x_2 of
-        happy_var_2 -> happyIn91 (Just happy_var_2)
-happyReduce_331 = happySpecReduce_0 85# happyReduction_331
-happyReduction_331 = happyIn92 (empty)
-happyReduce_332 = happySpecReduce_1 85# happyReduction_332
-happyReduction_332 happy_x_1
-  = case happyOut90 happy_x_1 of
-        happy_var_1 -> happyIn92 (singleton ([], happy_var_1))
-happyReduce_333 = happySpecReduce_2 85# happyReduction_333
-happyReduction_333 happy_x_2 happy_x_1
-  = case happyOut93 happy_x_1 of
-        happy_var_1 -> case happyOut90 happy_x_2 of
-                           happy_var_2 -> happyIn92 (singleton (happy_var_1, happy_var_2))
-happyReduce_334 = happySpecReduce_3 85# happyReduction_334
-happyReduction_334 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut92 happy_x_1 of
-        happy_var_1 -> case happyOut90 happy_x_3 of
-                           happy_var_3 -> happyIn92 (happy_var_1 `snoc` ([], happy_var_3))
-happyReduce_335 = happyReduce 4# 85# happyReduction_335
-happyReduction_335
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  = case happyOut92 happy_x_1 of
-        happy_var_1 -> case happyOut93 happy_x_3 of
-                           happy_var_3 -> case happyOut90 happy_x_4 of
-                                              happy_var_4 -> happyIn92
-                                                               (happy_var_1 `snoc`
-                                                                  (happy_var_3, happy_var_4))
-                                                               `HappyStk` happyRest
-happyReduce_336 = happySpecReduce_2 86# happyReduction_336
-happyReduction_336 happy_x_2 happy_x_1
-  = case happyOut94 happy_x_1 of
-        happy_var_1 -> happyIn93 (reverse happy_var_1)
-happyReduce_337 = happyMonadReduce 2# 86# happyReduction_337
-happyReduction_337
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut125 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             \ at -> [CMemberDesig happy_var_1 at]))
-      (\ r -> happyReturn (happyIn93 r))
-happyReduce_338 = happySpecReduce_1 86# happyReduction_338
-happyReduction_338 happy_x_1
-  = case happyOut96 happy_x_1 of
-        happy_var_1 -> happyIn93 ([happy_var_1])
-happyReduce_339 = happySpecReduce_1 87# happyReduction_339
-happyReduction_339 happy_x_1
-  = case happyOut95 happy_x_1 of
-        happy_var_1 -> happyIn94 (singleton happy_var_1)
-happyReduce_340 = happySpecReduce_2 87# happyReduction_340
-happyReduction_340 happy_x_2 happy_x_1
-  = case happyOut94 happy_x_1 of
-        happy_var_1 -> case happyOut95 happy_x_2 of
-                           happy_var_2 -> happyIn94 (happy_var_1 `snoc` happy_var_2)
-happyReduce_341 = happyMonadReduce 3# 88# happyReduction_341
-happyReduction_341
-  (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 happyOut121 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $ CArrDesig happy_var_2))
-      (\ r -> happyReturn (happyIn95 r))
-happyReduce_342 = happyMonadReduce 2# 88# happyReduction_342
-happyReduction_342
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut125 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CMemberDesig happy_var_2))
-      (\ r -> happyReturn (happyIn95 r))
-happyReduce_343 = happySpecReduce_1 88# happyReduction_343
-happyReduction_343 happy_x_1
-  = case happyOut96 happy_x_1 of
-        happy_var_1 -> happyIn95 (happy_var_1)
-happyReduce_344 = happyMonadReduce 5# 89# happyReduction_344
-happyReduction_344
-  (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 happyOut121 happy_x_2 of
-                              happy_var_2 -> case happyOut121 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $
-                                                                   CRangeDesig happy_var_2
-                                                                     happy_var_4))
-      (\ r -> happyReturn (happyIn96 r))
-happyReduce_345 = happyMonadReduce 1# 90# happyReduction_345
-happyReduction_345 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $
-                                           CVar happy_var_1))
-      (\ r -> happyReturn (happyIn97 r))
-happyReduce_346 = happySpecReduce_1 90# happyReduction_346
-happyReduction_346 happy_x_1
-  = case happyOut122 happy_x_1 of
-        happy_var_1 -> happyIn97 (CConst happy_var_1)
-happyReduce_347 = happySpecReduce_1 90# happyReduction_347
-happyReduction_347 happy_x_1
-  = case happyOut123 happy_x_1 of
-        happy_var_1 -> happyIn97 (CConst (liftStrLit happy_var_1))
-happyReduce_348 = happySpecReduce_3 90# happyReduction_348
-happyReduction_348 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut117 happy_x_2 of
-        happy_var_2 -> happyIn97 (happy_var_2)
-happyReduce_349 = happyMonadReduce 3# 90# happyReduction_349
-happyReduction_349
-  (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 happyOut14 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $ CStatExpr happy_var_2))
-      (\ r -> happyReturn (happyIn97 r))
-happyReduce_350 = happyMonadReduce 6# 90# happyReduction_350
-happyReduction_350
-  (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 happyOut115 happy_x_3 of
-                              happy_var_3 -> case happyOut83 happy_x_5 of
-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $
-                                                                   CBuiltinExpr .
-                                                                     CBuiltinVaArg happy_var_3
-                                                                       happy_var_5))
-      (\ r -> happyReturn (happyIn97 r))
-happyReduce_351 = happyMonadReduce 6# 90# happyReduction_351
-happyReduction_351
-  (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 happyOut83 happy_x_3 of
-                              happy_var_3 -> case happyOut98 happy_x_5 of
-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $
-                                                                   CBuiltinExpr .
-                                                                     CBuiltinOffsetOf happy_var_3
-                                                                       (reverse happy_var_5)))
-      (\ r -> happyReturn (happyIn97 r))
-happyReduce_352 = happyMonadReduce 6# 90# happyReduction_352
-happyReduction_352
-  (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 happyOut83 happy_x_3 of
-                              happy_var_3 -> case happyOut83 happy_x_5 of
-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $
-                                                                   CBuiltinExpr .
-                                                                     CBuiltinTypesCompatible
-                                                                       happy_var_3
-                                                                       happy_var_5))
-      (\ r -> happyReturn (happyIn97 r))
-happyReduce_353 = happyMonadReduce 1# 91# happyReduction_353
-happyReduction_353 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOut125 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             singleton . CMemberDesig happy_var_1))
-      (\ r -> happyReturn (happyIn98 r))
-happyReduce_354 = happyMonadReduce 3# 91# happyReduction_354
-happyReduction_354
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut98 happy_x_1 of
-           happy_var_1 -> case happyOut125 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_3 $
-                                                (happy_var_1 `snoc`) . CMemberDesig happy_var_3))
-      (\ r -> happyReturn (happyIn98 r))
-happyReduce_355 = happyMonadReduce 4# 91# happyReduction_355
-happyReduction_355
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut98 happy_x_1 of
-           happy_var_1 -> case happyOut117 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_3 $
-                                                (happy_var_1 `snoc`) . CArrDesig happy_var_3))
-      (\ r -> happyReturn (happyIn98 r))
-happyReduce_356 = happySpecReduce_1 92# happyReduction_356
-happyReduction_356 happy_x_1
-  = case happyOut97 happy_x_1 of
-        happy_var_1 -> happyIn99 (happy_var_1)
-happyReduce_357 = happyMonadReduce 4# 92# happyReduction_357
-happyReduction_357
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut99 happy_x_1 of
-           happy_var_1 -> case happyOut117 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CIndex happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn99 r))
-happyReduce_358 = happyMonadReduce 3# 92# happyReduction_358
-happyReduction_358
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut99 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $ CCall happy_var_1 []))
-      (\ r -> happyReturn (happyIn99 r))
-happyReduce_359 = happyMonadReduce 4# 92# happyReduction_359
-happyReduction_359
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut99 happy_x_1 of
-           happy_var_1 -> case happyOut100 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CCall happy_var_1 (reverse happy_var_3)))
-      (\ r -> happyReturn (happyIn99 r))
-happyReduce_360 = happyMonadReduce 3# 92# happyReduction_360
-happyReduction_360
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut99 happy_x_1 of
-           happy_var_1 -> case happyOut125 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CMember happy_var_1 happy_var_3 False))
-      (\ r -> happyReturn (happyIn99 r))
-happyReduce_361 = happyMonadReduce 3# 92# happyReduction_361
-happyReduction_361
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut99 happy_x_1 of
-           happy_var_1 -> case happyOut125 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CMember happy_var_1 happy_var_3 True))
-      (\ r -> happyReturn (happyIn99 r))
-happyReduce_362 = happyMonadReduce 2# 92# happyReduction_362
-happyReduction_362
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut99 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             CUnary CPostIncOp happy_var_1))
-      (\ r -> happyReturn (happyIn99 r))
-happyReduce_363 = happyMonadReduce 2# 92# happyReduction_363
-happyReduction_363
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut99 happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             CUnary CPostDecOp happy_var_1))
-      (\ r -> happyReturn (happyIn99 r))
-happyReduce_364 = happyMonadReduce 6# 92# happyReduction_364
-happyReduction_364
-  (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 happyOut83 happy_x_2 of
-                              happy_var_2 -> case happyOut92 happy_x_5 of
-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $
-                                                                   CCompoundLit happy_var_2
-                                                                     (reverse happy_var_5)))
-      (\ r -> happyReturn (happyIn99 r))
-happyReduce_365 = happyMonadReduce 7# 92# happyReduction_365
-happyReduction_365
-  (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
-           happy_var_1 -> case happyOut83 happy_x_2 of
-                              happy_var_2 -> case happyOut92 happy_x_5 of
-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $
-                                                                   CCompoundLit happy_var_2
-                                                                     (reverse happy_var_5)))
-      (\ r -> happyReturn (happyIn99 r))
-happyReduce_366 = happySpecReduce_1 93# happyReduction_366
-happyReduction_366 happy_x_1
-  = case happyOut115 happy_x_1 of
-        happy_var_1 -> happyIn100 (singleton happy_var_1)
-happyReduce_367 = happySpecReduce_3 93# happyReduction_367
-happyReduction_367 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut100 happy_x_1 of
-        happy_var_1 -> case happyOut115 happy_x_3 of
-                           happy_var_3 -> happyIn100 (happy_var_1 `snoc` happy_var_3)
-happyReduce_368 = happySpecReduce_1 94# happyReduction_368
-happyReduction_368 happy_x_1
-  = case happyOut99 happy_x_1 of
-        happy_var_1 -> happyIn101 (happy_var_1)
-happyReduce_369 = happyMonadReduce 2# 94# happyReduction_369
-happyReduction_369
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut101 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CUnary CPreIncOp happy_var_2))
-      (\ r -> happyReturn (happyIn101 r))
-happyReduce_370 = happyMonadReduce 2# 94# happyReduction_370
-happyReduction_370
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut101 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CUnary CPreDecOp happy_var_2))
-      (\ r -> happyReturn (happyIn101 r))
-happyReduce_371 = happySpecReduce_2 94# happyReduction_371
-happyReduction_371 happy_x_2 happy_x_1
-  = case happyOut103 happy_x_2 of
-        happy_var_2 -> happyIn101 (happy_var_2)
-happyReduce_372 = happyMonadReduce 2# 94# happyReduction_372
-happyReduction_372
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOut102 happy_x_1 of
-           happy_var_1 -> case happyOut103 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CUnary (unL happy_var_1) happy_var_2))
-      (\ r -> happyReturn (happyIn101 r))
-happyReduce_373 = happyMonadReduce 2# 94# happyReduction_373
-happyReduction_373
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut101 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CSizeofExpr happy_var_2))
-      (\ r -> happyReturn (happyIn101 r))
-happyReduce_374 = happyMonadReduce 4# 94# 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
-           happy_var_1 -> case happyOut83 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CSizeofType happy_var_3))
-      (\ r -> happyReturn (happyIn101 r))
-happyReduce_375 = happyMonadReduce 2# 94# happyReduction_375
-happyReduction_375
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut101 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CAlignofExpr happy_var_2))
-      (\ r -> happyReturn (happyIn101 r))
-happyReduce_376 = happyMonadReduce 4# 94# happyReduction_376
-happyReduction_376
-  (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 happyOut83 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CAlignofType happy_var_3))
-      (\ r -> happyReturn (happyIn101 r))
-happyReduce_377 = happyMonadReduce 2# 94# happyReduction_377
-happyReduction_377
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut101 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CComplexReal happy_var_2))
-      (\ r -> happyReturn (happyIn101 r))
-happyReduce_378 = happyMonadReduce 2# 94# happyReduction_378
-happyReduction_378
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut101 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CComplexImag happy_var_2))
-      (\ r -> happyReturn (happyIn101 r))
-happyReduce_379 = happyMonadReduce 2# 94# happyReduction_379
-happyReduction_379
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut125 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                CLabAddrExpr happy_var_2))
-      (\ r -> happyReturn (happyIn101 r))
-happyReduce_380 = happySpecReduce_1 95# happyReduction_380
-happyReduction_380 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn102 (L CAdrOp (posOf happy_var_1))
-happyReduce_381 = happySpecReduce_1 95# happyReduction_381
-happyReduction_381 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn102 (L CIndOp (posOf happy_var_1))
-happyReduce_382 = happySpecReduce_1 95# happyReduction_382
-happyReduction_382 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn102 (L CPlusOp (posOf happy_var_1))
-happyReduce_383 = happySpecReduce_1 95# happyReduction_383
-happyReduction_383 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn102 (L CMinOp (posOf happy_var_1))
-happyReduce_384 = happySpecReduce_1 95# happyReduction_384
-happyReduction_384 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn102 (L CCompOp (posOf happy_var_1))
-happyReduce_385 = happySpecReduce_1 95# happyReduction_385
-happyReduction_385 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn102 (L CNegOp (posOf happy_var_1))
-happyReduce_386 = happySpecReduce_1 96# happyReduction_386
-happyReduction_386 happy_x_1
-  = case happyOut101 happy_x_1 of
-        happy_var_1 -> happyIn103 (happy_var_1)
-happyReduce_387 = happyMonadReduce 4# 96# 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
-           happy_var_1 -> case happyOut83 happy_x_2 of
-                              happy_var_2 -> case happyOut103 happy_x_4 of
-                                                 happy_var_4 -> (withNodeInfo happy_var_1 $
-                                                                   CCast happy_var_2 happy_var_4))
-      (\ r -> happyReturn (happyIn103 r))
-happyReduce_388 = happySpecReduce_1 97# happyReduction_388
-happyReduction_388 happy_x_1
-  = case happyOut103 happy_x_1 of
-        happy_var_1 -> happyIn104 (happy_var_1)
-happyReduce_389 = happyMonadReduce 3# 97# happyReduction_389
-happyReduction_389
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut104 happy_x_1 of
-           happy_var_1 -> case happyOut103 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CMulOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn104 r))
-happyReduce_390 = happyMonadReduce 3# 97# happyReduction_390
-happyReduction_390
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut104 happy_x_1 of
-           happy_var_1 -> case happyOut103 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CDivOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn104 r))
-happyReduce_391 = happyMonadReduce 3# 97# happyReduction_391
-happyReduction_391
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut104 happy_x_1 of
-           happy_var_1 -> case happyOut103 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CRmdOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn104 r))
-happyReduce_392 = happySpecReduce_1 98# happyReduction_392
-happyReduction_392 happy_x_1
-  = case happyOut104 happy_x_1 of
-        happy_var_1 -> happyIn105 (happy_var_1)
-happyReduce_393 = happyMonadReduce 3# 98# happyReduction_393
-happyReduction_393
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut105 happy_x_1 of
-           happy_var_1 -> case happyOut104 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CAddOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn105 r))
-happyReduce_394 = happyMonadReduce 3# 98# happyReduction_394
-happyReduction_394
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut105 happy_x_1 of
-           happy_var_1 -> case happyOut104 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CSubOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn105 r))
-happyReduce_395 = happySpecReduce_1 99# happyReduction_395
-happyReduction_395 happy_x_1
-  = case happyOut105 happy_x_1 of
-        happy_var_1 -> happyIn106 (happy_var_1)
-happyReduce_396 = happyMonadReduce 3# 99# happyReduction_396
-happyReduction_396
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut106 happy_x_1 of
-           happy_var_1 -> case happyOut105 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CShlOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn106 r))
-happyReduce_397 = happyMonadReduce 3# 99# happyReduction_397
-happyReduction_397
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut106 happy_x_1 of
-           happy_var_1 -> case happyOut105 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CShrOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn106 r))
-happyReduce_398 = happySpecReduce_1 100# happyReduction_398
-happyReduction_398 happy_x_1
-  = case happyOut106 happy_x_1 of
-        happy_var_1 -> happyIn107 (happy_var_1)
-happyReduce_399 = happyMonadReduce 3# 100# happyReduction_399
-happyReduction_399
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut107 happy_x_1 of
-           happy_var_1 -> case happyOut106 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CLeOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn107 r))
-happyReduce_400 = happyMonadReduce 3# 100# happyReduction_400
-happyReduction_400
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut107 happy_x_1 of
-           happy_var_1 -> case happyOut106 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CGrOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn107 r))
-happyReduce_401 = happyMonadReduce 3# 100# happyReduction_401
-happyReduction_401
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut107 happy_x_1 of
-           happy_var_1 -> case happyOut106 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CLeqOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn107 r))
-happyReduce_402 = happyMonadReduce 3# 100# happyReduction_402
-happyReduction_402
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut107 happy_x_1 of
-           happy_var_1 -> case happyOut106 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CGeqOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn107 r))
-happyReduce_403 = happySpecReduce_1 101# happyReduction_403
-happyReduction_403 happy_x_1
-  = case happyOut107 happy_x_1 of
-        happy_var_1 -> happyIn108 (happy_var_1)
-happyReduce_404 = happyMonadReduce 3# 101# happyReduction_404
-happyReduction_404
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut108 happy_x_1 of
-           happy_var_1 -> case happyOut107 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CEqOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn108 r))
-happyReduce_405 = happyMonadReduce 3# 101# happyReduction_405
-happyReduction_405
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut108 happy_x_1 of
-           happy_var_1 -> case happyOut107 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CNeqOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn108 r))
-happyReduce_406 = happySpecReduce_1 102# happyReduction_406
-happyReduction_406 happy_x_1
-  = case happyOut108 happy_x_1 of
-        happy_var_1 -> happyIn109 (happy_var_1)
-happyReduce_407 = happyMonadReduce 3# 102# happyReduction_407
-happyReduction_407
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut109 happy_x_1 of
-           happy_var_1 -> case happyOut108 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CAndOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn109 r))
-happyReduce_408 = happySpecReduce_1 103# happyReduction_408
-happyReduction_408 happy_x_1
-  = case happyOut109 happy_x_1 of
-        happy_var_1 -> happyIn110 (happy_var_1)
-happyReduce_409 = happyMonadReduce 3# 103# happyReduction_409
-happyReduction_409
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut110 happy_x_1 of
-           happy_var_1 -> case happyOut109 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CXorOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn110 r))
-happyReduce_410 = happySpecReduce_1 104# happyReduction_410
-happyReduction_410 happy_x_1
-  = case happyOut110 happy_x_1 of
-        happy_var_1 -> happyIn111 (happy_var_1)
-happyReduce_411 = happyMonadReduce 3# 104# happyReduction_411
-happyReduction_411
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut111 happy_x_1 of
-           happy_var_1 -> case happyOut110 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary COrOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn111 r))
-happyReduce_412 = happySpecReduce_1 105# happyReduction_412
-happyReduction_412 happy_x_1
-  = case happyOut111 happy_x_1 of
-        happy_var_1 -> happyIn112 (happy_var_1)
-happyReduce_413 = happyMonadReduce 3# 105# happyReduction_413
-happyReduction_413
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut112 happy_x_1 of
-           happy_var_1 -> case happyOut111 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CLndOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn112 r))
-happyReduce_414 = happySpecReduce_1 106# happyReduction_414
-happyReduction_414 happy_x_1
-  = case happyOut112 happy_x_1 of
-        happy_var_1 -> happyIn113 (happy_var_1)
-happyReduce_415 = happyMonadReduce 3# 106# happyReduction_415
-happyReduction_415
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut113 happy_x_1 of
-           happy_var_1 -> case happyOut112 happy_x_3 of
-                              happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                CBinary CLorOp happy_var_1 happy_var_3))
-      (\ r -> happyReturn (happyIn113 r))
-happyReduce_416 = happySpecReduce_1 107# happyReduction_416
-happyReduction_416 happy_x_1
-  = case happyOut113 happy_x_1 of
-        happy_var_1 -> happyIn114 (happy_var_1)
-happyReduce_417 = happyMonadReduce 5# 107# happyReduction_417
-happyReduction_417
-  (happy_x_5 `HappyStk`
-     (happy_x_4 `HappyStk`
-        (happy_x_3 `HappyStk`
-           (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))))
-  tk
-  = happyThen
-      (case happyOut113 happy_x_1 of
-           happy_var_1 -> case happyOut117 happy_x_3 of
-                              happy_var_3 -> case happyOut114 happy_x_5 of
-                                                 happy_var_5 -> (withNodeInfo happy_var_1 $
-                                                                   CCond happy_var_1
-                                                                     (Just happy_var_3)
-                                                                     happy_var_5))
-      (\ r -> happyReturn (happyIn114 r))
-happyReduce_418 = happyMonadReduce 4# 107# happyReduction_418
-happyReduction_418
-  (happy_x_4 `HappyStk`
-     (happy_x_3 `HappyStk`
-        (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest))))
-  tk
-  = happyThen
-      (case happyOut113 happy_x_1 of
-           happy_var_1 -> case happyOut114 happy_x_4 of
-                              happy_var_4 -> (withNodeInfo happy_var_1 $
-                                                CCond happy_var_1 Nothing happy_var_4))
-      (\ r -> happyReturn (happyIn114 r))
-happyReduce_419 = happySpecReduce_1 108# happyReduction_419
-happyReduction_419 happy_x_1
-  = case happyOut114 happy_x_1 of
-        happy_var_1 -> happyIn115 (happy_var_1)
-happyReduce_420 = happyMonadReduce 3# 108# happyReduction_420
-happyReduction_420
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut101 happy_x_1 of
-           happy_var_1 -> case happyOut116 happy_x_2 of
-                              happy_var_2 -> case happyOut115 happy_x_3 of
-                                                 happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                                   CAssign (unL happy_var_2)
-                                                                     happy_var_1
-                                                                     happy_var_3))
-      (\ r -> happyReturn (happyIn115 r))
-happyReduce_421 = happySpecReduce_1 109# happyReduction_421
-happyReduction_421 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn116 (L CAssignOp (posOf happy_var_1))
-happyReduce_422 = happySpecReduce_1 109# happyReduction_422
-happyReduction_422 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn116 (L CMulAssOp (posOf happy_var_1))
-happyReduce_423 = happySpecReduce_1 109# happyReduction_423
-happyReduction_423 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn116 (L CDivAssOp (posOf happy_var_1))
-happyReduce_424 = happySpecReduce_1 109# happyReduction_424
-happyReduction_424 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn116 (L CRmdAssOp (posOf happy_var_1))
-happyReduce_425 = happySpecReduce_1 109# happyReduction_425
-happyReduction_425 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn116 (L CAddAssOp (posOf happy_var_1))
-happyReduce_426 = happySpecReduce_1 109# happyReduction_426
-happyReduction_426 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn116 (L CSubAssOp (posOf happy_var_1))
-happyReduce_427 = happySpecReduce_1 109# happyReduction_427
-happyReduction_427 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn116 (L CShlAssOp (posOf happy_var_1))
-happyReduce_428 = happySpecReduce_1 109# happyReduction_428
-happyReduction_428 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn116 (L CShrAssOp (posOf happy_var_1))
-happyReduce_429 = happySpecReduce_1 109# happyReduction_429
-happyReduction_429 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn116 (L CAndAssOp (posOf happy_var_1))
-happyReduce_430 = happySpecReduce_1 109# happyReduction_430
-happyReduction_430 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn116 (L CXorAssOp (posOf happy_var_1))
-happyReduce_431 = happySpecReduce_1 109# happyReduction_431
-happyReduction_431 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn116 (L COrAssOp (posOf happy_var_1))
-happyReduce_432 = happySpecReduce_1 110# happyReduction_432
-happyReduction_432 happy_x_1
-  = case happyOut115 happy_x_1 of
-        happy_var_1 -> happyIn117 (happy_var_1)
-happyReduce_433 = happyMonadReduce 3# 110# happyReduction_433
-happyReduction_433
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOut115 happy_x_1 of
-           happy_var_1 -> case happyOut118 happy_x_3 of
-                              happy_var_3 -> (let es = reverse happy_var_3 in
-                                                withNodeInfo es $ CComma (happy_var_1 : es)))
-      (\ r -> happyReturn (happyIn117 r))
-happyReduce_434 = happySpecReduce_1 111# happyReduction_434
-happyReduction_434 happy_x_1
-  = case happyOut115 happy_x_1 of
-        happy_var_1 -> happyIn118 (singleton happy_var_1)
-happyReduce_435 = happySpecReduce_3 111# happyReduction_435
-happyReduction_435 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut118 happy_x_1 of
-        happy_var_1 -> case happyOut115 happy_x_3 of
-                           happy_var_3 -> happyIn118 (happy_var_1 `snoc` happy_var_3)
-happyReduce_436 = happySpecReduce_0 112# happyReduction_436
-happyReduction_436 = happyIn119 (Nothing)
-happyReduce_437 = happySpecReduce_1 112# happyReduction_437
-happyReduction_437 happy_x_1
-  = case happyOut117 happy_x_1 of
-        happy_var_1 -> happyIn119 (Just happy_var_1)
-happyReduce_438 = happySpecReduce_0 113# happyReduction_438
-happyReduction_438 = happyIn120 (Nothing)
-happyReduce_439 = happySpecReduce_1 113# happyReduction_439
-happyReduction_439 happy_x_1
-  = case happyOut115 happy_x_1 of
-        happy_var_1 -> happyIn120 (Just happy_var_1)
-happyReduce_440 = happySpecReduce_1 114# happyReduction_440
-happyReduction_440 happy_x_1
-  = case happyOut114 happy_x_1 of
-        happy_var_1 -> happyIn121 (happy_var_1)
-happyReduce_441 = happyMonadReduce 1# 115# happyReduction_441
-happyReduction_441 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             case happy_var_1 of
-                                 CTokILit _ i -> CIntConst i))
-      (\ r -> happyReturn (happyIn122 r))
-happyReduce_442 = happyMonadReduce 1# 115# happyReduction_442
-happyReduction_442 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             case happy_var_1 of
-                                 CTokCLit _ c -> CCharConst c))
-      (\ r -> happyReturn (happyIn122 r))
-happyReduce_443 = happyMonadReduce 1# 115# happyReduction_443
-happyReduction_443 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             case happy_var_1 of
-                                 CTokFLit _ f -> CFloatConst f))
-      (\ r -> happyReturn (happyIn122 r))
-happyReduce_444 = happyMonadReduce 1# 116# happyReduction_444
-happyReduction_444 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             case happy_var_1 of
-                                 CTokSLit _ s -> CStrLit s))
-      (\ r -> happyReturn (happyIn123 r))
-happyReduce_445 = happyMonadReduce 2# 116# happyReduction_445
-happyReduction_445
-  (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> case happyOut124 happy_x_2 of
-                              happy_var_2 -> (withNodeInfo happy_var_1 $
-                                                case happy_var_1 of
-                                                    CTokSLit _ s -> CStrLit
-                                                                      (concatCStrings
-                                                                         (s :
-                                                                            reverse happy_var_2))))
-      (\ r -> happyReturn (happyIn123 r))
-happyReduce_446 = happySpecReduce_1 117# happyReduction_446
-happyReduction_446 happy_x_1
-  = case happyOutTok happy_x_1 of
-        happy_var_1 -> happyIn124
-                         (case happy_var_1 of
-                              CTokSLit _ s -> singleton s)
-happyReduce_447 = happySpecReduce_2 117# happyReduction_447
-happyReduction_447 happy_x_2 happy_x_1
-  = case happyOut124 happy_x_1 of
-        happy_var_1 -> case happyOutTok happy_x_2 of
-                           happy_var_2 -> happyIn124
-                                            (case happy_var_2 of
-                                                 CTokSLit _ s -> happy_var_1 `snoc` s)
-happyReduce_448 = happySpecReduce_1 118# happyReduction_448
-happyReduction_448 happy_x_1
-  = case happyOutTok happy_x_1 of
-        (CTokIdent _ happy_var_1) -> happyIn125 (happy_var_1)
-happyReduce_449 = happySpecReduce_1 118# happyReduction_449
-happyReduction_449 happy_x_1
-  = case happyOutTok happy_x_1 of
-        (CTokTyIdent _ happy_var_1) -> happyIn125 (happy_var_1)
-happyReduce_450 = happySpecReduce_0 119# happyReduction_450
-happyReduction_450 = happyIn126 ([])
-happyReduce_451 = happySpecReduce_1 119# happyReduction_451
-happyReduction_451 happy_x_1
-  = case happyOut127 happy_x_1 of
-        happy_var_1 -> happyIn126 (happy_var_1)
-happyReduce_452 = happySpecReduce_1 120# happyReduction_452
-happyReduction_452 happy_x_1
-  = case happyOut128 happy_x_1 of
-        happy_var_1 -> happyIn127 (happy_var_1)
-happyReduce_453 = happySpecReduce_2 120# happyReduction_453
-happyReduction_453 happy_x_2 happy_x_1
-  = case happyOut127 happy_x_1 of
-        happy_var_1 -> case happyOut128 happy_x_2 of
-                           happy_var_2 -> happyIn127 (happy_var_1 ++ happy_var_2)
-happyReduce_454 = happyReduce 6# 121# happyReduction_454
-happyReduction_454
-  (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 happyOut129 happy_x_4 of
-        happy_var_4 -> happyIn128 (reverse happy_var_4) `HappyStk`
-                         happyRest
-happyReduce_455 = happySpecReduce_1 122# happyReduction_455
-happyReduction_455 happy_x_1
-  = case happyOut130 happy_x_1 of
-        happy_var_1 -> happyIn129
-                         (case happy_var_1 of
-                              Nothing -> empty
-                              Just attr -> singleton attr)
-happyReduce_456 = happySpecReduce_3 122# happyReduction_456
-happyReduction_456 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut129 happy_x_1 of
-        happy_var_1 -> case happyOut130 happy_x_3 of
-                           happy_var_3 -> happyIn129
-                                            ((maybe id (flip snoc) happy_var_3) happy_var_1)
-happyReduce_457 = happySpecReduce_0 123# happyReduction_457
-happyReduction_457 = happyIn130 (Nothing)
-happyReduce_458 = happyMonadReduce 1# 123# happyReduction_458
-happyReduction_458 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $
-                                           Just . CAttr happy_var_1 []))
-      (\ r -> happyReturn (happyIn130 r))
-happyReduce_459 = happyMonadReduce 1# 123# happyReduction_459
-happyReduction_459 (happy_x_1 `HappyStk` happyRest) tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           happy_var_1 -> (withNodeInfo happy_var_1 $
-                             Just . CAttr (internalIdent "const") []))
-      (\ r -> happyReturn (happyIn130 r))
-happyReduce_460 = happyMonadReduce 4# 123# happyReduction_460
-happyReduction_460
-  (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
-           (CTokIdent _ happy_var_1) -> case happyOut131 happy_x_3 of
-                                            happy_var_3 -> (withNodeInfo happy_var_1 $
-                                                              Just .
-                                                                CAttr happy_var_1
-                                                                  (reverse happy_var_3)))
-      (\ r -> happyReturn (happyIn130 r))
-happyReduce_461 = happyMonadReduce 3# 123# happyReduction_461
-happyReduction_461
-  (happy_x_3 `HappyStk`
-     (happy_x_2 `HappyStk` (happy_x_1 `HappyStk` happyRest)))
-  tk
-  = happyThen
-      (case happyOutTok happy_x_1 of
-           (CTokIdent _ happy_var_1) -> (withNodeInfo happy_var_1 $
-                                           Just . CAttr happy_var_1 []))
-      (\ r -> happyReturn (happyIn130 r))
-happyReduce_462 = happySpecReduce_1 124# happyReduction_462
-happyReduction_462 happy_x_1
-  = case happyOut121 happy_x_1 of
-        happy_var_1 -> happyIn131 (singleton happy_var_1)
-happyReduce_463 = happySpecReduce_3 124# happyReduction_463
-happyReduction_463 happy_x_3 happy_x_2 happy_x_1
-  = case happyOut131 happy_x_1 of
-        happy_var_1 -> case happyOut121 happy_x_3 of
-                           happy_var_3 -> happyIn131 (happy_var_1 `snoc` happy_var_3)
-happyNewToken action sts stk
-  = lexC
-      (\ tk ->
-         let cont i = happyDoAction i tk action sts stk in
-           case tk of
-               CTokEof -> happyDoAction 101# tk action sts stk
-               CTokLParen _ -> cont 1#
-               CTokRParen _ -> cont 2#
-               CTokLBracket _ -> cont 3#
-               CTokRBracket _ -> cont 4#
-               CTokArrow _ -> cont 5#
-               CTokDot _ -> cont 6#
-               CTokExclam _ -> cont 7#
-               CTokTilde _ -> cont 8#
-               CTokInc _ -> cont 9#
-               CTokDec _ -> cont 10#
-               CTokPlus _ -> cont 11#
-               CTokMinus _ -> cont 12#
-               CTokStar _ -> cont 13#
-               CTokSlash _ -> cont 14#
-               CTokPercent _ -> cont 15#
-               CTokAmper _ -> cont 16#
-               CTokShiftL _ -> cont 17#
-               CTokShiftR _ -> cont 18#
-               CTokLess _ -> cont 19#
-               CTokLessEq _ -> cont 20#
-               CTokHigh _ -> cont 21#
-               CTokHighEq _ -> cont 22#
-               CTokEqual _ -> cont 23#
-               CTokUnequal _ -> cont 24#
-               CTokHat _ -> cont 25#
-               CTokBar _ -> cont 26#
-               CTokAnd _ -> cont 27#
-               CTokOr _ -> cont 28#
-               CTokQuest _ -> cont 29#
-               CTokColon _ -> cont 30#
-               CTokAssign _ -> cont 31#
-               CTokPlusAss _ -> cont 32#
-               CTokMinusAss _ -> cont 33#
-               CTokStarAss _ -> cont 34#
-               CTokSlashAss _ -> cont 35#
-               CTokPercAss _ -> cont 36#
-               CTokAmpAss _ -> cont 37#
-               CTokHatAss _ -> cont 38#
-               CTokBarAss _ -> cont 39#
-               CTokSLAss _ -> cont 40#
-               CTokSRAss _ -> cont 41#
-               CTokComma _ -> cont 42#
-               CTokSemic _ -> cont 43#
-               CTokLBrace _ -> cont 44#
-               CTokRBrace _ -> cont 45#
-               CTokEllipsis _ -> cont 46#
-               CTokAlignof _ -> cont 47#
-               CTokAsm _ -> cont 48#
-               CTokAuto _ -> cont 49#
-               CTokBreak _ -> cont 50#
-               CTokBool _ -> cont 51#
-               CTokCase _ -> cont 52#
-               CTokChar _ -> cont 53#
-               CTokConst _ -> cont 54#
-               CTokContinue _ -> cont 55#
-               CTokComplex _ -> cont 56#
-               CTokDefault _ -> cont 57#
-               CTokDo _ -> cont 58#
-               CTokDouble _ -> cont 59#
-               CTokElse _ -> cont 60#
-               CTokEnum _ -> cont 61#
-               CTokExtern _ -> cont 62#
-               CTokFloat _ -> cont 63#
-               CTokFor _ -> cont 64#
-               CTokGoto _ -> cont 65#
-               CTokIf _ -> cont 66#
-               CTokInline _ -> cont 67#
-               CTokInt _ -> cont 68#
-               CTokLong _ -> cont 69#
-               CTokLabel _ -> cont 70#
-               CTokRegister _ -> cont 71#
-               CTokRestrict _ -> cont 72#
-               CTokReturn _ -> cont 73#
-               CTokShort _ -> cont 74#
-               CTokSigned _ -> cont 75#
-               CTokSizeof _ -> cont 76#
-               CTokStatic _ -> cont 77#
-               CTokStruct _ -> cont 78#
-               CTokSwitch _ -> cont 79#
-               CTokTypedef _ -> cont 80#
-               CTokTypeof _ -> cont 81#
-               CTokThread _ -> cont 82#
-               CTokUnion _ -> cont 83#
-               CTokUnsigned _ -> cont 84#
-               CTokVoid _ -> cont 85#
-               CTokVolatile _ -> cont 86#
-               CTokWhile _ -> cont 87#
-               CTokCLit _ _ -> cont 88#
-               CTokILit _ _ -> cont 89#
-               CTokFLit _ _ -> cont 90#
-               CTokSLit _ _ -> cont 91#
-               CTokIdent _ happy_dollar_dollar -> cont 92#
-               CTokTyIdent _ happy_dollar_dollar -> cont 93#
-               CTokGnuC GnuCAttrTok _ -> cont 94#
-               CTokGnuC GnuCExtTok _ -> cont 95#
-               CTokGnuC GnuCComplexReal _ -> cont 96#
-               CTokGnuC GnuCComplexImag _ -> cont 97#
-               CTokGnuC GnuCVaArg _ -> cont 98#
-               CTokGnuC GnuCOffsetof _ -> cont 99#
-               CTokGnuC GnuCTyCompat _ -> cont 100#
-               _ -> happyError' tk)
-happyError_ tk = happyError' tk
-
-happyThen :: P a -> (a -> P b) -> P b
-happyThen = (>>=)
-
-happyReturn :: a -> P a
-happyReturn = (return)
-happyThen1 = happyThen
-
-happyReturn1 :: a -> P a
-happyReturn1 = happyReturn
-
-happyError' :: CToken -> P a
-happyError' tk = (\ token -> happyError) tk
-translation_unit = happySomeParser
-  where happySomeParser
-          = happyThen (happyParse 0#) (\ x -> happyReturn (happyOut7 x))
-external_declaration = happySomeParser
-  where happySomeParser
-          = happyThen (happyParse 1#) (\ x -> happyReturn (happyOut9 x))
-statement = happySomeParser
-  where happySomeParser
-          = happyThen (happyParse 2#) (\ x -> happyReturn (happyOut12 x))
-expression = happySomeParser
-  where happySomeParser
-          = happyThen (happyParse 3#) (\ x -> happyReturn (happyOut117 x))
-happySeq = happyDontSeq
-
-reverseList :: [a] -> Reversed [a]
-reverseList = Reversed . List.reverse
-
-data Located a = L !a !Position
-
-unL :: Located a -> a
-unL (L a pos) = a
-
-instance Pos (Located a) where
-        posOf (L _ pos) = pos
-
-{-# INLINE withNodeInfo #-}
-
-withNodeInfo :: Pos node => node -> (NodeInfo -> a) -> P a
-withNodeInfo node mkAttrNode
-  = do name <- getNewName
-       lastTok <- getSavedToken
-       let firstPos = posOf node
-       let attrs = mkNodeInfo' firstPos (posLenOfTok $! lastTok) name
-       attrs `seq` return (mkAttrNode attrs)
-
-{-# INLINE withLength #-}
-
-withLength :: NodeInfo -> (NodeInfo -> a) -> P a
-withLength nodeinfo mkAttrNode
-  = do lastTok <- getSavedToken
-       let firstPos = posOfNode nodeinfo
-       let attrs
-             = mkNodeInfo' firstPos (posLenOfTok $! lastTok)
-                 (maybe (error "nameOfNode") id (nameOfNode nodeinfo))
-       attrs `seq` return (mkAttrNode attrs)
-
-data CDeclrR = CDeclrR (Maybe Ident) (Reversed [CDerivedDeclr])
-                       (Maybe CStrLit) [CAttr] NodeInfo
-
-reverseDeclr :: CDeclrR -> CDeclr
-reverseDeclr (CDeclrR ide reversedDDs asmname cattrs at)
-  = CDeclr ide (reverse reversedDDs) asmname cattrs at
-
-instance CNode (CDeclrR) where
-        nodeInfo (CDeclrR _ _ _ _ n) = n
-
-instance Pos (CDeclrR) where
-        posOf (CDeclrR _ _ _ _ n) = posOf n
-
-{-# INLINE withAttribute #-}
-
-withAttribute ::
-                Pos node => node -> [CAttr] -> (NodeInfo -> CDeclrR) -> P CDeclrR
-withAttribute node cattrs mkDeclrNode
-  = do name <- getNewName
-       let attrs = mkNodeInfo (posOf node) name
-       let newDeclr = appendDeclrAttrs cattrs $ mkDeclrNode attrs
-       attrs `seq` newDeclr `seq` return newDeclr
-
-{-# INLINE withAttributePF #-}
-
-withAttributePF ::
-                  Pos node =>
-                  node ->
-                    [CAttr] ->
-                      (NodeInfo -> CDeclrR -> CDeclrR) -> P (CDeclrR -> CDeclrR)
-withAttributePF node cattrs mkDeclrCtor
-  = do name <- getNewName
-       let attrs = mkNodeInfo (posOf node) name
-       let newDeclr = appendDeclrAttrs cattrs . mkDeclrCtor attrs
-       attrs `seq` newDeclr `seq` return newDeclr
-
-appendObjAttrs :: [CAttr] -> CDeclr -> CDeclr
-appendObjAttrs newAttrs
-  (CDeclr ident indirections asmname cAttrs at)
-  = CDeclr ident indirections asmname (cAttrs ++ newAttrs) at
-
-appendObjAttrsR :: [CAttr] -> CDeclrR -> CDeclrR
-appendObjAttrsR newAttrs
-  (CDeclrR ident indirections asmname cAttrs at)
-  = CDeclrR ident indirections asmname (cAttrs ++ newAttrs) at
-
-setAsmName :: Maybe CStrLit -> CDeclrR -> P CDeclrR
-setAsmName mAsmName (CDeclrR ident indirections oldName cattrs at)
-  = case combineName mAsmName oldName of
-        Left (n1, n2) -> failP (posOf n2)
-                           ["Duplicate assembler name: ", showName n1, showName n2]
-        Right newName -> return $
-                           CDeclrR ident indirections newName cattrs at
-  where combineName Nothing Nothing = Right Nothing
-        combineName Nothing oldname@(Just _) = Right oldname
-        combineName newname@(Just _) Nothing = Right newname
-        combineName (Just n1) (Just n2) = Left (n1, n2)
-        showName (CStrLit cstr _) = show cstr
-
-withAsmNameAttrs ::
-                 (Maybe CStrLit, [CAttr]) -> CDeclrR -> P CDeclrR
-withAsmNameAttrs (mAsmName, newAttrs) declr
-  = setAsmName mAsmName (appendObjAttrsR newAttrs declr)
-
-appendDeclrAttrs :: [CAttr] -> CDeclrR -> CDeclrR
-appendDeclrAttrs newAttrs
-  (CDeclrR ident (Reversed []) asmname cattrs at)
-  = CDeclrR ident empty asmname (cattrs ++ newAttrs) at
-appendDeclrAttrs newAttrs
-  (CDeclrR ident (Reversed (x : xs)) asmname cattrs at)
-  = CDeclrR ident (Reversed (appendAttrs x : xs)) asmname cattrs at
-  where appendAttrs (CPtrDeclr typeQuals at)
-          = CPtrDeclr (typeQuals ++ map CAttrQual newAttrs) at
-        appendAttrs (CArrDeclr typeQuals arraySize at)
-          = CArrDeclr (typeQuals ++ map CAttrQual newAttrs) arraySize at
-        appendAttrs (CFunDeclr parameters cattrs at)
-          = CFunDeclr parameters (cattrs ++ newAttrs) at
-
-ptrDeclr :: CDeclrR -> [CTypeQual] -> NodeInfo -> CDeclrR
-ptrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals
-  at
-  = CDeclrR ident (derivedDeclrs `snoc` CPtrDeclr tyquals at) asmname
-      cattrs
-      dat
-
-funDeclr ::
-         CDeclrR ->
-           (Either [Ident] ([CDecl], Bool)) -> [CAttr] -> NodeInfo -> CDeclrR
-funDeclr (CDeclrR ident derivedDeclrs asmname dcattrs dat) params
-  cattrs at
-  = CDeclrR ident (derivedDeclrs `snoc` CFunDeclr params cattrs at)
-      asmname
-      dcattrs
-      dat
-
-arrDeclr ::
-         CDeclrR ->
-           [CTypeQual] -> Bool -> Bool -> Maybe CExpr -> NodeInfo -> CDeclrR
-arrDeclr (CDeclrR ident derivedDeclrs asmname cattrs dat) tyquals
-  var_sized static_size size_expr_opt at
-  = arr_sz `seq`
-      (CDeclrR ident (derivedDeclrs `snoc` CArrDeclr tyquals arr_sz at)
-         asmname
-         cattrs
-         dat)
-  where arr_sz
-          = case size_expr_opt of
-                Just e -> CArrSize static_size e
-                Nothing -> CNoArrSize var_sized
-
-liftTypeQuals :: Reversed [CTypeQual] -> [CDeclSpec]
-liftTypeQuals = map CTypeQual . reverse
-
-liftCAttrs :: [CAttr] -> [CDeclSpec]
-liftCAttrs = map (CTypeQual . CAttrQual)
-
-addTrailingAttrs ::
-                 Reversed [CDeclSpec] -> [CAttr] -> Reversed [CDeclSpec]
-addTrailingAttrs declspecs new_attrs
-  = case viewr declspecs of
-        (specs_init,
-         CTypeSpec
-           (CSUType (CStruct tag name (Just def) def_attrs su_node)
-              node)) -> (specs_init `snoc`
-                           CTypeSpec
-                             (CSUType
-                                (CStruct tag name (Just def) (def_attrs ++ new_attrs) su_node)
-                                node))
-        (specs_init,
-         CTypeSpec
-           (CEnumType (CEnum name (Just def) def_attrs e_node)
-              node)) -> (specs_init `snoc`
-                           CTypeSpec
-                             (CEnumType (CEnum name (Just def) (def_attrs ++ new_attrs) e_node)
-                                node))
-        _ -> declspecs `rappend` (liftCAttrs new_attrs)
-
-instance Pos a => Pos [a] where
-        posOf (x : _) = posOf x
-
-instance Pos a => Pos (Reversed a) where
-        posOf (Reversed x) = posOf x
-
-emptyDeclr :: CDeclrR
-emptyDeclr = CDeclrR Nothing empty Nothing [] undefNode
-
-mkVarDeclr :: Ident -> NodeInfo -> CDeclrR
-mkVarDeclr ident = CDeclrR (Just ident) empty Nothing []
-
-doDeclIdent :: [CDeclSpec] -> CDeclrR -> P ()
-doDeclIdent declspecs (CDeclrR mIdent _ _ _ _)
-  = case mIdent of
-        Nothing -> return ()
-        Just ident | any iypedef declspecs -> addTypedef ident
-                   | otherwise -> shadowTypedef ident
-  where iypedef (CStorageSpec (CTypedef _)) = True
-        iypedef _ = False
-
-doFuncParamDeclIdent :: CDeclr -> P ()
-doFuncParamDeclIdent (CDeclr _ (CFunDeclr params _ _ : _) _ _ _)
-  = sequence_
-      [case getCDeclrIdent declr of
-           Nothing -> return ()
-           Just ident -> shadowTypedef ident
-       | CDecl _ dle _ <- either (const []) fst params,
-       (Just declr, _, _) <- dle]
-doFuncParamDeclIdent _ = return ()
-
-getCDeclrIdent :: CDeclr -> Maybe Ident
-getCDeclrIdent (CDeclr mIdent _ _ _ _) = mIdent
-
-happyError :: P a
-happyError = parseError
-
-parseC :: InputStream -> Position -> Either ParseError CTranslUnit
-parseC input initialPosition
-  = fmap fst $
-      execParser translUnitP input initialPosition builtinTypeNames
-        (namesStartingFrom 0)
-
-translUnitP :: P CTranslUnit
-translUnitP = translation_unit
-
-extDeclP :: P CExtDecl
-extDeclP = external_declaration
-
-statementP :: P CStat
-statementP = statement
-
-expressionP :: P CExpr
-expressionP = expression
-
-data Happy_IntList = HappyCons Int# Happy_IntList
-
-infixr 9 `HappyStk`
-
-data HappyStk a = HappyStk a (HappyStk a)
-happyParse start_state
-  = happyNewToken start_state notHappyAtAll notHappyAtAll
-happyAccept 0# tk st sts (_ `HappyStk` (ans `HappyStk` _))
-  = happyReturn1 ans
-happyAccept j tk st sts (HappyStk ans _)
-  = (happyTcHack j (happyTcHack st)) (happyReturn1 ans)
-happyDoAction i tk st
-  = case action of
-        0# -> happyFail i tk st
-        -1# -> happyAccept i tk st
-        n | (n <# (0# :: Int#)) -> (happyReduceArr ! rule) i tk st
-          where rule = (I# ((negateInt# ((n +# (1# :: Int#))))))
-        n -> happyShift new_state i tk st
-          where new_state = (n -# (1# :: Int#))
-  where off = indexShortOffAddr happyActOffsets st
-        off_i = (off +# i)
-        check
-          = if (off_i >=# (0# :: Int#)) then
-              (indexShortOffAddr happyCheck off_i ==# i) else False
-        action
-          | check = indexShortOffAddr happyTable off_i
-          | otherwise = indexShortOffAddr happyDefActions st
-indexShortOffAddr (HappyA# arr) off
-  = narrow16Int# i intToInt16# i (i `iShiftL#` 16#) `iShiftRA#` 16#
-  where i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)
-        i = word2Int# ((high `shiftL#` 8#) `or#` low)
-        high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))
-        low = int2Word# (ord# (indexCharOffAddr# arr off'))
-        off' = off *# 2#
-
-data HappyAddr = HappyA# Addr#
-happyShift new_state 0# tk st sts stk@(x `HappyStk` _)
-  = let i = (case unsafeCoerce# x of
-                 (I# (i)) -> i)
-      in 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)
-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 -# (1# :: Int#)) sts of
-        sts1@((HappyCons (st1@(action)) (_))) -> let r = fn stk in
-                                                   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
-  = happyThen1 (fn stk tk)
-      (\ r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))
-  where sts1@((HappyCons (st1@(action)) (_)))
-          = happyDrop k (HappyCons (st) (sts))
-        drop_stk = happyDropStk k 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
-  = happyThen1 (fn stk tk)
-      (\ r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))
-  where sts1@((HappyCons (st1@(action)) (_)))
-          = happyDrop k (HappyCons (st) (sts))
-        drop_stk = happyDropStk k stk
-        off = indexShortOffAddr happyGotoOffsets st1
-        off_i = (off +# nt)
-        new_state = indexShortOffAddr happyTable off_i
-happyDrop 0# l = l
-happyDrop n (HappyCons (_) (t)) = happyDrop (n -# (1# :: Int#)) t
-happyDropStk 0# l = l
-happyDropStk n (x `HappyStk` xs)
-  = happyDropStk (n -# (1# :: Int#)) xs
-happyGoto nt j tk st = happyDoAction j tk new_state
-  where off = indexShortOffAddr happyGotoOffsets st
-        off_i = (off +# nt)
-        new_state = indexShortOffAddr happyTable off_i
-happyFail 0# tk old_st _ stk = happyError_ tk
-happyFail i tk (action) sts stk
-  = happyDoAction 0# tk action sts
-      ((unsafeCoerce# (I# (i))) `HappyStk` stk)
-notHappyAtAll = error "Internal Happy error\n"
-
-happyTcHack :: Int# -> a -> a
-happyTcHack x y = y
-
-{-# INLINE happyTcHack #-}
-
-happyDoSeq, happyDontSeq :: a -> b -> b
-happyDoSeq a b = a `seq` b
-happyDontSeq a b = b
-
-{-# 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 #-}
diff --git a/tests/examples/ClassContext.hs.prettyprinter.golden b/tests/examples/ClassContext.hs.prettyprinter.golden
--- a/tests/examples/ClassContext.hs.prettyprinter.golden
+++ b/tests/examples/ClassContext.hs.prettyprinter.golden
@@ -1,4 +1,2 @@
-module Main (main) where
-
 f :: Ord (i Int) => i Int -> i Int
 f = undefined
diff --git a/tests/examples/ClassDeclSrcSpan.hs.prettyprinter.golden b/tests/examples/ClassDeclSrcSpan.hs.prettyprinter.golden
--- a/tests/examples/ClassDeclSrcSpan.hs.prettyprinter.golden
+++ b/tests/examples/ClassDeclSrcSpan.hs.prettyprinter.golden
@@ -1,5 +1,3 @@
-module Main (main) where
-
 class C1 a where
         toString :: a -> String
 
diff --git a/tests/examples/ClosedTypeFamily.hs.parser.golden b/tests/examples/ClosedTypeFamily.hs.parser.golden
--- a/tests/examples/ClosedTypeFamily.hs.parser.golden
+++ b/tests/examples/ClosedTypeFamily.hs.parser.golden
@@ -120,6 +120,7 @@
                      }
                    "y")))
           Nothing
+          Nothing
           [ TypeEqn
               SrcSpanInfo
                 { srcInfoSpan =
diff --git a/tests/examples/ConstraintKinds.hs.prettyprinter.golden b/tests/examples/ConstraintKinds.hs.prettyprinter.golden
--- a/tests/examples/ConstraintKinds.hs.prettyprinter.golden
+++ b/tests/examples/ConstraintKinds.hs.prettyprinter.golden
@@ -1,9 +1,8 @@
 {-# LANGUAGE TypeFamilies #-}
 {-# LANGUAGE ConstraintKinds #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
-module Main (main) where
 
-class Foo a
+class Foo a where
 
 data Bar a
 
diff --git a/tests/examples/ConstraintKinds2.hs.prettyprinter.golden b/tests/examples/ConstraintKinds2.hs.prettyprinter.golden
--- a/tests/examples/ConstraintKinds2.hs.prettyprinter.golden
+++ b/tests/examples/ConstraintKinds2.hs.prettyprinter.golden
@@ -1,7 +1,6 @@
 {-# LANGUAGE ConstraintKinds #-}
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE RankNTypes #-}
-module Main (main) where
 
 data Dict p where
         Dict :: p => Dict p
diff --git a/tests/examples/ConstraintKinds3.hs.prettyprinter.golden b/tests/examples/ConstraintKinds3.hs.prettyprinter.golden
--- a/tests/examples/ConstraintKinds3.hs.prettyprinter.golden
+++ b/tests/examples/ConstraintKinds3.hs.prettyprinter.golden
@@ -1,6 +1,5 @@
 {-# LANGUAGE ConstraintKinds #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
-module Main (main) where
 
 class Foo c a where
         bar :: (c a) => a -> a
diff --git a/tests/examples/ConstructorAndClassOperators.hs.prettyprinter.golden b/tests/examples/ConstructorAndClassOperators.hs.prettyprinter.golden
--- a/tests/examples/ConstructorAndClassOperators.hs.prettyprinter.golden
+++ b/tests/examples/ConstructorAndClassOperators.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE TypeOperators, MultiParamTypeClasses #-}
-module Main (main) where
 
 ins :: (:=>) b h => b :- h
 
diff --git a/tests/examples/CxtWhitespace.hs.prettyprinter.golden b/tests/examples/CxtWhitespace.hs.prettyprinter.golden
--- a/tests/examples/CxtWhitespace.hs.prettyprinter.golden
+++ b/tests/examples/CxtWhitespace.hs.prettyprinter.golden
@@ -1,5 +1,3 @@
-module Main (main) where
-
 instance (Eq h) => Eq h
 
 instance (Eq h, Eq h) => Eq h
diff --git a/tests/examples/DataHeadParen.hs.prettyprinter.golden b/tests/examples/DataHeadParen.hs.prettyprinter.golden
--- a/tests/examples/DataHeadParen.hs.prettyprinter.golden
+++ b/tests/examples/DataHeadParen.hs.prettyprinter.golden
@@ -1,4 +1,4 @@
 {-# LANGUAGE TypeOperators #-}
 module DataHeadParen where
 
-data (:<) a1 a2 = Foo
+data (a1 :< a2) = Foo
diff --git a/tests/examples/DataKinds.hs.prettyprinter.golden b/tests/examples/DataKinds.hs.prettyprinter.golden
--- a/tests/examples/DataKinds.hs.prettyprinter.golden
+++ b/tests/examples/DataKinds.hs.prettyprinter.golden
@@ -1,7 +1,6 @@
 {-# LANGUAGE KindSignatures #-}
 {-# LANGUAGE DataKinds #-}
 {-# LANGUAGE PolyKinds #-}
-module Main (main) where
 
 class C1 (a :: Bool) where
         c :: proxy a -> Int
diff --git a/tests/examples/DataKinds2.hs.prettyprinter.golden b/tests/examples/DataKinds2.hs.prettyprinter.golden
--- a/tests/examples/DataKinds2.hs.prettyprinter.golden
+++ b/tests/examples/DataKinds2.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE DataKinds #-}
-module Main (main) where
 
 data Foo a = Foo
 
@@ -7,4 +6,4 @@
 
 type FooC = Foo 1
 
-instance Show (Foo "bar")
+instance Show (Foo "bar") where
diff --git a/tests/examples/DefaultSignatures.hs.prettyprinter.golden b/tests/examples/DefaultSignatures.hs.prettyprinter.golden
--- a/tests/examples/DefaultSignatures.hs.prettyprinter.golden
+++ b/tests/examples/DefaultSignatures.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE DefaultSignatures #-}
-module Main (main) where
 
 class C a where
         f :: a -> a -> Bool
diff --git a/tests/examples/DeriveGeneric.hs.prettyprinter.golden b/tests/examples/DeriveGeneric.hs.prettyprinter.golden
--- a/tests/examples/DeriveGeneric.hs.prettyprinter.golden
+++ b/tests/examples/DeriveGeneric.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE DeriveGeneric #-}
-module Main (main) where
 
 data UserTree a = Node a (UserTree a) (UserTree a)
                 | Leaf
diff --git a/tests/examples/DerivingParen.hs.prettyprinter.golden b/tests/examples/DerivingParen.hs.prettyprinter.golden
--- a/tests/examples/DerivingParen.hs.prettyprinter.golden
+++ b/tests/examples/DerivingParen.hs.prettyprinter.golden
@@ -1,7 +1,5 @@
-module Main (main) where
-
 data X = X
        deriving Show
 
 data X = X
-       deriving Show
+       deriving (Show)
diff --git a/tests/examples/Directory.hs.parser.golden b/tests/examples/Directory.hs.parser.golden
--- a/tests/examples/Directory.hs.parser.golden
+++ b/tests/examples/Directory.hs.parser.golden
@@ -474,6 +474,11 @@
                             , SrcSpan "tests/examples/Directory.hs" 61 7 61 8
                             ]
                         }
+                      (NoWildcard
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)
+                           , srcInfoPoints = []
+                           })
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/Directory.hs" 55 7 55 18
diff --git a/tests/examples/DoRec.hs.prettyprinter.golden b/tests/examples/DoRec.hs.prettyprinter.golden
--- a/tests/examples/DoRec.hs.prettyprinter.golden
+++ b/tests/examples/DoRec.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE DoRec #-}
-module Main (main) where
 main
   = do rec let x = 1
        return ()
diff --git a/tests/examples/DsStrictData.hs b/tests/examples/DsStrictData.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/DsStrictData.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE ScopedTypeVariables, StrictData, GADTs #-}
+
+-- | Tests the StrictData LANGUAGE pragma.
+module Main where
+
+import qualified Control.Exception as E
+import System.IO.Unsafe (unsafePerformIO)
+
+data Strict a = S a
+data Strict2 b = S2 !b
+data Strict3 c where
+  S3 :: c -> Strict3 c
+
+data UStrict = US {-# UNPACK #-} Int
+
+data Lazy d = L ~d
+data Lazy2 e where
+  L2 :: ~e -> Lazy2 e
+
+main :: IO ()
+main =
+  do print (isBottom (S bottom))
+     print (isBottom (S2 bottom))
+     print (isBottom (US bottom))
+     print (isBottom (S3 bottom))
+     putStrLn ""
+     print (not (isBottom (L bottom)))
+     print (not (isBottom (L2 bottom)))
+     print (not (isBottom (Just bottom))) -- sanity check
+
+------------------------------------------------------------------------
+-- Support for testing for bottom
+
+bottom :: a
+bottom = error "_|_"
+
+isBottom :: a -> Bool
+isBottom f = unsafePerformIO $
+  (E.evaluate f >> return False) `E.catches`
+    [ E.Handler (\(_ :: E.ArrayException)   -> return True)
+    , E.Handler (\(_ :: E.ErrorCall)        -> return True)
+    , E.Handler (\(_ :: E.NoMethodError)    -> return True)
+    , E.Handler (\(_ :: E.NonTermination)   -> return True)
+    , E.Handler (\(_ :: E.PatternMatchFail) -> return True)
+    , E.Handler (\(_ :: E.RecConError)      -> return True)
+    , E.Handler (\(_ :: E.RecSelError)      -> return True)
+    , E.Handler (\(_ :: E.RecUpdError)      -> return True)
+    ]
diff --git a/tests/examples/DsStrictData.hs.exactprinter.golden b/tests/examples/DsStrictData.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/DsStrictData.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/DsStrictData.hs.parser.golden b/tests/examples/DsStrictData.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/DsStrictData.hs.parser.golden
@@ -0,0 +1,3587 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 1 49 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/DsStrictData.hs" 1 1 1 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 6 1 6 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 7 1 7 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 9 1 9 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 10 1 10 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 11 1 11 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 16 1 16 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 17 1 17 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 21 1 21 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 37 1 37 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 38 1 38 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 49 1 49 1
+            , SrcSpan "tests/examples/DsStrictData.hs" 49 1 49 1
+            ]
+        }
+      (Just
+         (ModuleHead
+            SrcSpanInfo
+              { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 18
+              , srcInfoPoints =
+                  [ SrcSpan "tests/examples/DsStrictData.hs" 4 1 4 7
+                  , SrcSpan "tests/examples/DsStrictData.hs" 4 13 4 18
+                  ]
+              }
+            (ModuleName
+               SrcSpanInfo
+                 { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 4 8 4 12
+                 , srcInfoPoints = []
+                 }
+               "Main")
+            Nothing
+            Nothing))
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 1 1 56
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/DsStrictData.hs" 1 1 1 13
+                , SrcSpan "tests/examples/DsStrictData.hs" 1 33 1 34
+                , SrcSpan "tests/examples/DsStrictData.hs" 1 45 1 46
+                , SrcSpan "tests/examples/DsStrictData.hs" 1 53 1 56
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 14 1 33
+                , srcInfoPoints = []
+                }
+              "ScopedTypeVariables"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 35 1 45
+                , srcInfoPoints = []
+                }
+              "StrictData"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 1 47 1 52
+                , srcInfoPoints = []
+                }
+              "GADTs"
+          ]
+      ]
+      [ ImportDecl
+          { importAnn =
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 6 1 6 40
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/DsStrictData.hs" 6 1 6 7
+                    , SrcSpan "tests/examples/DsStrictData.hs" 6 8 6 17
+                    , SrcSpan "tests/examples/DsStrictData.hs" 6 36 6 38
+                    ]
+                }
+          , importModule =
+              ModuleName
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 6 18 6 35
+                  , srcInfoPoints = []
+                  }
+                "Control.Exception"
+          , importQualified = True
+          , importSrc = False
+          , importSafe = False
+          , importPkg = Nothing
+          , importAs =
+              Just
+                (ModuleName
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 6 39 6 40
+                     , srcInfoPoints = []
+                     }
+                   "E")
+          , importSpecs = Nothing
+          }
+      , ImportDecl
+          { importAnn =
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 1 7 42
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/DsStrictData.hs" 7 1 7 7 ]
+                }
+          , importModule =
+              ModuleName
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 8 7 24
+                  , srcInfoPoints = []
+                  }
+                "System.IO.Unsafe"
+          , importQualified = False
+          , importSrc = False
+          , importSafe = False
+          , importPkg = Nothing
+          , importAs = Nothing
+          , importSpecs =
+              Just
+                (ImportSpecList
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 25 7 42
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/DsStrictData.hs" 7 25 7 26
+                         , SrcSpan "tests/examples/DsStrictData.hs" 7 41 7 42
+                         ]
+                     }
+                   False
+                   [ IVar
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 26 7 41
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 7 26 7 41
+                            , srcInfoPoints = []
+                            }
+                          "unsafePerformIO")
+                   ])
+          }
+      ]
+      [ DataDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 1 9 20
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/DsStrictData.hs" 9 15 9 16 ]
+            }
+          (DataType
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 1 9 5
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 6 9 14
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 6 9 12
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 6 9 12
+                     , srcInfoPoints = []
+                     }
+                   "Strict"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 13 9 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 13 9 14
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          [ QualConDecl
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 17 9 20
+                , srcInfoPoints = []
+                }
+              Nothing
+              Nothing
+              (ConDecl
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 17 9 20
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 17 9 18
+                      , srcInfoPoints = []
+                      }
+                    "S")
+                 [ TyVar
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 19 9 20
+                       , srcInfoPoints = []
+                       }
+                     (Ident
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 9 19 9 20
+                          , srcInfoPoints = []
+                          }
+                        "a")
+                 ])
+          ]
+          Nothing
+      , DataDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 1 10 23
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/DsStrictData.hs" 10 16 10 17 ]
+            }
+          (DataType
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 1 10 5
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 6 10 15
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 6 10 13
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 10 6 10 13
+                     , srcInfoPoints = []
+                     }
+                   "Strict2"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/DsStrictData.hs" 10 14 10 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/DsStrictData.hs" 10 14 10 15
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          [ QualConDecl
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/DsStrictData.hs" 10 18 10 23
+                , srcInfoPoints = []
+                }
+              Nothing
+              Nothing
+              (ConDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/DsStrictData.hs" 10 18 10 23
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/DsStrictData.hs" 10 18 10 20
+                      , srcInfoPoints = []
+                      }
+                    "S2")
+                 [ TyBang
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/DsStrictData.hs" 10 21 10 23
+                       , srcInfoPoints = []
+                       }
+                     (BangedTy
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/DsStrictData.hs" 10 21 10 22
+                          , srcInfoPoints = []
+                          })
+                     (NoUnpackPragma
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)
+                          , srcInfoPoints = []
+                          })
+                     (TyVar
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/DsStrictData.hs" 10 22 10 23
+                          , srcInfoPoints = []
+                          }
+                        (Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/DsStrictData.hs" 10 22 10 23
+                             , srcInfoPoints = []
+                             }
+                           "b"))
+                 ])
+          ]
+          Nothing
+      , GDataDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 1 14 0
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/DsStrictData.hs" 11 16 11 21
+                , SrcSpan "tests/examples/DsStrictData.hs" 12 3 12 3
+                , SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 0
+                ]
+            }
+          (DataType
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 1 11 5
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 6 11 15
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 6 11 13
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 11 6 11 13
+                     , srcInfoPoints = []
+                     }
+                   "Strict3"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/DsStrictData.hs" 11 14 11 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/DsStrictData.hs" 11 14 11 15
+                     , srcInfoPoints = []
+                     }
+                   "c")))
+          Nothing
+          [ GadtDecl
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 3 12 23
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/DsStrictData.hs" 12 6 12 8 ]
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 3 12 5
+                   , srcInfoPoints = []
+                   }
+                 "S3")
+              Nothing
+              (TyFun
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 23
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/DsStrictData.hs" 12 11 12 13 ]
+                   }
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 10
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 12 9 12 10
+                         , srcInfoPoints = []
+                         }
+                       "c"))
+                 (TyApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 23
+                      , srcInfoPoints = []
+                      }
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 21
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 21
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 12 14 12 21
+                               , srcInfoPoints = []
+                               }
+                             "Strict3")))
+                    (TyVar
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/DsStrictData.hs" 12 22 12 23
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 12 22 12 23
+                            , srcInfoPoints = []
+                            }
+                          "c"))))
+          ]
+          Nothing
+      , DataDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 37
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/DsStrictData.hs" 14 14 14 15 ]
+            }
+          (DataType
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 1 14 5
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHead
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 6 14 13
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 14 6 14 13
+                  , srcInfoPoints = []
+                  }
+                "UStrict"))
+          [ QualConDecl
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/DsStrictData.hs" 14 16 14 37
+                , srcInfoPoints = []
+                }
+              Nothing
+              Nothing
+              (ConDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/DsStrictData.hs" 14 16 14 37
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/DsStrictData.hs" 14 16 14 18
+                      , srcInfoPoints = []
+                      }
+                    "US")
+                 [ TyBang
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/DsStrictData.hs" 14 19 14 37
+                       , srcInfoPoints = []
+                       }
+                     (NoStrictAnnot
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)
+                          , srcInfoPoints = []
+                          })
+                     (Unpack
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/DsStrictData.hs" 14 19 14 33
+                          , srcInfoPoints =
+                              [ SrcSpan "tests/examples/DsStrictData.hs" 14 19 14 29
+                              , SrcSpan "tests/examples/DsStrictData.hs" 14 30 14 33
+                              ]
+                          })
+                     (TyCon
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/DsStrictData.hs" 14 34 14 37
+                          , srcInfoPoints = []
+                          }
+                        (UnQual
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/DsStrictData.hs" 14 34 14 37
+                             , srcInfoPoints = []
+                             }
+                           (Ident
+                              SrcSpanInfo
+                                { srcInfoSpan =
+                                    SrcSpan "tests/examples/DsStrictData.hs" 14 34 14 37
+                                , srcInfoPoints = []
+                                }
+                              "Int")))
+                 ])
+          ]
+          Nothing
+      , DataDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 1 16 19
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/DsStrictData.hs" 16 13 16 14 ]
+            }
+          (DataType
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 1 16 5
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 6 16 12
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 6 16 10
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 16 6 16 10
+                     , srcInfoPoints = []
+                     }
+                   "Lazy"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/DsStrictData.hs" 16 11 16 12
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/DsStrictData.hs" 16 11 16 12
+                     , srcInfoPoints = []
+                     }
+                   "d")))
+          [ QualConDecl
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/DsStrictData.hs" 16 15 16 19
+                , srcInfoPoints = []
+                }
+              Nothing
+              Nothing
+              (ConDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/DsStrictData.hs" 16 15 16 19
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/DsStrictData.hs" 16 15 16 16
+                      , srcInfoPoints = []
+                      }
+                    "L")
+                 [ TyBang
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/DsStrictData.hs" 16 17 16 19
+                       , srcInfoPoints = []
+                       }
+                     (LazyTy
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/DsStrictData.hs" 16 17 16 18
+                          , srcInfoPoints = []
+                          })
+                     (NoUnpackPragma
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)
+                          , srcInfoPoints = []
+                          })
+                     (TyVar
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/DsStrictData.hs" 16 18 16 19
+                          , srcInfoPoints = []
+                          }
+                        (Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/DsStrictData.hs" 16 18 16 19
+                             , srcInfoPoints = []
+                             }
+                           "d"))
+                 ])
+          ]
+          Nothing
+      , GDataDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 1 20 0
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/DsStrictData.hs" 17 14 17 19
+                , SrcSpan "tests/examples/DsStrictData.hs" 18 3 18 3
+                , SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 0
+                ]
+            }
+          (DataType
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 1 17 5
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 6 17 13
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 6 17 11
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 17 6 17 11
+                     , srcInfoPoints = []
+                     }
+                   "Lazy2"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/DsStrictData.hs" 17 12 17 13
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/DsStrictData.hs" 17 12 17 13
+                     , srcInfoPoints = []
+                     }
+                   "e")))
+          Nothing
+          [ GadtDecl
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 3 18 22
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/DsStrictData.hs" 18 6 18 8 ]
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 3 18 5
+                   , srcInfoPoints = []
+                   }
+                 "L2")
+              Nothing
+              (TyFun
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 9 18 22
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/DsStrictData.hs" 18 12 18 14 ]
+                   }
+                 (TyBang
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 9 18 11
+                      , srcInfoPoints = []
+                      }
+                    (LazyTy
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 18 9 18 10
+                         , srcInfoPoints = []
+                         })
+                    (NoUnpackPragma
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)
+                         , srcInfoPoints = []
+                         })
+                    (TyVar
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/DsStrictData.hs" 18 10 18 11
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 18 10 18 11
+                            , srcInfoPoints = []
+                            }
+                          "e")))
+                 (TyApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 22
+                      , srcInfoPoints = []
+                      }
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 20
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 20
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 18 15 18 20
+                               , srcInfoPoints = []
+                               }
+                             "Lazy2")))
+                    (TyVar
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/DsStrictData.hs" 18 21 18 22
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 18 21 18 22
+                            , srcInfoPoints = []
+                            }
+                          "e"))))
+          ]
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 14
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/DsStrictData.hs" 20 6 20 8 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 1 20 5
+                , srcInfoPoints = []
+                }
+              "main"
+          ]
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 14
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 11
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 11
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 20 9 20 11
+                        , srcInfoPoints = []
+                        }
+                      "IO")))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 14
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 13
+                      , SrcSpan "tests/examples/DsStrictData.hs" 20 13 20 14
+                      ]
+                  }
+                (Special
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 14
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 13
+                         , SrcSpan "tests/examples/DsStrictData.hs" 20 13 20 14
+                         ]
+                     }
+                   (UnitCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 14
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/DsStrictData.hs" 20 12 20 13
+                            , SrcSpan "tests/examples/DsStrictData.hs" 20 13 20 14
+                            ]
+                        }))))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 1 29 42
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 1 21 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 1 21 5
+                  , srcInfoPoints = []
+                  }
+                "main"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 21 6 29 42
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/DsStrictData.hs" 21 6 21 7 ]
+               }
+             (Do
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 3 29 42
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/DsStrictData.hs" 22 3 22 5
+                      , SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 6
+                      , SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 6
+                      , SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 6
+                      , SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 6
+                      , SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 6
+                      , SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 6
+                      , SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 6
+                      , SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 6
+                      , SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 0
+                      ]
+                  }
+                [ Qualifier
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 33
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 33
+                         , srcInfoPoints = []
+                         }
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 11
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 11
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 22 6 22 11
+                                  , srcInfoPoints = []
+                                  }
+                                "print")))
+                       (Paren
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 22 12 22 33
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/DsStrictData.hs" 22 12 22 13
+                                , SrcSpan "tests/examples/DsStrictData.hs" 22 32 22 33
+                                ]
+                            }
+                          (App
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 32
+                               , srcInfoPoints = []
+                               }
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 21
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 21
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 22 13 22 21
+                                        , srcInfoPoints = []
+                                        }
+                                      "isBottom")))
+                             (Paren
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 22 22 22 32
+                                  , srcInfoPoints =
+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 22 22 22 23
+                                      , SrcSpan "tests/examples/DsStrictData.hs" 22 31 22 32
+                                      ]
+                                  }
+                                (App
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 22 23 22 31
+                                     , srcInfoPoints = []
+                                     }
+                                   (Con
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 22 23 22 24
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 22 23 22 24
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 22 23 22 24
+                                              , srcInfoPoints = []
+                                              }
+                                            "S")))
+                                   (Var
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 22 25 22 31
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 22 25 22 31
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 22 25 22 31
+                                              , srcInfoPoints = []
+                                              }
+                                            "bottom"))))))))
+                , Qualifier
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 34
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 34
+                         , srcInfoPoints = []
+                         }
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 11
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 11
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 23 6 23 11
+                                  , srcInfoPoints = []
+                                  }
+                                "print")))
+                       (Paren
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 23 12 23 34
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/DsStrictData.hs" 23 12 23 13
+                                , SrcSpan "tests/examples/DsStrictData.hs" 23 33 23 34
+                                ]
+                            }
+                          (App
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 33
+                               , srcInfoPoints = []
+                               }
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 21
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 21
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 23 13 23 21
+                                        , srcInfoPoints = []
+                                        }
+                                      "isBottom")))
+                             (Paren
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 23 22 23 33
+                                  , srcInfoPoints =
+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 23 22 23 23
+                                      , SrcSpan "tests/examples/DsStrictData.hs" 23 32 23 33
+                                      ]
+                                  }
+                                (App
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 23 23 23 32
+                                     , srcInfoPoints = []
+                                     }
+                                   (Con
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 23 23 23 25
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 23 23 23 25
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 23 23 23 25
+                                              , srcInfoPoints = []
+                                              }
+                                            "S2")))
+                                   (Var
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 23 26 23 32
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 23 26 23 32
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 23 26 23 32
+                                              , srcInfoPoints = []
+                                              }
+                                            "bottom"))))))))
+                , Qualifier
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 34
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 34
+                         , srcInfoPoints = []
+                         }
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 11
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 11
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 24 6 24 11
+                                  , srcInfoPoints = []
+                                  }
+                                "print")))
+                       (Paren
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 24 12 24 34
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/DsStrictData.hs" 24 12 24 13
+                                , SrcSpan "tests/examples/DsStrictData.hs" 24 33 24 34
+                                ]
+                            }
+                          (App
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 33
+                               , srcInfoPoints = []
+                               }
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 21
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 21
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 24 13 24 21
+                                        , srcInfoPoints = []
+                                        }
+                                      "isBottom")))
+                             (Paren
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 24 22 24 33
+                                  , srcInfoPoints =
+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 24 22 24 23
+                                      , SrcSpan "tests/examples/DsStrictData.hs" 24 32 24 33
+                                      ]
+                                  }
+                                (App
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 24 23 24 32
+                                     , srcInfoPoints = []
+                                     }
+                                   (Con
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 24 23 24 25
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 24 23 24 25
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 24 23 24 25
+                                              , srcInfoPoints = []
+                                              }
+                                            "US")))
+                                   (Var
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 24 26 24 32
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 24 26 24 32
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 24 26 24 32
+                                              , srcInfoPoints = []
+                                              }
+                                            "bottom"))))))))
+                , Qualifier
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 34
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 34
+                         , srcInfoPoints = []
+                         }
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 11
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 11
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 25 6 25 11
+                                  , srcInfoPoints = []
+                                  }
+                                "print")))
+                       (Paren
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 25 12 25 34
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/DsStrictData.hs" 25 12 25 13
+                                , SrcSpan "tests/examples/DsStrictData.hs" 25 33 25 34
+                                ]
+                            }
+                          (App
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 33
+                               , srcInfoPoints = []
+                               }
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 21
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 21
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 25 13 25 21
+                                        , srcInfoPoints = []
+                                        }
+                                      "isBottom")))
+                             (Paren
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 25 22 25 33
+                                  , srcInfoPoints =
+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 25 22 25 23
+                                      , SrcSpan "tests/examples/DsStrictData.hs" 25 32 25 33
+                                      ]
+                                  }
+                                (App
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 25 23 25 32
+                                     , srcInfoPoints = []
+                                     }
+                                   (Con
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 25 23 25 25
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 25 23 25 25
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 25 23 25 25
+                                              , srcInfoPoints = []
+                                              }
+                                            "S3")))
+                                   (Var
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 25 26 25 32
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 25 26 25 32
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 25 26 25 32
+                                              , srcInfoPoints = []
+                                              }
+                                            "bottom"))))))))
+                , Qualifier
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 17
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 17
+                         , srcInfoPoints = []
+                         }
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 14
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 14
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 26 6 26 14
+                                  , srcInfoPoints = []
+                                  }
+                                "putStrLn")))
+                       (Lit
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 26 15 26 17
+                            , srcInfoPoints = []
+                            }
+                          (String
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 26 15 26 17
+                               , srcInfoPoints = []
+                               }
+                             ""
+                             "")))
+                , Qualifier
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 39
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 39
+                         , srcInfoPoints = []
+                         }
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 11
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 11
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 27 6 27 11
+                                  , srcInfoPoints = []
+                                  }
+                                "print")))
+                       (Paren
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 27 12 27 39
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/DsStrictData.hs" 27 12 27 13
+                                , SrcSpan "tests/examples/DsStrictData.hs" 27 38 27 39
+                                ]
+                            }
+                          (App
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 38
+                               , srcInfoPoints = []
+                               }
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 16
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 16
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 27 13 27 16
+                                        , srcInfoPoints = []
+                                        }
+                                      "not")))
+                             (Paren
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 27 17 27 38
+                                  , srcInfoPoints =
+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 27 17 27 18
+                                      , SrcSpan "tests/examples/DsStrictData.hs" 27 37 27 38
+                                      ]
+                                  }
+                                (App
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 27 18 27 37
+                                     , srcInfoPoints = []
+                                     }
+                                   (Var
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 27 18 27 26
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 27 18 27 26
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 27 18 27 26
+                                              , srcInfoPoints = []
+                                              }
+                                            "isBottom")))
+                                   (Paren
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 27 27 27 37
+                                        , srcInfoPoints =
+                                            [ SrcSpan "tests/examples/DsStrictData.hs" 27 27 27 28
+                                            , SrcSpan "tests/examples/DsStrictData.hs" 27 36 27 37
+                                            ]
+                                        }
+                                      (App
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 27 28 27 36
+                                           , srcInfoPoints = []
+                                           }
+                                         (Con
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 27 28 27 29
+                                              , srcInfoPoints = []
+                                              }
+                                            (UnQual
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan
+                                                       "tests/examples/DsStrictData.hs" 27 28 27 29
+                                                 , srcInfoPoints = []
+                                                 }
+                                               (Ident
+                                                  SrcSpanInfo
+                                                    { srcInfoSpan =
+                                                        SrcSpan
+                                                          "tests/examples/DsStrictData.hs"
+                                                          27
+                                                          28
+                                                          27
+                                                          29
+                                                    , srcInfoPoints = []
+                                                    }
+                                                  "L")))
+                                         (Var
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 27 30 27 36
+                                              , srcInfoPoints = []
+                                              }
+                                            (UnQual
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan
+                                                       "tests/examples/DsStrictData.hs" 27 30 27 36
+                                                 , srcInfoPoints = []
+                                                 }
+                                               (Ident
+                                                  SrcSpanInfo
+                                                    { srcInfoSpan =
+                                                        SrcSpan
+                                                          "tests/examples/DsStrictData.hs"
+                                                          27
+                                                          30
+                                                          27
+                                                          36
+                                                    , srcInfoPoints = []
+                                                    }
+                                                  "bottom"))))))))))
+                , Qualifier
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 40
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 40
+                         , srcInfoPoints = []
+                         }
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 11
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 11
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 28 6 28 11
+                                  , srcInfoPoints = []
+                                  }
+                                "print")))
+                       (Paren
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 28 12 28 40
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/DsStrictData.hs" 28 12 28 13
+                                , SrcSpan "tests/examples/DsStrictData.hs" 28 39 28 40
+                                ]
+                            }
+                          (App
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 39
+                               , srcInfoPoints = []
+                               }
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 16
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 16
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 28 13 28 16
+                                        , srcInfoPoints = []
+                                        }
+                                      "not")))
+                             (Paren
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 28 17 28 39
+                                  , srcInfoPoints =
+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 28 17 28 18
+                                      , SrcSpan "tests/examples/DsStrictData.hs" 28 38 28 39
+                                      ]
+                                  }
+                                (App
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 28 18 28 38
+                                     , srcInfoPoints = []
+                                     }
+                                   (Var
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 28 18 28 26
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 28 18 28 26
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 28 18 28 26
+                                              , srcInfoPoints = []
+                                              }
+                                            "isBottom")))
+                                   (Paren
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 28 27 28 38
+                                        , srcInfoPoints =
+                                            [ SrcSpan "tests/examples/DsStrictData.hs" 28 27 28 28
+                                            , SrcSpan "tests/examples/DsStrictData.hs" 28 37 28 38
+                                            ]
+                                        }
+                                      (App
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 28 28 28 37
+                                           , srcInfoPoints = []
+                                           }
+                                         (Con
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 28 28 28 30
+                                              , srcInfoPoints = []
+                                              }
+                                            (UnQual
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan
+                                                       "tests/examples/DsStrictData.hs" 28 28 28 30
+                                                 , srcInfoPoints = []
+                                                 }
+                                               (Ident
+                                                  SrcSpanInfo
+                                                    { srcInfoSpan =
+                                                        SrcSpan
+                                                          "tests/examples/DsStrictData.hs"
+                                                          28
+                                                          28
+                                                          28
+                                                          30
+                                                    , srcInfoPoints = []
+                                                    }
+                                                  "L2")))
+                                         (Var
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 28 31 28 37
+                                              , srcInfoPoints = []
+                                              }
+                                            (UnQual
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan
+                                                       "tests/examples/DsStrictData.hs" 28 31 28 37
+                                                 , srcInfoPoints = []
+                                                 }
+                                               (Ident
+                                                  SrcSpanInfo
+                                                    { srcInfoSpan =
+                                                        SrcSpan
+                                                          "tests/examples/DsStrictData.hs"
+                                                          28
+                                                          31
+                                                          28
+                                                          37
+                                                    , srcInfoPoints = []
+                                                    }
+                                                  "bottom"))))))))))
+                , Qualifier
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 42
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 42
+                         , srcInfoPoints = []
+                         }
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 11
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 11
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 29 6 29 11
+                                  , srcInfoPoints = []
+                                  }
+                                "print")))
+                       (Paren
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 29 12 29 42
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/DsStrictData.hs" 29 12 29 13
+                                , SrcSpan "tests/examples/DsStrictData.hs" 29 41 29 42
+                                ]
+                            }
+                          (App
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 41
+                               , srcInfoPoints = []
+                               }
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 16
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 16
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 29 13 29 16
+                                        , srcInfoPoints = []
+                                        }
+                                      "not")))
+                             (Paren
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 29 17 29 41
+                                  , srcInfoPoints =
+                                      [ SrcSpan "tests/examples/DsStrictData.hs" 29 17 29 18
+                                      , SrcSpan "tests/examples/DsStrictData.hs" 29 40 29 41
+                                      ]
+                                  }
+                                (App
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 29 18 29 40
+                                     , srcInfoPoints = []
+                                     }
+                                   (Var
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 29 18 29 26
+                                        , srcInfoPoints = []
+                                        }
+                                      (UnQual
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 29 18 29 26
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 29 18 29 26
+                                              , srcInfoPoints = []
+                                              }
+                                            "isBottom")))
+                                   (Paren
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 29 27 29 40
+                                        , srcInfoPoints =
+                                            [ SrcSpan "tests/examples/DsStrictData.hs" 29 27 29 28
+                                            , SrcSpan "tests/examples/DsStrictData.hs" 29 39 29 40
+                                            ]
+                                        }
+                                      (App
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 29 28 29 39
+                                           , srcInfoPoints = []
+                                           }
+                                         (Con
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 29 28 29 32
+                                              , srcInfoPoints = []
+                                              }
+                                            (UnQual
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan
+                                                       "tests/examples/DsStrictData.hs" 29 28 29 32
+                                                 , srcInfoPoints = []
+                                                 }
+                                               (Ident
+                                                  SrcSpanInfo
+                                                    { srcInfoSpan =
+                                                        SrcSpan
+                                                          "tests/examples/DsStrictData.hs"
+                                                          29
+                                                          28
+                                                          29
+                                                          32
+                                                    , srcInfoPoints = []
+                                                    }
+                                                  "Just")))
+                                         (Var
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/DsStrictData.hs" 29 33 29 39
+                                              , srcInfoPoints = []
+                                              }
+                                            (UnQual
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan
+                                                       "tests/examples/DsStrictData.hs" 29 33 29 39
+                                                 , srcInfoPoints = []
+                                                 }
+                                               (Ident
+                                                  SrcSpanInfo
+                                                    { srcInfoSpan =
+                                                        SrcSpan
+                                                          "tests/examples/DsStrictData.hs"
+                                                          29
+                                                          33
+                                                          29
+                                                          39
+                                                    , srcInfoPoints = []
+                                                    }
+                                                  "bottom"))))))))))
+                ]))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 12
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/DsStrictData.hs" 34 8 34 10 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 34 1 34 7
+                , srcInfoPoints = []
+                }
+              "bottom"
+          ]
+          (TyVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/DsStrictData.hs" 34 11 34 12
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/DsStrictData.hs" 34 11 34 12
+                  , srcInfoPoints = []
+                  }
+                "a"))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 21
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 7
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 1 35 7
+                  , srcInfoPoints = []
+                  }
+                "bottom"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 35 8 35 21
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/DsStrictData.hs" 35 8 35 9 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 21
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 15
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 15
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/DsStrictData.hs" 35 10 35 15
+                           , srcInfoPoints = []
+                           }
+                         "error")))
+                (Lit
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/DsStrictData.hs" 35 16 35 21
+                     , srcInfoPoints = []
+                     }
+                   (String
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/DsStrictData.hs" 35 16 35 21
+                        , srcInfoPoints = []
+                        }
+                      "_|_"
+                      "_|_"))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 37 1 37 22
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/DsStrictData.hs" 37 10 37 12 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 37 1 37 9
+                , srcInfoPoints = []
+                }
+              "isBottom"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/DsStrictData.hs" 37 13 37 22
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/DsStrictData.hs" 37 15 37 17 ]
+               }
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/DsStrictData.hs" 37 13 37 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/DsStrictData.hs" 37 13 37 14
+                     , srcInfoPoints = []
+                     }
+                   "a"))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/DsStrictData.hs" 37 18 37 22
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/DsStrictData.hs" 37 18 37 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/DsStrictData.hs" 37 18 37 22
+                        , srcInfoPoints = []
+                        }
+                      "Bool"))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 1 48 6
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 1 48 6
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 1 38 9
+                   , srcInfoPoints = []
+                   }
+                 "isBottom")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan =
+                        SrcSpan "tests/examples/DsStrictData.hs" 38 10 38 11
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/DsStrictData.hs" 38 10 38 11
+                       , srcInfoPoints = []
+                       }
+                     "f")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 12 48 6
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/DsStrictData.hs" 38 12 38 13 ]
+                   }
+                 (InfixApp
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 38 14 48 6
+                      , srcInfoPoints = []
+                      }
+                    (Var
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/DsStrictData.hs" 38 14 38 29
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 38 14 38 29
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 38 14 38 29
+                               , srcInfoPoints = []
+                               }
+                             "unsafePerformIO")))
+                    (QVarOp
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/DsStrictData.hs" 38 30 38 31
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 38 30 38 31
+                            , srcInfoPoints = []
+                            }
+                          (Symbol
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 38 30 38 31
+                               , srcInfoPoints = []
+                               }
+                             "$")))
+                    (InfixApp
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 39 3 48 6
+                         , srcInfoPoints = []
+                         }
+                       (Paren
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 39 3 39 33
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/DsStrictData.hs" 39 3 39 4
+                                , SrcSpan "tests/examples/DsStrictData.hs" 39 32 39 33
+                                ]
+                            }
+                          (InfixApp
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 32
+                               , srcInfoPoints = []
+                               }
+                             (App
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 16
+                                  , srcInfoPoints = []
+                                  }
+                                (Var
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14
+                                     , srcInfoPoints = []
+                                     }
+                                   (Qual
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14
+                                        , srcInfoPoints = []
+                                        }
+                                      (ModuleName
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14
+                                           , srcInfoPoints = []
+                                           }
+                                         "E")
+                                      (Ident
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 39 4 39 14
+                                           , srcInfoPoints = []
+                                           }
+                                         "evaluate")))
+                                (Var
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 39 15 39 16
+                                     , srcInfoPoints = []
+                                     }
+                                   (UnQual
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 39 15 39 16
+                                        , srcInfoPoints = []
+                                        }
+                                      (Ident
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 39 15 39 16
+                                           , srcInfoPoints = []
+                                           }
+                                         "f"))))
+                             (QVarOp
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 39 17 39 19
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 39 17 39 19
+                                     , srcInfoPoints = []
+                                     }
+                                   (Symbol
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 39 17 39 19
+                                        , srcInfoPoints = []
+                                        }
+                                      ">>")))
+                             (App
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 32
+                                  , srcInfoPoints = []
+                                  }
+                                (Var
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 26
+                                     , srcInfoPoints = []
+                                     }
+                                   (UnQual
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 26
+                                        , srcInfoPoints = []
+                                        }
+                                      (Ident
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 39 20 39 26
+                                           , srcInfoPoints = []
+                                           }
+                                         "return")))
+                                (Con
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/DsStrictData.hs" 39 27 39 32
+                                     , srcInfoPoints = []
+                                     }
+                                   (UnQual
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/DsStrictData.hs" 39 27 39 32
+                                        , srcInfoPoints = []
+                                        }
+                                      (Ident
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/DsStrictData.hs" 39 27 39 32
+                                           , srcInfoPoints = []
+                                           }
+                                         "False"))))))
+                       (QVarOp
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 45
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 35
+                                , SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44
+                                , SrcSpan "tests/examples/DsStrictData.hs" 39 44 39 45
+                                ]
+                            }
+                          (Qual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 45
+                               , srcInfoPoints =
+                                   [ SrcSpan "tests/examples/DsStrictData.hs" 39 34 39 35
+                                   , SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44
+                                   , SrcSpan "tests/examples/DsStrictData.hs" 39 44 39 45
+                                   ]
+                               }
+                             (ModuleName
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44
+                                  , srcInfoPoints = []
+                                  }
+                                "E")
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/DsStrictData.hs" 39 35 39 44
+                                  , srcInfoPoints = []
+                                  }
+                                "catches")))
+                       (List
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 40 5 48 6
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/DsStrictData.hs" 40 5 40 6
+                                , SrcSpan "tests/examples/DsStrictData.hs" 41 5 41 6
+                                , SrcSpan "tests/examples/DsStrictData.hs" 42 5 42 6
+                                , SrcSpan "tests/examples/DsStrictData.hs" 43 5 43 6
+                                , SrcSpan "tests/examples/DsStrictData.hs" 44 5 44 6
+                                , SrcSpan "tests/examples/DsStrictData.hs" 45 5 45 6
+                                , SrcSpan "tests/examples/DsStrictData.hs" 46 5 46 6
+                                , SrcSpan "tests/examples/DsStrictData.hs" 47 5 47 6
+                                , SrcSpan "tests/examples/DsStrictData.hs" 48 5 48 6
+                                ]
+                            }
+                          [ App
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 60
+                                , srcInfoPoints = []
+                                }
+                              (Con
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16
+                                   , srcInfoPoints = []
+                                   }
+                                 (Qual
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16
+                                      , srcInfoPoints = []
+                                      }
+                                    (ModuleName
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "E")
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 40 7 40 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "Handler")))
+                              (Paren
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 40 17 40 60
+                                   , srcInfoPoints =
+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 40 17 40 18
+                                       , SrcSpan "tests/examples/DsStrictData.hs" 40 59 40 60
+                                       ]
+                                   }
+                                 (Lambda
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 40 18 40 59
+                                      , srcInfoPoints =
+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 40 18 40 19
+                                          , SrcSpan "tests/examples/DsStrictData.hs" 40 45 40 47
+                                          ]
+                                      }
+                                    [ PParen
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/DsStrictData.hs" 40 19 40 42
+                                          , srcInfoPoints =
+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 40 19 40 20
+                                              , SrcSpan "tests/examples/DsStrictData.hs" 40 41 40 42
+                                              ]
+                                          }
+                                        (PatTypeSig
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan
+                                                   "tests/examples/DsStrictData.hs" 40 20 40 41
+                                             , srcInfoPoints =
+                                                 [ SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 40 22 40 24
+                                                 ]
+                                             }
+                                           (PWildCard
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 40 20 40 21
+                                                , srcInfoPoints = []
+                                                })
+                                           (TyCon
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 40 25 40 41
+                                                , srcInfoPoints = []
+                                                }
+                                              (Qual
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan
+                                                         "tests/examples/DsStrictData.hs"
+                                                         40
+                                                         25
+                                                         40
+                                                         41
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 (ModuleName
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            40
+                                                            25
+                                                            40
+                                                            41
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "E")
+                                                 (Ident
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            40
+                                                            25
+                                                            40
+                                                            41
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "ArrayException"))))
+                                    ]
+                                    (App
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 40 48 40 59
+                                         , srcInfoPoints = []
+                                         }
+                                       (Var
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 40 48 40 54
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 40 48 40 54
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 40 48 40 54
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "return")))
+                                       (Con
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 40 55 40 59
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 40 55 40 59
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 40 55 40 59
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "True"))))))
+                          , App
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 60
+                                , srcInfoPoints = []
+                                }
+                              (Con
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16
+                                   , srcInfoPoints = []
+                                   }
+                                 (Qual
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16
+                                      , srcInfoPoints = []
+                                      }
+                                    (ModuleName
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "E")
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 41 7 41 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "Handler")))
+                              (Paren
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 41 17 41 60
+                                   , srcInfoPoints =
+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 41 17 41 18
+                                       , SrcSpan "tests/examples/DsStrictData.hs" 41 59 41 60
+                                       ]
+                                   }
+                                 (Lambda
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 41 18 41 59
+                                      , srcInfoPoints =
+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 41 18 41 19
+                                          , SrcSpan "tests/examples/DsStrictData.hs" 41 45 41 47
+                                          ]
+                                      }
+                                    [ PParen
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/DsStrictData.hs" 41 19 41 37
+                                          , srcInfoPoints =
+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 41 19 41 20
+                                              , SrcSpan "tests/examples/DsStrictData.hs" 41 36 41 37
+                                              ]
+                                          }
+                                        (PatTypeSig
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan
+                                                   "tests/examples/DsStrictData.hs" 41 20 41 36
+                                             , srcInfoPoints =
+                                                 [ SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 41 22 41 24
+                                                 ]
+                                             }
+                                           (PWildCard
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 41 20 41 21
+                                                , srcInfoPoints = []
+                                                })
+                                           (TyCon
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 41 25 41 36
+                                                , srcInfoPoints = []
+                                                }
+                                              (Qual
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan
+                                                         "tests/examples/DsStrictData.hs"
+                                                         41
+                                                         25
+                                                         41
+                                                         36
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 (ModuleName
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            41
+                                                            25
+                                                            41
+                                                            36
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "E")
+                                                 (Ident
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            41
+                                                            25
+                                                            41
+                                                            36
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "ErrorCall"))))
+                                    ]
+                                    (App
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 41 48 41 59
+                                         , srcInfoPoints = []
+                                         }
+                                       (Var
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 41 48 41 54
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 41 48 41 54
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 41 48 41 54
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "return")))
+                                       (Con
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 41 55 41 59
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 41 55 41 59
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 41 55 41 59
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "True"))))))
+                          , App
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 60
+                                , srcInfoPoints = []
+                                }
+                              (Con
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16
+                                   , srcInfoPoints = []
+                                   }
+                                 (Qual
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16
+                                      , srcInfoPoints = []
+                                      }
+                                    (ModuleName
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "E")
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 42 7 42 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "Handler")))
+                              (Paren
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 42 17 42 60
+                                   , srcInfoPoints =
+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 42 17 42 18
+                                       , SrcSpan "tests/examples/DsStrictData.hs" 42 59 42 60
+                                       ]
+                                   }
+                                 (Lambda
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 42 18 42 59
+                                      , srcInfoPoints =
+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 42 18 42 19
+                                          , SrcSpan "tests/examples/DsStrictData.hs" 42 45 42 47
+                                          ]
+                                      }
+                                    [ PParen
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/DsStrictData.hs" 42 19 42 41
+                                          , srcInfoPoints =
+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 42 19 42 20
+                                              , SrcSpan "tests/examples/DsStrictData.hs" 42 40 42 41
+                                              ]
+                                          }
+                                        (PatTypeSig
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan
+                                                   "tests/examples/DsStrictData.hs" 42 20 42 40
+                                             , srcInfoPoints =
+                                                 [ SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 42 22 42 24
+                                                 ]
+                                             }
+                                           (PWildCard
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 42 20 42 21
+                                                , srcInfoPoints = []
+                                                })
+                                           (TyCon
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 42 25 42 40
+                                                , srcInfoPoints = []
+                                                }
+                                              (Qual
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan
+                                                         "tests/examples/DsStrictData.hs"
+                                                         42
+                                                         25
+                                                         42
+                                                         40
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 (ModuleName
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            42
+                                                            25
+                                                            42
+                                                            40
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "E")
+                                                 (Ident
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            42
+                                                            25
+                                                            42
+                                                            40
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "NoMethodError"))))
+                                    ]
+                                    (App
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 42 48 42 59
+                                         , srcInfoPoints = []
+                                         }
+                                       (Var
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 42 48 42 54
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 42 48 42 54
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 42 48 42 54
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "return")))
+                                       (Con
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 42 55 42 59
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 42 55 42 59
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 42 55 42 59
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "True"))))))
+                          , App
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 60
+                                , srcInfoPoints = []
+                                }
+                              (Con
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16
+                                   , srcInfoPoints = []
+                                   }
+                                 (Qual
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16
+                                      , srcInfoPoints = []
+                                      }
+                                    (ModuleName
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "E")
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 43 7 43 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "Handler")))
+                              (Paren
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 43 17 43 60
+                                   , srcInfoPoints =
+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 43 17 43 18
+                                       , SrcSpan "tests/examples/DsStrictData.hs" 43 59 43 60
+                                       ]
+                                   }
+                                 (Lambda
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 43 18 43 59
+                                      , srcInfoPoints =
+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 43 18 43 19
+                                          , SrcSpan "tests/examples/DsStrictData.hs" 43 45 43 47
+                                          ]
+                                      }
+                                    [ PParen
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/DsStrictData.hs" 43 19 43 42
+                                          , srcInfoPoints =
+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 43 19 43 20
+                                              , SrcSpan "tests/examples/DsStrictData.hs" 43 41 43 42
+                                              ]
+                                          }
+                                        (PatTypeSig
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan
+                                                   "tests/examples/DsStrictData.hs" 43 20 43 41
+                                             , srcInfoPoints =
+                                                 [ SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 43 22 43 24
+                                                 ]
+                                             }
+                                           (PWildCard
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 43 20 43 21
+                                                , srcInfoPoints = []
+                                                })
+                                           (TyCon
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 43 25 43 41
+                                                , srcInfoPoints = []
+                                                }
+                                              (Qual
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan
+                                                         "tests/examples/DsStrictData.hs"
+                                                         43
+                                                         25
+                                                         43
+                                                         41
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 (ModuleName
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            43
+                                                            25
+                                                            43
+                                                            41
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "E")
+                                                 (Ident
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            43
+                                                            25
+                                                            43
+                                                            41
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "NonTermination"))))
+                                    ]
+                                    (App
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 43 48 43 59
+                                         , srcInfoPoints = []
+                                         }
+                                       (Var
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 43 48 43 54
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 43 48 43 54
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 43 48 43 54
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "return")))
+                                       (Con
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 43 55 43 59
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 43 55 43 59
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 43 55 43 59
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "True"))))))
+                          , App
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 60
+                                , srcInfoPoints = []
+                                }
+                              (Con
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16
+                                   , srcInfoPoints = []
+                                   }
+                                 (Qual
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16
+                                      , srcInfoPoints = []
+                                      }
+                                    (ModuleName
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "E")
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 44 7 44 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "Handler")))
+                              (Paren
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 44 17 44 60
+                                   , srcInfoPoints =
+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 44 17 44 18
+                                       , SrcSpan "tests/examples/DsStrictData.hs" 44 59 44 60
+                                       ]
+                                   }
+                                 (Lambda
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 44 18 44 59
+                                      , srcInfoPoints =
+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 44 18 44 19
+                                          , SrcSpan "tests/examples/DsStrictData.hs" 44 45 44 47
+                                          ]
+                                      }
+                                    [ PParen
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/DsStrictData.hs" 44 19 44 44
+                                          , srcInfoPoints =
+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 44 19 44 20
+                                              , SrcSpan "tests/examples/DsStrictData.hs" 44 43 44 44
+                                              ]
+                                          }
+                                        (PatTypeSig
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan
+                                                   "tests/examples/DsStrictData.hs" 44 20 44 43
+                                             , srcInfoPoints =
+                                                 [ SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 44 22 44 24
+                                                 ]
+                                             }
+                                           (PWildCard
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 44 20 44 21
+                                                , srcInfoPoints = []
+                                                })
+                                           (TyCon
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 44 25 44 43
+                                                , srcInfoPoints = []
+                                                }
+                                              (Qual
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan
+                                                         "tests/examples/DsStrictData.hs"
+                                                         44
+                                                         25
+                                                         44
+                                                         43
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 (ModuleName
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            44
+                                                            25
+                                                            44
+                                                            43
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "E")
+                                                 (Ident
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            44
+                                                            25
+                                                            44
+                                                            43
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "PatternMatchFail"))))
+                                    ]
+                                    (App
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 44 48 44 59
+                                         , srcInfoPoints = []
+                                         }
+                                       (Var
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 44 48 44 54
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 44 48 44 54
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 44 48 44 54
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "return")))
+                                       (Con
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 44 55 44 59
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 44 55 44 59
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 44 55 44 59
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "True"))))))
+                          , App
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 60
+                                , srcInfoPoints = []
+                                }
+                              (Con
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16
+                                   , srcInfoPoints = []
+                                   }
+                                 (Qual
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16
+                                      , srcInfoPoints = []
+                                      }
+                                    (ModuleName
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "E")
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 45 7 45 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "Handler")))
+                              (Paren
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 45 17 45 60
+                                   , srcInfoPoints =
+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 45 17 45 18
+                                       , SrcSpan "tests/examples/DsStrictData.hs" 45 59 45 60
+                                       ]
+                                   }
+                                 (Lambda
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 45 18 45 59
+                                      , srcInfoPoints =
+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 45 18 45 19
+                                          , SrcSpan "tests/examples/DsStrictData.hs" 45 45 45 47
+                                          ]
+                                      }
+                                    [ PParen
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/DsStrictData.hs" 45 19 45 39
+                                          , srcInfoPoints =
+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 45 19 45 20
+                                              , SrcSpan "tests/examples/DsStrictData.hs" 45 38 45 39
+                                              ]
+                                          }
+                                        (PatTypeSig
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan
+                                                   "tests/examples/DsStrictData.hs" 45 20 45 38
+                                             , srcInfoPoints =
+                                                 [ SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 45 22 45 24
+                                                 ]
+                                             }
+                                           (PWildCard
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 45 20 45 21
+                                                , srcInfoPoints = []
+                                                })
+                                           (TyCon
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 45 25 45 38
+                                                , srcInfoPoints = []
+                                                }
+                                              (Qual
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan
+                                                         "tests/examples/DsStrictData.hs"
+                                                         45
+                                                         25
+                                                         45
+                                                         38
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 (ModuleName
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            45
+                                                            25
+                                                            45
+                                                            38
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "E")
+                                                 (Ident
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            45
+                                                            25
+                                                            45
+                                                            38
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "RecConError"))))
+                                    ]
+                                    (App
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 45 48 45 59
+                                         , srcInfoPoints = []
+                                         }
+                                       (Var
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 45 48 45 54
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 45 48 45 54
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 45 48 45 54
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "return")))
+                                       (Con
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 45 55 45 59
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 45 55 45 59
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 45 55 45 59
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "True"))))))
+                          , App
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 60
+                                , srcInfoPoints = []
+                                }
+                              (Con
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16
+                                   , srcInfoPoints = []
+                                   }
+                                 (Qual
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16
+                                      , srcInfoPoints = []
+                                      }
+                                    (ModuleName
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "E")
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 46 7 46 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "Handler")))
+                              (Paren
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 46 17 46 60
+                                   , srcInfoPoints =
+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 46 17 46 18
+                                       , SrcSpan "tests/examples/DsStrictData.hs" 46 59 46 60
+                                       ]
+                                   }
+                                 (Lambda
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 46 18 46 59
+                                      , srcInfoPoints =
+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 46 18 46 19
+                                          , SrcSpan "tests/examples/DsStrictData.hs" 46 45 46 47
+                                          ]
+                                      }
+                                    [ PParen
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/DsStrictData.hs" 46 19 46 39
+                                          , srcInfoPoints =
+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 46 19 46 20
+                                              , SrcSpan "tests/examples/DsStrictData.hs" 46 38 46 39
+                                              ]
+                                          }
+                                        (PatTypeSig
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan
+                                                   "tests/examples/DsStrictData.hs" 46 20 46 38
+                                             , srcInfoPoints =
+                                                 [ SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 46 22 46 24
+                                                 ]
+                                             }
+                                           (PWildCard
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 46 20 46 21
+                                                , srcInfoPoints = []
+                                                })
+                                           (TyCon
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 46 25 46 38
+                                                , srcInfoPoints = []
+                                                }
+                                              (Qual
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan
+                                                         "tests/examples/DsStrictData.hs"
+                                                         46
+                                                         25
+                                                         46
+                                                         38
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 (ModuleName
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            46
+                                                            25
+                                                            46
+                                                            38
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "E")
+                                                 (Ident
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            46
+                                                            25
+                                                            46
+                                                            38
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "RecSelError"))))
+                                    ]
+                                    (App
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 46 48 46 59
+                                         , srcInfoPoints = []
+                                         }
+                                       (Var
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 46 48 46 54
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 46 48 46 54
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 46 48 46 54
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "return")))
+                                       (Con
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 46 55 46 59
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 46 55 46 59
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 46 55 46 59
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "True"))))))
+                          , App
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 60
+                                , srcInfoPoints = []
+                                }
+                              (Con
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16
+                                   , srcInfoPoints = []
+                                   }
+                                 (Qual
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16
+                                      , srcInfoPoints = []
+                                      }
+                                    (ModuleName
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "E")
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 47 7 47 16
+                                         , srcInfoPoints = []
+                                         }
+                                       "Handler")))
+                              (Paren
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/DsStrictData.hs" 47 17 47 60
+                                   , srcInfoPoints =
+                                       [ SrcSpan "tests/examples/DsStrictData.hs" 47 17 47 18
+                                       , SrcSpan "tests/examples/DsStrictData.hs" 47 59 47 60
+                                       ]
+                                   }
+                                 (Lambda
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/DsStrictData.hs" 47 18 47 59
+                                      , srcInfoPoints =
+                                          [ SrcSpan "tests/examples/DsStrictData.hs" 47 18 47 19
+                                          , SrcSpan "tests/examples/DsStrictData.hs" 47 45 47 47
+                                          ]
+                                      }
+                                    [ PParen
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/DsStrictData.hs" 47 19 47 39
+                                          , srcInfoPoints =
+                                              [ SrcSpan "tests/examples/DsStrictData.hs" 47 19 47 20
+                                              , SrcSpan "tests/examples/DsStrictData.hs" 47 38 47 39
+                                              ]
+                                          }
+                                        (PatTypeSig
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan
+                                                   "tests/examples/DsStrictData.hs" 47 20 47 38
+                                             , srcInfoPoints =
+                                                 [ SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 47 22 47 24
+                                                 ]
+                                             }
+                                           (PWildCard
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 47 20 47 21
+                                                , srcInfoPoints = []
+                                                })
+                                           (TyCon
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/DsStrictData.hs" 47 25 47 38
+                                                , srcInfoPoints = []
+                                                }
+                                              (Qual
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan
+                                                         "tests/examples/DsStrictData.hs"
+                                                         47
+                                                         25
+                                                         47
+                                                         38
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 (ModuleName
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            47
+                                                            25
+                                                            47
+                                                            38
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "E")
+                                                 (Ident
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/DsStrictData.hs"
+                                                            47
+                                                            25
+                                                            47
+                                                            38
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "RecUpdError"))))
+                                    ]
+                                    (App
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/DsStrictData.hs" 47 48 47 59
+                                         , srcInfoPoints = []
+                                         }
+                                       (Var
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 47 48 47 54
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 47 48 47 54
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 47 48 47 54
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "return")))
+                                       (Con
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/DsStrictData.hs" 47 55 47 59
+                                            , srcInfoPoints = []
+                                            }
+                                          (UnQual
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan
+                                                     "tests/examples/DsStrictData.hs" 47 55 47 59
+                                               , srcInfoPoints = []
+                                               }
+                                             (Ident
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/DsStrictData.hs" 47 55 47 59
+                                                  , srcInfoPoints = []
+                                                  }
+                                                "True"))))))
+                          ]))))
+              Nothing
+          ]
+      ]
+  , [ Comment
+        False
+        (SrcSpan "tests/examples/DsStrictData.hs" 3 1 3 43)
+        " | Tests the StrictData LANGUAGE pragma."
+    , Comment
+        False
+        (SrcSpan "tests/examples/DsStrictData.hs" 29 43 29 58)
+        " sanity check"
+    , Comment
+        False
+        (SrcSpan "tests/examples/DsStrictData.hs" 31 1 31 73)
+        "----------------------------------------------------------------------"
+    , Comment
+        False
+        (SrcSpan "tests/examples/DsStrictData.hs" 32 1 32 34)
+        " Support for testing for bottom"
+    ]
+  )
diff --git a/tests/examples/DsStrictData.hs.prettyparser.golden b/tests/examples/DsStrictData.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/DsStrictData.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/DsStrictData.hs.prettyprinter.golden b/tests/examples/DsStrictData.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/DsStrictData.hs.prettyprinter.golden
@@ -0,0 +1,45 @@
+{-# LANGUAGE ScopedTypeVariables, StrictData, GADTs #-}
+module Main where
+import qualified Control.Exception as E
+import System.IO.Unsafe (unsafePerformIO)
+
+data Strict a = S a
+
+data Strict2 b = S2 !b
+
+data Strict3 c where
+        S3 :: c -> Strict3 c
+
+data UStrict = US {-# UNPACK #-} Int
+
+data Lazy d = L ~d
+
+data Lazy2 e where
+        L2 :: ~e -> Lazy2 e
+
+main :: IO ()
+main
+  = do print (isBottom (S bottom))
+       print (isBottom (S2 bottom))
+       print (isBottom (US bottom))
+       print (isBottom (S3 bottom))
+       putStrLn ""
+       print (not (isBottom (L bottom)))
+       print (not (isBottom (L2 bottom)))
+       print (not (isBottom (Just bottom)))
+
+bottom :: a
+bottom = error "_|_"
+
+isBottom :: a -> Bool
+isBottom f
+  = unsafePerformIO $
+      (E.evaluate f >> return False) `E.catches`
+        [E.Handler (\ (_ :: E.ArrayException) -> return True),
+         E.Handler (\ (_ :: E.ErrorCall) -> return True),
+         E.Handler (\ (_ :: E.NoMethodError) -> return True),
+         E.Handler (\ (_ :: E.NonTermination) -> return True),
+         E.Handler (\ (_ :: E.PatternMatchFail) -> return True),
+         E.Handler (\ (_ :: E.RecConError) -> return True),
+         E.Handler (\ (_ :: E.RecSelError) -> return True),
+         E.Handler (\ (_ :: E.RecUpdError) -> return True)]
diff --git a/tests/examples/EmptyAnn.hs.prettyprinter.golden b/tests/examples/EmptyAnn.hs.prettyprinter.golden
--- a/tests/examples/EmptyAnn.hs.prettyprinter.golden
+++ b/tests/examples/EmptyAnn.hs.prettyprinter.golden
@@ -1,2 +1,1 @@
 {-# ANN foo "Hlint: ignore Test4" #-}
-module Main (main) where
diff --git a/tests/examples/EmptyContext.hs.prettyparser.golden b/tests/examples/EmptyContext.hs.prettyparser.golden
--- a/tests/examples/EmptyContext.hs.prettyparser.golden
+++ b/tests/examples/EmptyContext.hs.prettyparser.golden
@@ -1,10 +1,1 @@
-Roundtrip test failed
-
-AST 1:
-
-Module (SrcLoc "" -1 -1) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [TypeSig (SrcLoc "" -1 -1) [Ident "happyThen"] (TyForall Nothing [] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a"))))]
-
-AST 2:
-
-Module (SrcLoc "" -1 -1) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [TypeSig (SrcLoc "" -1 -1) [Ident "happyThen"] (TyApp (TyCon (UnQual (Ident "P"))) (TyVar (Ident "a")))]
-
+Match
diff --git a/tests/examples/EmptyContext.hs.prettyprinter.golden b/tests/examples/EmptyContext.hs.prettyprinter.golden
--- a/tests/examples/EmptyContext.hs.prettyprinter.golden
+++ b/tests/examples/EmptyContext.hs.prettyprinter.golden
@@ -1,3 +1,1 @@
-module Main (main) where
-
-happyThen :: P a
+happyThen :: () => P a
diff --git a/tests/examples/EmptyInstance.hs.prettyprinter.golden b/tests/examples/EmptyInstance.hs.prettyprinter.golden
--- a/tests/examples/EmptyInstance.hs.prettyprinter.golden
+++ b/tests/examples/EmptyInstance.hs.prettyprinter.golden
@@ -1,6 +1,4 @@
-module Main (main) where
-
-instance Traversable Tree
+instance Traversable Tree where
 
 x :: Int
 x = 1
diff --git a/tests/examples/EmptyWhere.hs.prettyprinter.golden b/tests/examples/EmptyWhere.hs.prettyprinter.golden
--- a/tests/examples/EmptyWhere.hs.prettyprinter.golden
+++ b/tests/examples/EmptyWhere.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
-module Main (main) where
 foo = 5
   where
diff --git a/tests/examples/EqualityConstraints1.hs.parser.golden b/tests/examples/EqualityConstraints1.hs.parser.golden
--- a/tests/examples/EqualityConstraints1.hs.parser.golden
+++ b/tests/examples/EqualityConstraints1.hs.parser.golden
@@ -59,7 +59,7 @@
                 (CxSingle
                    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 16 4 18 ]
                      }
diff --git a/tests/examples/EqualityConstraints1.hs.prettyprinter.golden b/tests/examples/EqualityConstraints1.hs.prettyprinter.golden
--- a/tests/examples/EqualityConstraints1.hs.prettyprinter.golden
+++ b/tests/examples/EqualityConstraints1.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE GADTs #-}
-module Main (main) where
 
 one :: a ~ Int => a
 one = 1
diff --git a/tests/examples/ExplicitNamespaces1.hs.prettyprinter.golden b/tests/examples/ExplicitNamespaces1.hs.prettyprinter.golden
--- a/tests/examples/ExplicitNamespaces1.hs.prettyprinter.golden
+++ b/tests/examples/ExplicitNamespaces1.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE ExplicitNamespaces #-}
-module Main (main) where
 import Data.Array.Repa (type (++))
 import Data.Array.Repa (type (++))
 import Data.Array.Repa (type (++))
diff --git a/tests/examples/ExprHole.hs.prettyprinter.golden b/tests/examples/ExprHole.hs.prettyprinter.golden
--- a/tests/examples/ExprHole.hs.prettyprinter.golden
+++ b/tests/examples/ExprHole.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
-module Main (main) where
 foo = _
 foo = _ x
 foo = _
diff --git a/tests/examples/ExtraPrettyParentheses.hs.prettyparser.golden b/tests/examples/ExtraPrettyParentheses.hs.prettyparser.golden
--- a/tests/examples/ExtraPrettyParentheses.hs.prettyparser.golden
+++ b/tests/examples/ExtraPrettyParentheses.hs.prettyparser.golden
@@ -2,9 +2,9 @@
 
 AST 1:
 
-Module (SrcLoc "" -1 -1) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Q") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "Q") [TyVar (Ident "a"),TyVar (Ident "a")])] [],FunBind [Match (SrcLoc "" -1 -1) (Symbol "*") [PVar (Ident "x"),PLit Negative (Int 1)] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "negate"))) (Var (UnQual (Ident "x"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Symbol "<>") [PApp (UnQual (Ident "Just")) [PVar (Ident "x")],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "x"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "f") [PParen (PInfixApp (PLit Negative (Int 1)) (UnQual (Ident "Q")) PWildCard)] Nothing (UnGuardedRhs (Con (Special UnitCon))) Nothing]]
+Module () Nothing [] [] [DataDecl () (DataType ()) Nothing (DHApp () (DHead () (Ident () "Q")) (UnkindedVar () (Ident () "a"))) [QualConDecl () Nothing Nothing (ConDecl () (Ident () "Q") [TyVar () (Ident () "a"),TyVar () (Ident () "a")])] Nothing,FunBind () [InfixMatch () (PVar () (Ident () "x")) (Symbol () "*") [PLit () (Negative ()) (Int () 1 "1")] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "negate"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [InfixMatch () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "x")]) (Symbol () "<>") [PApp () (UnQual () (Ident () "Nothing")) []] (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [Match () (Ident () "f") [PParen () (PInfixApp () (PLit () (Negative ()) (Int () 1 "1")) (UnQual () (Ident () "Q")) (PWildCard ()))] (UnGuardedRhs () (Con () (Special () (UnitCon ())))) Nothing]]
 
 AST 2:
 
-Module (SrcLoc "" -1 -1) (ModuleName "Main") [] Nothing (Just [EVar (UnQual (Ident "main"))]) [] [DataDecl (SrcLoc "" -1 -1) DataType [] (Ident "Q") [UnkindedVar (Ident "a")] [QualConDecl (SrcLoc "" -1 -1) [] [] (ConDecl (Ident "Q") [TyVar (Ident "a"),TyVar (Ident "a")])] [],FunBind [Match (SrcLoc "" -1 -1) (Symbol "*") [PVar (Ident "x"),PParen (PLit Negative (Int 1))] Nothing (UnGuardedRhs (App (Var (UnQual (Ident "negate"))) (Var (UnQual (Ident "x"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Symbol "<>") [PApp (UnQual (Ident "Just")) [PVar (Ident "x")],PApp (UnQual (Ident "Nothing")) []] Nothing (UnGuardedRhs (App (Con (UnQual (Ident "Just"))) (Var (UnQual (Ident "x"))))) Nothing],FunBind [Match (SrcLoc "" -1 -1) (Ident "f") [PParen (PInfixApp (PLit Negative (Int 1)) (UnQual (Ident "Q")) PWildCard)] Nothing (UnGuardedRhs (Con (Special UnitCon))) Nothing]]
+Module () Nothing [] [] [DataDecl () (DataType ()) Nothing (DHApp () (DHead () (Ident () "Q")) (UnkindedVar () (Ident () "a"))) [QualConDecl () Nothing Nothing (ConDecl () (Ident () "Q") [TyVar () (Ident () "a"),TyVar () (Ident () "a")])] Nothing,FunBind () [InfixMatch () (PVar () (Ident () "x")) (Symbol () "*") [PParen () (PLit () (Negative ()) (Int () 1 "1"))] (UnGuardedRhs () (App () (Var () (UnQual () (Ident () "negate"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [InfixMatch () (PApp () (UnQual () (Ident () "Just")) [PVar () (Ident () "x")]) (Symbol () "<>") [PApp () (UnQual () (Ident () "Nothing")) []] (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "Just"))) (Var () (UnQual () (Ident () "x"))))) Nothing],FunBind () [Match () (Ident () "f") [PParen () (PInfixApp () (PLit () (Negative ()) (Int () 1 "1")) (UnQual () (Ident () "Q")) (PWildCard ()))] (UnGuardedRhs () (Con () (Special () (UnitCon ())))) Nothing]]
 
diff --git a/tests/examples/ExtraPrettyParentheses.hs.prettyprinter.golden b/tests/examples/ExtraPrettyParentheses.hs.prettyprinter.golden
--- a/tests/examples/ExtraPrettyParentheses.hs.prettyprinter.golden
+++ b/tests/examples/ExtraPrettyParentheses.hs.prettyprinter.golden
@@ -1,5 +1,3 @@
-module Main (main) where
-
 data Q a = Q a a
 x * (-1) = negate x
 Just x <> Nothing = Just x
diff --git a/tests/examples/FFIExtensions.hs.prettyprinter.golden b/tests/examples/FFIExtensions.hs.prettyprinter.golden
--- a/tests/examples/FFIExtensions.hs.prettyprinter.golden
+++ b/tests/examples/FFIExtensions.hs.prettyprinter.golden
@@ -5,4 +5,4 @@
 foreign import ccall interruptible "sleep" sleep ::
                CUint -> IO CUint
 
-foreign import capi safe "header.h f" f :: CInt -> IO CInt
+foreign import capi "header.h f" f :: CInt -> IO CInt
diff --git a/tests/examples/FFIInterruptible.hs.prettyprinter.golden b/tests/examples/FFIInterruptible.hs.prettyprinter.golden
--- a/tests/examples/FFIInterruptible.hs.prettyprinter.golden
+++ b/tests/examples/FFIInterruptible.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE InterruptibleFFI #-}
-module Main (main) where
 foo = interruptible
diff --git a/tests/examples/FamilyKindSig.hs.parser.golden b/tests/examples/FamilyKindSig.hs.parser.golden
--- a/tests/examples/FamilyKindSig.hs.parser.golden
+++ b/tests/examples/FamilyKindSig.hs.parser.golden
@@ -101,6 +101,7 @@
                         , srcInfoPoints = []
                         }))))
           Nothing
+          Nothing
       ]
   , []
   )
diff --git a/tests/examples/Fixity2.hs.prettyprinter.golden b/tests/examples/Fixity2.hs.prettyprinter.golden
--- a/tests/examples/Fixity2.hs.prettyprinter.golden
+++ b/tests/examples/Fixity2.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
-module Main (main) where
 foo = pure 1 <^> pure 2 <^> pure (+)
   where (<^>) = flip (<*>)
         
diff --git a/tests/examples/Fixity3.hs.prettyprinter.golden b/tests/examples/Fixity3.hs.prettyprinter.golden
--- a/tests/examples/Fixity3.hs.prettyprinter.golden
+++ b/tests/examples/Fixity3.hs.prettyprinter.golden
@@ -1,5 +1,3 @@
-module Main (main) where
-
 class Foo f where
         (<^>) :: Applicative f => f a -> f (a -> b) -> f b
         
diff --git a/tests/examples/FixityTests.hs.prettyprinter.golden b/tests/examples/FixityTests.hs.prettyprinter.golden
--- a/tests/examples/FixityTests.hs.prettyprinter.golden
+++ b/tests/examples/FixityTests.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
-module Main (main) where
 main
   = forM_ cmdReports $
       \ x ->
diff --git a/tests/examples/FlexibleContextsWithoutVars.hs b/tests/examples/FlexibleContextsWithoutVars.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/FlexibleContextsWithoutVars.hs
@@ -0,0 +1,3 @@
+{-# LANGUAGE FlexibleContexts #-}
+f :: Log.Stack => a -> a
+f = id
diff --git a/tests/examples/FlexibleContextsWithoutVars.hs.exactprinter.golden b/tests/examples/FlexibleContextsWithoutVars.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/FlexibleContextsWithoutVars.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/FlexibleContextsWithoutVars.hs.parser.golden b/tests/examples/FlexibleContextsWithoutVars.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/FlexibleContextsWithoutVars.hs.parser.golden
@@ -0,0 +1,178 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan =
+            SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 4 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 1 1
+            , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 1
+            , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 1
+            , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 1
+            , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 1
+            , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 4 1 4 1
+            , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 4 1 4 1
+            ]
+        }
+      Nothing
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 1 34
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 1 1 13
+                , SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 31 1 34
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 1 14 1 30
+                , srcInfoPoints = []
+                }
+              "FlexibleContexts"
+          ]
+      ]
+      []
+      [ TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 25
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 3 2 5 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 1 2 2
+                , srcInfoPoints = []
+                }
+              "f"
+          ]
+          (TyForall
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 25
+               , srcInfoPoints = []
+               }
+             Nothing
+             (Just
+                (CxSingle
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18
+                         ]
+                     }
+                   (ClassA
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 18
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 16 2 18
+                            ]
+                        }
+                      (Qual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 6 2 15
+                           , srcInfoPoints = []
+                           }
+                         (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 =
+                      SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 19 2 25
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 21 2 23
+                      ]
+                  }
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 19 2 20
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 19 2 20
+                        , srcInfoPoints = []
+                        }
+                      "a"))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 24 2 25
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 2 24 2 25
+                        , srcInfoPoints = []
+                        }
+                      "a"))))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 7
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 2
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 1 3 2
+                  , srcInfoPoints = []
+                  }
+                "f"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 3 3 7
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 3 3 4 ]
+               }
+             (Var
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 5 3 7
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 5 3 7
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/FlexibleContextsWithoutVars.hs" 3 5 3 7
+                        , srcInfoPoints = []
+                        }
+                      "id"))))
+          Nothing
+      ]
+  , []
+  )
diff --git a/tests/examples/FlexibleContextsWithoutVars.hs.prettyparser.golden b/tests/examples/FlexibleContextsWithoutVars.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/FlexibleContextsWithoutVars.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/FlexibleContextsWithoutVars.hs.prettyprinter.golden b/tests/examples/FlexibleContextsWithoutVars.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/FlexibleContextsWithoutVars.hs.prettyprinter.golden
@@ -0,0 +1,4 @@
+{-# LANGUAGE FlexibleContexts #-}
+
+f :: Log.Stack => a -> a
+f = id
diff --git a/tests/examples/ForallInInstance.hs.prettyprinter.golden b/tests/examples/ForallInInstance.hs.prettyprinter.golden
--- a/tests/examples/ForallInInstance.hs.prettyprinter.golden
+++ b/tests/examples/ForallInInstance.hs.prettyprinter.golden
@@ -1,4 +1,4 @@
 {-# LANGUAGE ScopedTypeVariables #-}
 module ForallInInstance where
 
-instance forall a . MyClass a => MyClass [a]
+instance forall a . MyClass a => MyClass [a] where
diff --git a/tests/examples/ForeignImport.hs.prettyprinter.golden b/tests/examples/ForeignImport.hs.prettyprinter.golden
--- a/tests/examples/ForeignImport.hs.prettyprinter.golden
+++ b/tests/examples/ForeignImport.hs.prettyprinter.golden
@@ -1,4 +1,2 @@
-module Main (main) where
-
 foreign import ccall unsafe "getProgArgv" getProgArgv ::
                Ptr CInt -> Ptr (Ptr CString) -> IO ()
diff --git a/tests/examples/ForeignImportJavascript.hs.prettyprinter.golden b/tests/examples/ForeignImportJavascript.hs.prettyprinter.golden
--- a/tests/examples/ForeignImportJavascript.hs.prettyprinter.golden
+++ b/tests/examples/ForeignImportJavascript.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE JavascriptFFI #-}
-module Main (main) where
 
 foreign import javascript unsafe "somethingUseful_ = $1"
                js_set_somethingUseful :: JSFun a -> IO ()
diff --git a/tests/examples/GADTRecord.hs.prettyprinter.golden b/tests/examples/GADTRecord.hs.prettyprinter.golden
--- a/tests/examples/GADTRecord.hs.prettyprinter.golden
+++ b/tests/examples/GADTRecord.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE GADTs #-}
-module Main (main) where
 
 data T where
         T :: {field :: Int} -> T
diff --git a/tests/examples/GadtDeriving.hs.prettyprinter.golden b/tests/examples/GadtDeriving.hs.prettyprinter.golden
--- a/tests/examples/GadtDeriving.hs.prettyprinter.golden
+++ b/tests/examples/GadtDeriving.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE GADTs #-}
-module Main (main) where
 
 data Foo where
         Foo :: Int -> Foo
diff --git a/tests/examples/GadtRecordFields.hs.prettyprinter.golden b/tests/examples/GadtRecordFields.hs.prettyprinter.golden
--- a/tests/examples/GadtRecordFields.hs.prettyprinter.golden
+++ b/tests/examples/GadtRecordFields.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE GADTs #-}
-module Main (main) where
 
 data Ty where
         TCon :: {field1 :: Int, field2 :: Bool} -> Ty
diff --git a/tests/examples/GadtStrictness.hs.parser.golden b/tests/examples/GadtStrictness.hs.parser.golden
--- a/tests/examples/GadtStrictness.hs.parser.golden
+++ b/tests/examples/GadtStrictness.hs.parser.golden
@@ -84,8 +84,12 @@
                     (BangedTy
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/GadtStrictness.hs" 4 8 4 9
-                         , srcInfoPoints =
-                             [ SrcSpan "tests/examples/GadtStrictness.hs" 4 8 4 9 ]
+                         , srcInfoPoints = []
+                         })
+                    (NoUnpackPragma
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)
+                         , srcInfoPoints = []
                          })
                     (TyCon
                        SrcSpanInfo
diff --git a/tests/examples/GadtStrictness.hs.prettyprinter.golden b/tests/examples/GadtStrictness.hs.prettyprinter.golden
--- a/tests/examples/GadtStrictness.hs.prettyprinter.golden
+++ b/tests/examples/GadtStrictness.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE GADTs #-}
-module Main (main) where
 
 data X where
         X :: !Int -> X
diff --git a/tests/examples/GhcDeriving.hs.prettyprinter.golden b/tests/examples/GhcDeriving.hs.prettyprinter.golden
--- a/tests/examples/GhcDeriving.hs.prettyprinter.golden
+++ b/tests/examples/GhcDeriving.hs.prettyprinter.golden
@@ -1,4 +1,2 @@
-module Main (main) where
-
 newtype CodeGenModule a = CGM (StateT CGMState IO a)
                         deriving (Monad, MonadState [s], MonadIO)
diff --git a/tests/examples/HaskellParser.hs.prettyprinter.golden b/tests/examples/HaskellParser.hs.prettyprinter.golden
--- a/tests/examples/HaskellParser.hs.prettyprinter.golden
+++ b/tests/examples/HaskellParser.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
-module Main (main) where
 import qualified Language.Haskell.Exts.Annotated as Parser
 import qualified Language.Haskell.Exts.Annotated.Syntax as Syn
 import qualified Language.Haskell.Exts.Extension as Ext
diff --git a/tests/examples/IllDataTypeDecl.hs.prettyprinter.golden b/tests/examples/IllDataTypeDecl.hs.prettyprinter.golden
--- a/tests/examples/IllDataTypeDecl.hs.prettyprinter.golden
+++ b/tests/examples/IllDataTypeDecl.hs.prettyprinter.golden
@@ -1,4 +1,4 @@
 {-# LANGUAGE TypeOperators #-}
 module IllDataTypeDecl where
 
-data (:+:) f g p = L
+data (f :+: g) p = L
diff --git a/tests/examples/ImplicitWhereBlocks.hs.prettyprinter.golden b/tests/examples/ImplicitWhereBlocks.hs.prettyprinter.golden
--- a/tests/examples/ImplicitWhereBlocks.hs.prettyprinter.golden
+++ b/tests/examples/ImplicitWhereBlocks.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
-module Main (main) where
 foo = x
   where x = 1
         z = 19
diff --git a/tests/examples/IndentedWhere.hs.prettyprinter.golden b/tests/examples/IndentedWhere.hs.prettyprinter.golden
--- a/tests/examples/IndentedWhere.hs.prettyprinter.golden
+++ b/tests/examples/IndentedWhere.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
-module Main (main) where
 f x = g
   where g :: Int
         g = 0
diff --git a/tests/examples/InfixApp.hs.prettyprinter.golden b/tests/examples/InfixApp.hs.prettyprinter.golden
--- a/tests/examples/InfixApp.hs.prettyprinter.golden
+++ b/tests/examples/InfixApp.hs.prettyprinter.golden
@@ -1,2 +1,1 @@
-module Main (main) where
 f = -w / 2
diff --git a/tests/examples/InfixBang.hs b/tests/examples/InfixBang.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/InfixBang.hs
@@ -0,0 +1,3 @@
+{-# LANGUAGE BangPatterns #-}
+
+(!) arr i = arr i
diff --git a/tests/examples/InfixBang.hs.exactprinter.golden b/tests/examples/InfixBang.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/InfixBang.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/InfixBang.hs.parser.golden b/tests/examples/InfixBang.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/InfixBang.hs.parser.golden
@@ -0,0 +1,122 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 1 1 4 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/InfixBang.hs" 1 1 1 1
+            , SrcSpan "tests/examples/InfixBang.hs" 3 1 3 1
+            , SrcSpan "tests/examples/InfixBang.hs" 3 1 3 1
+            , SrcSpan "tests/examples/InfixBang.hs" 3 1 3 1
+            , SrcSpan "tests/examples/InfixBang.hs" 4 1 4 1
+            , SrcSpan "tests/examples/InfixBang.hs" 4 1 4 1
+            ]
+        }
+      Nothing
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 1 1 1 30
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InfixBang.hs" 1 1 1 13
+                , SrcSpan "tests/examples/InfixBang.hs" 1 27 1 30
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 1 14 1 26
+                , srcInfoPoints = []
+                }
+              "BangPatterns"
+          ]
+      ]
+      []
+      [ FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 1 3 18
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 1 3 18
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InfixBang.hs" 3 1 3 2
+                    , SrcSpan "tests/examples/InfixBang.hs" 3 2 3 3
+                    , SrcSpan "tests/examples/InfixBang.hs" 3 3 3 4
+                    ]
+                }
+              (Symbol
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 2 3 3
+                   , srcInfoPoints = []
+                   }
+                 "!")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 5 3 8
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 5 3 8
+                       , srcInfoPoints = []
+                       }
+                     "arr")
+              , PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 9 3 10
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 9 3 10
+                       , srcInfoPoints = []
+                       }
+                     "i")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 11 3 18
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InfixBang.hs" 3 11 3 12 ]
+                   }
+                 (App
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 18
+                      , srcInfoPoints = []
+                      }
+                    (Var
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 16
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 16
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 13 3 16
+                               , srcInfoPoints = []
+                               }
+                             "arr")))
+                    (Var
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 17 3 18
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 17 3 18
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/InfixBang.hs" 3 17 3 18
+                               , srcInfoPoints = []
+                               }
+                             "i")))))
+              Nothing
+          ]
+      ]
+  , []
+  )
diff --git a/tests/examples/InfixBang.hs.prettyparser.golden b/tests/examples/InfixBang.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/InfixBang.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/InfixBang.hs.prettyprinter.golden b/tests/examples/InfixBang.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/InfixBang.hs.prettyprinter.golden
@@ -0,0 +1,2 @@
+{-# LANGUAGE BangPatterns #-}
+(!) arr i = arr i
diff --git a/tests/examples/InfixFunBind.hs.prettyprinter.golden b/tests/examples/InfixFunBind.hs.prettyprinter.golden
--- a/tests/examples/InfixFunBind.hs.prettyprinter.golden
+++ b/tests/examples/InfixFunBind.hs.prettyprinter.golden
@@ -1,2 +1,1 @@
-module Main (main) where
-first left _ = left
+left `first` _ = left
diff --git a/tests/examples/InjectiveTypeFamilies.hs b/tests/examples/InjectiveTypeFamilies.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/InjectiveTypeFamilies.hs
@@ -0,0 +1,255 @@
+{-# LANGUAGE DataKinds                 #-}
+{-# LANGUAGE MultiParamTypeClasses     #-}
+{-# LANGUAGE PolyKinds                 #-}
+{-# LANGUAGE TypeFamilyDependencies     #-}
+{-# LANGUAGE TypeFamilies     #-}
+{-# LANGUAGE UndecidableInstances      #-}
+{-# LANGUAGE ScopedTypeVariables       #-}
+{-# LANGUAGE NoMonomorphismRestriction #-}
+
+module T6018 where
+
+import T6018a -- defines G, identical to F
+
+type family F a b c = (result :: k) | result -> a b c
+type instance F Int  Char Bool = Bool
+type instance F Char Bool Int  = Int
+type instance F Bool Int  Char = Char
+
+
+type instance G Bool Int  Char = Char
+
+type family I (a :: k) b (c :: k) = r | r -> a b
+type instance I Int  Char Bool = Bool
+type instance I Int  Char Int  = Bool
+type instance I Bool Int  Int  = Int
+
+-- this is injective - a type variable introduced in the LHS is not mentioned on
+-- RHS but we don't claim injectivity in that argument.
+type family J a (b :: k) = r | r -> a
+type instance J Int b = Char
+
+type MaybeSyn a = Maybe a
+newtype MaybeNew a = MaybeNew (Maybe a)
+
+-- make sure we look through type synonyms...
+type family K a = r | r -> a
+type instance K a = MaybeSyn a
+
+-- .. but not newtypes
+type family M a = r | r -> a
+type instance M (Maybe a)    = MaybeSyn a
+type instance M (MaybeNew a) = MaybeNew a
+
+-- Closed type families
+
+-- these are simple conversions from open type families. They should behave the
+-- same
+type family FClosed a b c = result | result -> a b c where
+    FClosed Int  Char Bool = Bool
+    FClosed Char Bool Int  = Int
+    FClosed Bool Int  Char = Char
+
+type family IClosed (a :: *) (b :: *) (c :: *) = r | r -> a b where
+    IClosed Int  Char Bool = Bool
+    IClosed Int  Char Int  = Bool
+    IClosed Bool Int  Int  = Int
+
+type family JClosed a (b :: k) = r | r -> a where
+    JClosed Int b = Char
+
+type family KClosed a = r | r -> a where
+    KClosed a = MaybeSyn a
+
+-- Here the last equation might return both Int and Char but we have to
+-- recognize that it is not possible due to equation overlap
+type family Bak a = r | r -> a where
+     Bak Int  = Char
+     Bak Char = Int
+     Bak a    = a
+
+-- This is similar, except that the last equation contains concrete type.  Since
+-- it is overlapped it should be dropped with a warning
+type family Foo a = r | r -> a where
+    Foo Int  = Bool
+    Foo Bool = Int
+    Foo Bool = Bool
+
+-- this one was tricky in the early implementation of injectivity.  Now it is
+-- identical to the above but we still keep it as a regression test.
+type family Bar a = r | r -> a where
+    Bar Int  = Bool
+    Bar Bool = Int
+    Bar Bool = Char
+
+-- Now let's use declared type families. All the below definitions should work
+
+-- No ambiguity for any of the arguments - all are injective
+f :: F a b c -> F a b c
+f x = x
+
+-- From 1st instance of F: a ~ Int, b ~ Char, c ~ Bool
+fapp :: Bool
+fapp = f True
+
+-- now the closed variant of F
+fc :: FClosed a b c -> FClosed a b c
+fc x = x
+
+fcapp :: Bool
+fcapp = fc True
+
+-- The last argument is not injective so it must be instantiated
+i :: I a b Int -> I a b Int
+i x = x
+
+-- From 1st instance of I: a ~ Int, b ~ Char
+iapp :: Bool
+iapp = i True
+
+-- again, closed variant of I
+ic :: IClosed a b Int -> IClosed a b Int
+ic x = x
+
+icapp :: Bool
+icapp = ic True
+
+-- Now we have to test weird closed type families:
+bak :: Bak a -> Bak a
+bak x = x
+
+bakapp1 :: Char
+bakapp1 = bak 'c'
+
+bakapp2 :: Double
+bakapp2 = bak 1.0
+
+bakapp3 :: ()
+bakapp3 = bak ()
+
+foo :: Foo a -> Foo a
+foo x = x
+
+fooapp1 :: Bool
+fooapp1 = foo True
+
+bar :: Bar a -> Bar a
+bar x = x
+
+barapp1 :: Bool
+barapp1 = bar True
+
+barapp2 :: Int
+barapp2 = bar 1
+
+-- Declarations below test more liberal RHSs of injectivity annotations:
+-- permiting variables to appear in different order than the one in which they
+-- were declared.
+type family H a b = r | r -> b a
+type family Hc a b = r | r -> b a where
+  Hc a b = a b
+class Hcl a b where
+  type Ht a b = r | r -> b a
+
+-- repeated tyvars in the RHS of injectivity annotation: no warnings or errors
+-- (consistent with behaviour for functional dependencies)
+type family Jx a b = r | r -> a a
+type family Jcx a b = r | r -> a a where
+  Jcx a b = a b
+class Jcl a b where
+  type Jt a b = r | r -> a a
+
+type family Kx a b = r | r -> a b b
+type family Kcx a b = r | r -> a b b where
+  Kcx a b = a b
+class Kcl a b where
+  type Kt a b = r | r -> a b b
+
+-- Declaring kind injectivity. Here we only claim that knowing the RHS
+-- determines the LHS kind but not the type.
+type family L (a :: k1) = (r :: k2) | r -> k1 where
+    L 'True  = Int
+    L 'False = Int
+    L Maybe  = 3
+    L IO     = 3
+
+data KProxy (a :: *) = KProxy
+type family KP (kproxy :: KProxy k) = r | r -> k
+type instance KP ('KProxy :: KProxy Bool) = Int
+type instance KP ('KProxy :: KProxy *)    = Char
+
+kproxy_id :: KP ('KProxy :: KProxy k) -> KP ('KProxy :: KProxy k)
+kproxy_id x = x
+
+kproxy_id_use = kproxy_id 'a'
+
+-- Now test some awkward cases from The Injectivity Paper.  All should be
+-- accepted.
+type family Gx a
+type family Hx a
+type family Gi a = r | r -> a
+type instance Gi Int = Char
+type family Hi a = r | r -> a
+
+type family F2 a = r | r -> a
+type instance F2 [a]       = [Gi a]
+type instance F2 (Maybe a) = Hi a -> Int
+
+type family F4 a = r | r -> a
+type instance F4 [a]       = (Gx a, a,   a,    a)
+type instance F4 (Maybe a) = (Hx a, a, Int, Bool)
+
+type family G2 a b = r | r -> a b
+type instance G2 a    Bool = (a, a)
+type instance G2 Bool b    = (b, Bool)
+
+type family G6 a = r | r -> a
+type instance G6 [a]  = [Gi a]
+type instance G6 Bool = Int
+
+g6_id :: G6 a -> G6 a
+g6_id x = x
+
+g6_use :: [Char]
+g6_use = g6_id "foo"
+
+-- A sole exception to "bare variables in the RHS" rule
+type family Id (a :: k) = (result :: k) | result -> a
+type instance Id a = a
+
+-- This makes sure that over-saturated type family applications at the top-level
+-- are accepted.
+type family IdProxy (a :: k) b = r | r -> a
+type instance IdProxy a b = (Id a) b
+
+-- make sure we look through type synonyms properly
+type IdSyn a = Id a
+type family IdProxySyn (a :: k) b = r | r -> a
+type instance IdProxySyn a b = (IdSyn a) b
+
+-- this has bare variable in the RHS but all LHS varaiables are also bare so it
+-- should be accepted
+type family Fa (a :: k) (b :: k) = (r :: k2) | r -> k
+type instance Fa a b = a
+
+-- Taken from #9587. This exposed a bug in the solver.
+type family Arr (repr :: * -> *) (a :: *) (b :: *) = (r :: *) | r -> repr a b
+
+class ESymantics repr where
+    int :: Int  -> repr Int
+    add :: repr Int  -> repr Int -> repr Int
+
+    lam :: (repr a -> repr b) -> repr (Arr repr a b)
+    app :: repr (Arr repr a b) -> repr a -> repr b
+
+te4 = let c3 = lam (\f -> lam (\x -> f `app` (f `app` (f `app` x))))
+      in (c3 `app` (lam (\x -> x `add` int 14))) `app` (int 0)
+
+-- This used to fail during development
+class Manifold' a where
+    type Base  a = r | r -> a
+    project :: a -> Base a
+    unproject :: Base a -> a
+
+id' :: forall a. ( Manifold' a ) => Base a -> Base a
+id' = project . unproject
diff --git a/tests/examples/InjectiveTypeFamilies.hs.exactprinter.golden b/tests/examples/InjectiveTypeFamilies.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/InjectiveTypeFamilies.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/InjectiveTypeFamilies.hs.parser.golden b/tests/examples/InjectiveTypeFamilies.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/InjectiveTypeFamilies.hs.parser.golden
@@ -0,0 +1,15937 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan =
+            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 256 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 151 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 159 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 165 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 238 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 249 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 256 1 256 1
+            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 256 1 256 1
+            ]
+        }
+      (Just
+         (ModuleHead
+            SrcSpanInfo
+              { srcInfoSpan =
+                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 19
+              , srcInfoPoints =
+                  [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 7
+                  , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 14 10 19
+                  ]
+              }
+            (ModuleName
+               SrcSpanInfo
+                 { srcInfoSpan =
+                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 8 10 13
+                 , srcInfoPoints = []
+                 }
+               "T6018")
+            Nothing
+            Nothing))
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 43
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 13
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 40 1 43
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 14 1 23
+                , srcInfoPoints = []
+                }
+              "DataKinds"
+          ]
+      , LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 43
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 13
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 40 2 43
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 14 2 35
+                , srcInfoPoints = []
+                }
+              "MultiParamTypeClasses"
+          ]
+      , LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 43
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 13
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 40 3 43
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 14 3 23
+                , srcInfoPoints = []
+                }
+              "PolyKinds"
+          ]
+      , LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 44
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 13
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 41 4 44
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 14 4 36
+                , srcInfoPoints = []
+                }
+              "TypeFamilyDependencies"
+          ]
+      , LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 34
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 13
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 31 5 34
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 14 5 26
+                , srcInfoPoints = []
+                }
+              "TypeFamilies"
+          ]
+      , LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 43
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 13
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 40 6 43
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 14 6 34
+                , srcInfoPoints = []
+                }
+              "UndecidableInstances"
+          ]
+      , LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 43
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 13
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 40 7 43
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 14 7 33
+                , srcInfoPoints = []
+                }
+              "ScopedTypeVariables"
+          ]
+      , LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 43
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 13
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 40 8 43
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 14 8 39
+                , srcInfoPoints = []
+                }
+              "NoMonomorphismRestriction"
+          ]
+      ]
+      [ ImportDecl
+          { importAnn =
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 14
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 7 ]
+                }
+          , importModule =
+              ModuleName
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 8 12 14
+                  , srcInfoPoints = []
+                  }
+                "T6018a"
+          , importQualified = False
+          , importSrc = False
+          , importSafe = False
+          , importPkg = Nothing
+          , importAs = Nothing
+          , importSpecs = Nothing
+          }
+      ]
+      [ TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 20
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 6 14 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 20
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 18
+                  , srcInfoPoints = []
+                  }
+                (DHApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 16
+                     , srcInfoPoints = []
+                     }
+                   (DHead
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 14
+                           , srcInfoPoints = []
+                           }
+                         "F"))
+                   (UnkindedVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 15 14 16
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 15 14 16
+                           , srcInfoPoints = []
+                           }
+                         "a")))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 17 14 18
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 17 14 18
+                        , srcInfoPoints = []
+                        }
+                      "b")))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 19 14 20
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 19 14 20
+                     , srcInfoPoints = []
+                     }
+                   "c")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 21 14 36
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 21 14 22 ]
+                  }
+                (KindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 23 14 36
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 23 14 24
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 31 14 33
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 35 14 36
+                         ]
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 24 14 30
+                        , srcInfoPoints = []
+                        }
+                      "result")
+                   (KindVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         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"))))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 37 14 50
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 37 14 38
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 46 14 48
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 39 14 45
+                     , srcInfoPoints = []
+                     }
+                   "result")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 49 14 50
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 51 14 52
+                      , srcInfoPoints = []
+                      }
+                    "b"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 53 14 54
+                      , srcInfoPoints = []
+                      }
+                    "c"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 38
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 6 15 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 32 15 33
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 31
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 26
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 20
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16
+                              , srcInfoPoints = []
+                              }
+                            "F")))
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20
+                              , srcInfoPoints = []
+                              }
+                            "Int"))))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26
+                           , srcInfoPoints = []
+                           }
+                         "Char"))))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31
+                        , srcInfoPoints = []
+                        }
+                      "Bool"))))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38
+                     , srcInfoPoints = []
+                     }
+                   "Bool")))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 37
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 6 16 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 32 16 33
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 30
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 26
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 21
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16
+                              , srcInfoPoints = []
+                              }
+                            "F")))
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21
+                              , srcInfoPoints = []
+                              }
+                            "Char"))))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26
+                           , srcInfoPoints = []
+                           }
+                         "Bool"))))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30
+                        , srcInfoPoints = []
+                        }
+                      "Int"))))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37
+                     , srcInfoPoints = []
+                     }
+                   "Int")))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 38
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 6 17 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 32 17 33
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 31
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 25
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 21
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16
+                              , srcInfoPoints = []
+                              }
+                            "F")))
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21
+                              , srcInfoPoints = []
+                              }
+                            "Bool"))))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25
+                           , srcInfoPoints = []
+                           }
+                         "Int"))))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31
+                        , srcInfoPoints = []
+                        }
+                      "Char"))))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38
+                     , srcInfoPoints = []
+                     }
+                   "Char")))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 38
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 6 20 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 32 20 33
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 31
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 25
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 21
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16
+                              , srcInfoPoints = []
+                              }
+                            "G")))
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21
+                              , srcInfoPoints = []
+                              }
+                            "Bool"))))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25
+                           , srcInfoPoints = []
+                           }
+                         "Int"))))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31
+                        , srcInfoPoints = []
+                        }
+                      "Char"))))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38
+                     , srcInfoPoints = []
+                     }
+                   "Char")))
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 34
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 6 22 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 34
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 25
+                  , srcInfoPoints = []
+                  }
+                (DHApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 23
+                     , srcInfoPoints = []
+                     }
+                   (DHead
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 14
+                           , srcInfoPoints = []
+                           }
+                         "I"))
+                   (KindedVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 15 22 23
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 15 22 16
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 18 22 20
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 22 22 23
+                            ]
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 16 22 17
+                           , srcInfoPoints = []
+                           }
+                         "a")
+                      (KindVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            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")))))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 24 22 25
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 24 22 25
+                        , srcInfoPoints = []
+                        }
+                      "b")))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 26 22 34
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 26 22 27
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 29 22 31
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 33 22 34
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 27 22 28
+                     , srcInfoPoints = []
+                     }
+                   "c")
+                (KindVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      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")))))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 35 22 38
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 35 22 36 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 37 22 38
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 37 22 38
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 39 22 47
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 39 22 40
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 43 22 45
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 41 22 42
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 46 22 47
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 48 22 49
+                      , srcInfoPoints = []
+                      }
+                    "b"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 38
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 6 23 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 32 23 33
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 31
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 26
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 20
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16
+                              , srcInfoPoints = []
+                              }
+                            "I")))
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20
+                              , srcInfoPoints = []
+                              }
+                            "Int"))))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26
+                           , srcInfoPoints = []
+                           }
+                         "Char"))))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31
+                        , srcInfoPoints = []
+                        }
+                      "Bool"))))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38
+                     , srcInfoPoints = []
+                     }
+                   "Bool")))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 38
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 6 24 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 32 24 33
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 30
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 26
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 20
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16
+                              , srcInfoPoints = []
+                              }
+                            "I")))
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20
+                              , srcInfoPoints = []
+                              }
+                            "Int"))))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26
+                           , srcInfoPoints = []
+                           }
+                         "Char"))))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30
+                        , srcInfoPoints = []
+                        }
+                      "Int"))))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38
+                     , srcInfoPoints = []
+                     }
+                   "Bool")))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 37
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 6 25 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 32 25 33
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 30
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 25
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 21
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16
+                              , srcInfoPoints = []
+                              }
+                            "I")))
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21
+                              , srcInfoPoints = []
+                              }
+                            "Bool"))))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25
+                           , srcInfoPoints = []
+                           }
+                         "Int"))))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30
+                        , srcInfoPoints = []
+                        }
+                      "Int"))))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37
+                     , srcInfoPoints = []
+                     }
+                   "Int")))
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 25
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 6 29 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 25
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 16
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 14
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 14
+                        , srcInfoPoints = []
+                        }
+                      "J"))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 15 29 16
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 15 29 16
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 17 29 25
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 17 29 18
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 20 29 22
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 24 29 25
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 18 29 19
+                     , srcInfoPoints = []
+                     }
+                   "b")
+                (KindVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      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")))))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 26 29 29
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 26 29 27 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 28 29 29
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 28 29 29
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 30 29 38
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 30 29 31
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 34 29 36
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 32 29 33
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 37 29 38
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 29
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 6 30 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 23 30 24
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 22
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 20
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16
+                           , srcInfoPoints = []
+                           }
+                         "J")))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20
+                           , srcInfoPoints = []
+                           }
+                         "Int"))))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 21 30 22
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 21 30 22
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29
+                     , srcInfoPoints = []
+                     }
+                   "Char")))
+      , TypeDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 26
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 17 32 18
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 16
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 14
+                     , srcInfoPoints = []
+                     }
+                   "MaybeSyn"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 15 32 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 15 32 16
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 26
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24
+                        , srcInfoPoints = []
+                        }
+                      "Maybe")))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 25 32 26
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 25 32 26
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+      , DataDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 40
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 20 33 21 ]
+            }
+          (NewType
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 8
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 19
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 17
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 17
+                     , srcInfoPoints = []
+                     }
+                   "MaybeNew"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 18 33 19
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 18 33 19
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          [ QualConDecl
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 40
+                , srcInfoPoints = []
+                }
+              Nothing
+              Nothing
+              (ConDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 40
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 30
+                      , srcInfoPoints = []
+                      }
+                    "MaybeNew")
+                 [ TyParen
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 31 33 40
+                       , srcInfoPoints =
+                           [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 31 33 32
+                           , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 39 33 40
+                           ]
+                       }
+                     (TyApp
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 39
+                          , srcInfoPoints = []
+                          }
+                        (TyCon
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37
+                             , srcInfoPoints = []
+                             }
+                           (UnQual
+                              SrcSpanInfo
+                                { srcInfoSpan =
+                                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37
+                                , srcInfoPoints = []
+                                }
+                              (Ident
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37
+                                   , srcInfoPoints = []
+                                   }
+                                 "Maybe")))
+                        (TyVar
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 38 33 39
+                             , srcInfoPoints = []
+                             }
+                           (Ident
+                              SrcSpanInfo
+                                { srcInfoSpan =
+                                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 38 33 39
+                                , srcInfoPoints = []
+                                }
+                              "a")))
+                 ])
+          ]
+          Nothing
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 16
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 6 36 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 16
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 14
+                     , srcInfoPoints = []
+                     }
+                   "K"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 15 36 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 15 36 16
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 17 36 20
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 17 36 18 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 19 36 20
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 19 36 20
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 21 36 29
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 21 36 22
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 25 36 27
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 23 36 24
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 28 36 29
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 31
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 6 37 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 19 37 20
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 18
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16
+                        , srcInfoPoints = []
+                        }
+                      "K")))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 17 37 18
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 17 37 18
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 31
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29
+                        , srcInfoPoints = []
+                        }
+                      "MaybeSyn")))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 30 37 31
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 30 37 31
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 16
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 6 40 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 16
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 14
+                     , srcInfoPoints = []
+                     }
+                   "M"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 15 40 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 15 40 16
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 17 40 20
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 17 40 18 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 19 40 20
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 19 40 20
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 21 40 29
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 21 40 22
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 25 40 27
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 23 40 24
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 28 40 29
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 42
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 6 41 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 30 41 31
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 26
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16
+                        , srcInfoPoints = []
+                        }
+                      "M")))
+             (TyParen
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 17 41 26
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 17 41 18
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 25 41 26
+                      ]
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 25
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23
+                              , srcInfoPoints = []
+                              }
+                            "Maybe")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 24 41 25
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 24 41 25
+                           , srcInfoPoints = []
+                           }
+                         "a")))))
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 42
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40
+                        , srcInfoPoints = []
+                        }
+                      "MaybeSyn")))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 41 41 42
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 41 41 42
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 42
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 6 42 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 30 42 31
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 29
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16
+                        , srcInfoPoints = []
+                        }
+                      "M")))
+             (TyParen
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 17 42 29
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 17 42 18
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 28 42 29
+                      ]
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 28
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26
+                              , srcInfoPoints = []
+                              }
+                            "MaybeNew")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 27 42 28
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 27 42 28
+                           , srcInfoPoints = []
+                           }
+                         "a")))))
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 42
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40
+                        , srcInfoPoints = []
+                        }
+                      "MaybeNew")))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 41 42 42
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 41 42 42
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+      , ClosedTypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 26
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 6 48 12
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 54 48 59
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 26
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 24
+                  , srcInfoPoints = []
+                  }
+                (DHApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 22
+                     , srcInfoPoints = []
+                     }
+                   (DHead
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 20
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 20
+                           , srcInfoPoints = []
+                           }
+                         "FClosed"))
+                   (UnkindedVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 21 48 22
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 21 48 22
+                           , srcInfoPoints = []
+                           }
+                         "a")))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 23 48 24
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 23 48 24
+                        , srcInfoPoints = []
+                        }
+                      "b")))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 25 48 26
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 25 48 26
+                     , srcInfoPoints = []
+                     }
+                   "c")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 27 48 35
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 27 48 28 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 29 48 35
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 29 48 35
+                        , srcInfoPoints = []
+                        }
+                      "result"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 36 48 49
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 36 48 37
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 45 48 47
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 38 48 44
+                     , srcInfoPoints = []
+                     }
+                   "result")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 48 48 49
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 50 48 51
+                      , srcInfoPoints = []
+                      }
+                    "b"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 52 48 53
+                      , srcInfoPoints = []
+                      }
+                    "c"
+                ]))
+          [ TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 34
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 28 49 29 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 27
+                   , srcInfoPoints = []
+                   }
+                 (TyApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 22
+                      , srcInfoPoints = []
+                      }
+                    (TyApp
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 16
+                         , srcInfoPoints = []
+                         }
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12
+                                  , srcInfoPoints = []
+                                  }
+                                "FClosed")))
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16
+                                  , srcInfoPoints = []
+                                  }
+                                "Int"))))
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22
+                               , srcInfoPoints = []
+                               }
+                             "Char"))))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27
+                            , srcInfoPoints = []
+                            }
+                          "Bool"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34
+                         , srcInfoPoints = []
+                         }
+                       "Bool")))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 33
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 28 50 29 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 26
+                   , srcInfoPoints = []
+                   }
+                 (TyApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 22
+                      , srcInfoPoints = []
+                      }
+                    (TyApp
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 17
+                         , srcInfoPoints = []
+                         }
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12
+                                  , srcInfoPoints = []
+                                  }
+                                "FClosed")))
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17
+                                  , srcInfoPoints = []
+                                  }
+                                "Char"))))
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22
+                               , srcInfoPoints = []
+                               }
+                             "Bool"))))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26
+                            , srcInfoPoints = []
+                            }
+                          "Int"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33
+                         , srcInfoPoints = []
+                         }
+                       "Int")))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 34
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 28 51 29 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 27
+                   , srcInfoPoints = []
+                   }
+                 (TyApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 21
+                      , srcInfoPoints = []
+                      }
+                    (TyApp
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 17
+                         , srcInfoPoints = []
+                         }
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12
+                                  , srcInfoPoints = []
+                                  }
+                                "FClosed")))
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17
+                                  , srcInfoPoints = []
+                                  }
+                                "Bool"))))
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21
+                               , srcInfoPoints = []
+                               }
+                             "Int"))))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27
+                            , srcInfoPoints = []
+                            }
+                          "Char"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34
+                         , srcInfoPoints = []
+                         }
+                       "Char")))
+          ]
+      , ClosedTypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 47
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 6 53 12
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 63 53 68
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 47
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 38
+                  , srcInfoPoints = []
+                  }
+                (DHApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 29
+                     , srcInfoPoints = []
+                     }
+                   (DHead
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 20
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 20
+                           , srcInfoPoints = []
+                           }
+                         "IClosed"))
+                   (KindedVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 21 53 29
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 21 53 22
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 24 53 26
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 28 53 29
+                            ]
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 22 53 23
+                           , srcInfoPoints = []
+                           }
+                         "a")
+                      (KindStar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 27 53 28
+                           , srcInfoPoints = []
+                           })))
+                (KindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 30 53 38
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 30 53 31
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 33 53 35
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 37 53 38
+                         ]
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 31 53 32
+                        , srcInfoPoints = []
+                        }
+                      "b")
+                   (KindStar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 36 53 37
+                        , srcInfoPoints = []
+                        })))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 39 53 47
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 39 53 40
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 42 53 44
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 46 53 47
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 40 53 41
+                     , srcInfoPoints = []
+                     }
+                   "c")
+                (KindStar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 45 53 46
+                     , srcInfoPoints = []
+                     })))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 48 53 51
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 48 53 49 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 50 53 51
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 50 53 51
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 52 53 60
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 52 53 53
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 56 53 58
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 54 53 55
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 59 53 60
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 61 53 62
+                      , srcInfoPoints = []
+                      }
+                    "b"
+                ]))
+          [ TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 34
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 28 54 29 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 27
+                   , srcInfoPoints = []
+                   }
+                 (TyApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 22
+                      , srcInfoPoints = []
+                      }
+                    (TyApp
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 16
+                         , srcInfoPoints = []
+                         }
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12
+                                  , srcInfoPoints = []
+                                  }
+                                "IClosed")))
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16
+                                  , srcInfoPoints = []
+                                  }
+                                "Int"))))
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22
+                               , srcInfoPoints = []
+                               }
+                             "Char"))))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27
+                            , srcInfoPoints = []
+                            }
+                          "Bool"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34
+                         , srcInfoPoints = []
+                         }
+                       "Bool")))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 34
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 28 55 29 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 26
+                   , srcInfoPoints = []
+                   }
+                 (TyApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 22
+                      , srcInfoPoints = []
+                      }
+                    (TyApp
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 16
+                         , srcInfoPoints = []
+                         }
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12
+                                  , srcInfoPoints = []
+                                  }
+                                "IClosed")))
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16
+                                  , srcInfoPoints = []
+                                  }
+                                "Int"))))
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22
+                               , srcInfoPoints = []
+                               }
+                             "Char"))))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26
+                            , srcInfoPoints = []
+                            }
+                          "Int"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34
+                         , srcInfoPoints = []
+                         }
+                       "Bool")))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 33
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 28 56 29 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 26
+                   , srcInfoPoints = []
+                   }
+                 (TyApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 21
+                      , srcInfoPoints = []
+                      }
+                    (TyApp
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 17
+                         , srcInfoPoints = []
+                         }
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12
+                                  , srcInfoPoints = []
+                                  }
+                                "IClosed")))
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17
+                                  , srcInfoPoints = []
+                                  }
+                                "Bool"))))
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21
+                               , srcInfoPoints = []
+                               }
+                             "Int"))))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26
+                            , srcInfoPoints = []
+                            }
+                          "Int"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33
+                         , srcInfoPoints = []
+                         }
+                       "Int")))
+          ]
+      , ClosedTypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 31
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 6 58 12
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 45 58 50
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 31
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 22
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 20
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 20
+                        , srcInfoPoints = []
+                        }
+                      "JClosed"))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 21 58 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 21 58 22
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 23 58 31
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 23 58 24
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 26 58 28
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 30 58 31
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 24 58 25
+                     , srcInfoPoints = []
+                     }
+                   "b")
+                (KindVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      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")))))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 32 58 35
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 32 58 33 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 34 58 35
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 34 58 35
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 36 58 44
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 36 58 37
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 40 58 42
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 38 58 39
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 43 58 44
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+          [ TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 25
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 19 59 20 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 18
+                   , srcInfoPoints = []
+                   }
+                 (TyApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 16
+                      , srcInfoPoints = []
+                      }
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12
+                               , srcInfoPoints = []
+                               }
+                             "JClosed")))
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16
+                               , srcInfoPoints = []
+                               }
+                             "Int"))))
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 17 59 18
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 17 59 18
+                         , srcInfoPoints = []
+                         }
+                       "b")))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25
+                         , srcInfoPoints = []
+                         }
+                       "Char")))
+          ]
+      , ClosedTypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 22
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 6 61 12
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 36 61 41
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 22
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 20
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 20
+                     , srcInfoPoints = []
+                     }
+                   "KClosed"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 21 61 22
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 21 61 22
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 23 61 26
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 23 61 24 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 25 61 26
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 25 61 26
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 27 61 35
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 27 61 28
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 31 61 33
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 29 61 30
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 34 61 35
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+          [ TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 27
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 15 62 16 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 14
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12
+                            , srcInfoPoints = []
+                            }
+                          "KClosed")))
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 13 62 14
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 13 62 14
+                         , srcInfoPoints = []
+                         }
+                       "a")))
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 27
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25
+                            , srcInfoPoints = []
+                            }
+                          "MaybeSyn")))
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 26 62 27
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 26 62 27
+                         , srcInfoPoints = []
+                         }
+                       "a")))
+          ]
+      , ClosedTypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 18
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 6 66 12
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 32 66 37
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 18
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 16
+                     , srcInfoPoints = []
+                     }
+                   "Bak"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 17 66 18
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 17 66 18
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 19 66 22
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 19 66 20 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 21 66 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 21 66 22
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 23 66 31
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 23 66 24
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 27 66 29
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 25 66 26
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 30 66 31
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+          [ TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 21
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 15 67 16 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 13
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9
+                            , srcInfoPoints = []
+                            }
+                          "Bak")))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13
+                            , srcInfoPoints = []
+                            }
+                          "Int"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21
+                         , srcInfoPoints = []
+                         }
+                       "Char")))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 20
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 15 68 16 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 14
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9
+                            , srcInfoPoints = []
+                            }
+                          "Bak")))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14
+                            , srcInfoPoints = []
+                            }
+                          "Char"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20
+                         , srcInfoPoints = []
+                         }
+                       "Int")))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 18
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 15 69 16 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 11
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9
+                            , srcInfoPoints = []
+                            }
+                          "Bak")))
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 10 69 11
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 10 69 11
+                         , srcInfoPoints = []
+                         }
+                       "a")))
+              (TyVar
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 17 69 18
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 17 69 18
+                      , srcInfoPoints = []
+                      }
+                    "a"))
+          ]
+      , ClosedTypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 18
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 6 73 12
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 32 73 37
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 18
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 16
+                     , srcInfoPoints = []
+                     }
+                   "Foo"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 17 73 18
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 17 73 18
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 19 73 22
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 19 73 20 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 21 73 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 21 73 22
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 23 73 31
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 23 73 24
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 27 73 29
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 25 73 26
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 30 73 31
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+          [ TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 20
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 14 74 15 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 12
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8
+                            , srcInfoPoints = []
+                            }
+                          "Foo")))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12
+                            , srcInfoPoints = []
+                            }
+                          "Int"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20
+                         , srcInfoPoints = []
+                         }
+                       "Bool")))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 19
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 14 75 15 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 13
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8
+                            , srcInfoPoints = []
+                            }
+                          "Foo")))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13
+                            , srcInfoPoints = []
+                            }
+                          "Bool"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19
+                         , srcInfoPoints = []
+                         }
+                       "Int")))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 20
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 14 76 15 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 13
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8
+                            , srcInfoPoints = []
+                            }
+                          "Foo")))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13
+                            , srcInfoPoints = []
+                            }
+                          "Bool"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20
+                         , srcInfoPoints = []
+                         }
+                       "Bool")))
+          ]
+      , ClosedTypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 18
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 6 80 12
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 32 80 37
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 18
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 16
+                     , srcInfoPoints = []
+                     }
+                   "Bar"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 17 80 18
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 17 80 18
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 19 80 22
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 19 80 20 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 21 80 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 21 80 22
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 23 80 31
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 23 80 24
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 27 80 29
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 25 80 26
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 30 80 31
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+          [ TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 20
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 14 81 15 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 12
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8
+                            , srcInfoPoints = []
+                            }
+                          "Bar")))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12
+                            , srcInfoPoints = []
+                            }
+                          "Int"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20
+                         , srcInfoPoints = []
+                         }
+                       "Bool")))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 19
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 14 82 15 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 13
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8
+                            , srcInfoPoints = []
+                            }
+                          "Bar")))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13
+                            , srcInfoPoints = []
+                            }
+                          "Bool"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19
+                         , srcInfoPoints = []
+                         }
+                       "Int")))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 20
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 14 83 15 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 13
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8
+                            , srcInfoPoints = []
+                            }
+                          "Bar")))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13
+                            , srcInfoPoints = []
+                            }
+                          "Bool"))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20
+                         , srcInfoPoints = []
+                         }
+                       "Char")))
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 24
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 3 88 5 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 2
+                , srcInfoPoints = []
+                }
+              "f"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 24
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 14 88 16 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 13
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 11
+                     , srcInfoPoints = []
+                     }
+                   (TyApp
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 9
+                        , srcInfoPoints = []
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7
+                                 , srcInfoPoints = []
+                                 }
+                               "F")))
+                      (TyVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 8 88 9
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 8 88 9
+                              , srcInfoPoints = []
+                              }
+                            "a")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 10 88 11
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 10 88 11
+                           , srcInfoPoints = []
+                           }
+                         "b")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 12 88 13
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 12 88 13
+                        , srcInfoPoints = []
+                        }
+                      "c")))
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 24
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 22
+                     , srcInfoPoints = []
+                     }
+                   (TyApp
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 20
+                        , srcInfoPoints = []
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18
+                                 , srcInfoPoints = []
+                                 }
+                               "F")))
+                      (TyVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 19 88 20
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 19 88 20
+                              , srcInfoPoints = []
+                              }
+                            "a")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 21 88 22
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 21 88 22
+                           , srcInfoPoints = []
+                           }
+                         "b")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 23 88 24
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 23 88 24
+                        , srcInfoPoints = []
+                        }
+                      "c"))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 8
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 8
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 2
+                   , srcInfoPoints = []
+                   }
+                 "f")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan =
+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 3 89 4
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 3 89 4
+                       , srcInfoPoints = []
+                       }
+                     "x")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 5 89 8
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 5 89 6 ]
+                   }
+                 (Var
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8
+                            , srcInfoPoints = []
+                            }
+                          "x"))))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 13
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 6 92 8 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 5
+                , srcInfoPoints = []
+                }
+              "fapp"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13
+                     , srcInfoPoints = []
+                     }
+                   "Bool")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 14
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 5
+                  , srcInfoPoints = []
+                  }
+                "fapp"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 6 93 14
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 6 93 7 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 14
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9
+                           , srcInfoPoints = []
+                           }
+                         "f")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14
+                           , srcInfoPoints = []
+                           }
+                         "True")))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 37
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 4 96 6 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 3
+                , srcInfoPoints = []
+                }
+              "fc"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 37
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 21 96 23 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 20
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 18
+                     , srcInfoPoints = []
+                     }
+                   (TyApp
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 16
+                        , srcInfoPoints = []
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14
+                                 , srcInfoPoints = []
+                                 }
+                               "FClosed")))
+                      (TyVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 15 96 16
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 15 96 16
+                              , srcInfoPoints = []
+                              }
+                            "a")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 17 96 18
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 17 96 18
+                           , srcInfoPoints = []
+                           }
+                         "b")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 19 96 20
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 19 96 20
+                        , srcInfoPoints = []
+                        }
+                      "c")))
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 37
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 35
+                     , srcInfoPoints = []
+                     }
+                   (TyApp
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 33
+                        , srcInfoPoints = []
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31
+                                 , srcInfoPoints = []
+                                 }
+                               "FClosed")))
+                      (TyVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 32 96 33
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 32 96 33
+                              , srcInfoPoints = []
+                              }
+                            "a")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 34 96 35
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 34 96 35
+                           , srcInfoPoints = []
+                           }
+                         "b")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 36 96 37
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 36 96 37
+                        , srcInfoPoints = []
+                        }
+                      "c"))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 9
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 9
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 3
+                   , srcInfoPoints = []
+                   }
+                 "fc")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan =
+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 4 97 5
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 4 97 5
+                       , srcInfoPoints = []
+                       }
+                     "x")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 6 97 9
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 6 97 7 ]
+                   }
+                 (Var
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9
+                            , srcInfoPoints = []
+                            }
+                          "x"))))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 14
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 7 99 9 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 6
+                , srcInfoPoints = []
+                }
+              "fcapp"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14
+                     , srcInfoPoints = []
+                     }
+                   "Bool")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 16
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 6
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 6
+                  , srcInfoPoints = []
+                  }
+                "fcapp"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 7 100 16
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 7 100 8 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 16
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11
+                           , srcInfoPoints = []
+                           }
+                         "fc")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16
+                           , srcInfoPoints = []
+                           }
+                         "True")))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 28
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 3 103 5 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 2
+                , srcInfoPoints = []
+                }
+              "i"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 28
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 16 103 18 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 15
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 11
+                     , srcInfoPoints = []
+                     }
+                   (TyApp
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 9
+                        , srcInfoPoints = []
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7
+                                 , srcInfoPoints = []
+                                 }
+                               "I")))
+                      (TyVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 8 103 9
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 8 103 9
+                              , srcInfoPoints = []
+                              }
+                            "a")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 10 103 11
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 10 103 11
+                           , srcInfoPoints = []
+                           }
+                         "b")))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15
+                           , srcInfoPoints = []
+                           }
+                         "Int"))))
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 28
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 24
+                     , srcInfoPoints = []
+                     }
+                   (TyApp
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 22
+                        , srcInfoPoints = []
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20
+                                 , srcInfoPoints = []
+                                 }
+                               "I")))
+                      (TyVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 21 103 22
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 21 103 22
+                              , srcInfoPoints = []
+                              }
+                            "a")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 23 103 24
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 23 103 24
+                           , srcInfoPoints = []
+                           }
+                         "b")))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28
+                           , srcInfoPoints = []
+                           }
+                         "Int")))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 8
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 8
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 2
+                   , srcInfoPoints = []
+                   }
+                 "i")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan =
+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 3 104 4
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 3 104 4
+                       , srcInfoPoints = []
+                       }
+                     "x")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 5 104 8
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 5 104 6 ]
+                   }
+                 (Var
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8
+                            , srcInfoPoints = []
+                            }
+                          "x"))))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 13
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 6 107 8 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 5
+                , srcInfoPoints = []
+                }
+              "iapp"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13
+                     , srcInfoPoints = []
+                     }
+                   "Bool")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 14
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 5
+                  , srcInfoPoints = []
+                  }
+                "iapp"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 6 108 14
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 6 108 7 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 14
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9
+                           , srcInfoPoints = []
+                           }
+                         "i")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14
+                           , srcInfoPoints = []
+                           }
+                         "True")))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 41
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 4 111 6 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 3
+                , srcInfoPoints = []
+                }
+              "ic"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 41
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 23 111 25 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 22
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 18
+                     , srcInfoPoints = []
+                     }
+                   (TyApp
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 16
+                        , srcInfoPoints = []
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14
+                                 , srcInfoPoints = []
+                                 }
+                               "IClosed")))
+                      (TyVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 15 111 16
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 15 111 16
+                              , srcInfoPoints = []
+                              }
+                            "a")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 17 111 18
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 17 111 18
+                           , srcInfoPoints = []
+                           }
+                         "b")))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22
+                           , srcInfoPoints = []
+                           }
+                         "Int"))))
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 41
+                  , srcInfoPoints = []
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 37
+                     , srcInfoPoints = []
+                     }
+                   (TyApp
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 35
+                        , srcInfoPoints = []
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33
+                                 , srcInfoPoints = []
+                                 }
+                               "IClosed")))
+                      (TyVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 34 111 35
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 34 111 35
+                              , srcInfoPoints = []
+                              }
+                            "a")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 36 111 37
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 36 111 37
+                           , srcInfoPoints = []
+                           }
+                         "b")))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41
+                           , srcInfoPoints = []
+                           }
+                         "Int")))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 9
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 9
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 3
+                   , srcInfoPoints = []
+                   }
+                 "ic")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan =
+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 4 112 5
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 4 112 5
+                       , srcInfoPoints = []
+                       }
+                     "x")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 6 112 9
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 6 112 7 ]
+                   }
+                 (Var
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9
+                            , srcInfoPoints = []
+                            }
+                          "x"))))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 14
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 7 114 9 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 6
+                , srcInfoPoints = []
+                }
+              "icapp"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14
+                     , srcInfoPoints = []
+                     }
+                   "Bool")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 16
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 6
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 6
+                  , srcInfoPoints = []
+                  }
+                "icapp"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 7 115 16
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 7 115 8 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 16
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11
+                           , srcInfoPoints = []
+                           }
+                         "ic")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16
+                           , srcInfoPoints = []
+                           }
+                         "True")))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 22
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 5 118 7 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 4
+                , srcInfoPoints = []
+                }
+              "bak"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 22
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 14 118 16 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 13
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11
+                           , srcInfoPoints = []
+                           }
+                         "Bak")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 12 118 13
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 12 118 13
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 22
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20
+                           , srcInfoPoints = []
+                           }
+                         "Bak")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 21 118 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 21 118 22
+                        , srcInfoPoints = []
+                        }
+                      "a"))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 10
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 10
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 4
+                   , srcInfoPoints = []
+                   }
+                 "bak")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan =
+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 5 119 6
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 5 119 6
+                       , srcInfoPoints = []
+                       }
+                     "x")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 7 119 10
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 7 119 8 ]
+                   }
+                 (Var
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10
+                            , srcInfoPoints = []
+                            }
+                          "x"))))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 16
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 9 121 11 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 8
+                , srcInfoPoints = []
+                }
+              "bakapp1"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16
+                     , srcInfoPoints = []
+                     }
+                   "Char")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 18
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 8
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 8
+                  , srcInfoPoints = []
+                  }
+                "bakapp1"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 9 122 18
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 9 122 10 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 18
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14
+                           , srcInfoPoints = []
+                           }
+                         "bak")))
+                (Lit
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 15 122 18
+                     , srcInfoPoints = []
+                     }
+                   (Char
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 15 122 18
+                        , srcInfoPoints = []
+                        }
+                      'c'
+                      "c"))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 18
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 9 124 11 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 8
+                , srcInfoPoints = []
+                }
+              "bakapp2"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18
+                     , srcInfoPoints = []
+                     }
+                   "Double")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 18
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 8
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 8
+                  , srcInfoPoints = []
+                  }
+                "bakapp2"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 9 125 18
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 9 125 10 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 18
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14
+                           , srcInfoPoints = []
+                           }
+                         "bak")))
+                (Lit
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 15 125 18
+                     , srcInfoPoints = []
+                     }
+                   (Frac
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 15 125 18
+                        , srcInfoPoints = []
+                        }
+                      (1 % 1)
+                      "1.0"))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 14
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 9 127 11 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 8
+                , srcInfoPoints = []
+                }
+              "bakapp3"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14
+                   ]
+               }
+             (Special
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14
+                      ]
+                  }
+                (UnitCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14
+                         ]
+                     })))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 17
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 8
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 8
+                  , srcInfoPoints = []
+                  }
+                "bakapp3"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 9 128 17
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 9 128 10 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 17
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14
+                           , srcInfoPoints = []
+                           }
+                         "bak")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17
+                         ]
+                     }
+                   (Special
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17
+                            ]
+                        }
+                      (UnitCon
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17
+                           , srcInfoPoints =
+                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16
+                               , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17
+                               ]
+                           })))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 22
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 5 130 7 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 4
+                , srcInfoPoints = []
+                }
+              "foo"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 22
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 14 130 16 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 13
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11
+                           , srcInfoPoints = []
+                           }
+                         "Foo")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 12 130 13
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 12 130 13
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 22
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20
+                           , srcInfoPoints = []
+                           }
+                         "Foo")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 21 130 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 21 130 22
+                        , srcInfoPoints = []
+                        }
+                      "a"))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 10
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 10
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 4
+                   , srcInfoPoints = []
+                   }
+                 "foo")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan =
+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 5 131 6
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 5 131 6
+                       , srcInfoPoints = []
+                       }
+                     "x")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 7 131 10
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 7 131 8 ]
+                   }
+                 (Var
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10
+                            , srcInfoPoints = []
+                            }
+                          "x"))))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 16
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 9 133 11 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 8
+                , srcInfoPoints = []
+                }
+              "fooapp1"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16
+                     , srcInfoPoints = []
+                     }
+                   "Bool")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 19
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 8
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 8
+                  , srcInfoPoints = []
+                  }
+                "fooapp1"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 9 134 19
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 9 134 10 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 19
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14
+                           , srcInfoPoints = []
+                           }
+                         "foo")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19
+                           , srcInfoPoints = []
+                           }
+                         "True")))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 22
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 5 136 7 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 4
+                , srcInfoPoints = []
+                }
+              "bar"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 22
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 14 136 16 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 13
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11
+                           , srcInfoPoints = []
+                           }
+                         "Bar")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 12 136 13
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 12 136 13
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 22
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20
+                           , srcInfoPoints = []
+                           }
+                         "Bar")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 21 136 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 21 136 22
+                        , srcInfoPoints = []
+                        }
+                      "a"))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 10
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 10
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 4
+                   , srcInfoPoints = []
+                   }
+                 "bar")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan =
+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 5 137 6
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 5 137 6
+                       , srcInfoPoints = []
+                       }
+                     "x")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 7 137 10
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 7 137 8 ]
+                   }
+                 (Var
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10
+                            , srcInfoPoints = []
+                            }
+                          "x"))))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 16
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 9 139 11 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 8
+                , srcInfoPoints = []
+                }
+              "barapp1"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16
+                     , srcInfoPoints = []
+                     }
+                   "Bool")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 19
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 8
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 8
+                  , srcInfoPoints = []
+                  }
+                "barapp1"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 9 140 19
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 9 140 10 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 19
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14
+                           , srcInfoPoints = []
+                           }
+                         "bar")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19
+                           , srcInfoPoints = []
+                           }
+                         "True")))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 15
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 9 142 11 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 8
+                , srcInfoPoints = []
+                }
+              "barapp2"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15
+                     , srcInfoPoints = []
+                     }
+                   "Int")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 16
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 8
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 8
+                  , srcInfoPoints = []
+                  }
+                "barapp2"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 9 143 16
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 9 143 10 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 16
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14
+                           , srcInfoPoints = []
+                           }
+                         "bar")))
+                (Lit
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 15 143 16
+                     , srcInfoPoints = []
+                     }
+                   (Int
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 15 143 16
+                        , srcInfoPoints = []
+                        }
+                      1
+                      "1"))))
+          Nothing
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 18
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 6 148 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 18
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 16
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 14
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 14
+                        , srcInfoPoints = []
+                        }
+                      "H"))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 15 148 16
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 15 148 16
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 17 148 18
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 17 148 18
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 19 148 22
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 19 148 20 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 21 148 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 21 148 22
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 23 148 31
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 23 148 24
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 27 148 29
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 25 148 26
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 30 148 31
+                      , srcInfoPoints = []
+                      }
+                    "b"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 32 148 33
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , ClosedTypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 19
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 6 149 12
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 35 149 40
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 19
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 17
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 15
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 15
+                        , srcInfoPoints = []
+                        }
+                      "Hc"))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 16 149 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 16 149 17
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 18 149 19
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 18 149 19
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 20 149 23
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 20 149 21 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 22 149 23
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 22 149 23
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 24 149 32
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 24 149 25
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 28 149 30
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 26 149 27
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 31 149 32
+                      , srcInfoPoints = []
+                      }
+                    "b"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 33 149 34
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+          [ TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 15
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 10 150 11 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 9
+                   , srcInfoPoints = []
+                   }
+                 (TyApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 7
+                      , srcInfoPoints = []
+                      }
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5
+                               , srcInfoPoints = []
+                               }
+                             "Hc")))
+                    (TyVar
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 6 150 7
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 6 150 7
+                            , srcInfoPoints = []
+                            }
+                          "a")))
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 8 150 9
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 8 150 9
+                         , srcInfoPoints = []
+                         }
+                       "b")))
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 15
+                   , srcInfoPoints = []
+                   }
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 13
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 13
+                         , srcInfoPoints = []
+                         }
+                       "a"))
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 14 150 15
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 14 150 15
+                         , srcInfoPoints = []
+                         }
+                       "b")))
+          ]
+      , ClassDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 152 27
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 151 6
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 15 151 20
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 3
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 0
+                ]
+            }
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 14
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 12
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 10
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 10
+                        , srcInfoPoints = []
+                        }
+                      "Hcl"))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 11 151 12
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 11 151 12
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 13 151 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 13 151 14
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          []
+          (Just
+             [ ClsTyFam
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 27
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 7 ]
+                   }
+                 (DHApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 14
+                      , srcInfoPoints = []
+                      }
+                    (DHApp
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 12
+                         , srcInfoPoints = []
+                         }
+                       (DHead
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 10
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 10
+                               , srcInfoPoints = []
+                               }
+                             "Ht"))
+                       (UnkindedVar
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 11 152 12
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 11 152 12
+                               , srcInfoPoints = []
+                               }
+                             "a")))
+                    (UnkindedVar
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 13 152 14
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 13 152 14
+                            , srcInfoPoints = []
+                            }
+                          "b")))
+                 (Just
+                    (TyVarSig
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 15 152 18
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 15 152 16 ]
+                         }
+                       (UnkindedVar
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 17 152 18
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 17 152 18
+                               , srcInfoPoints = []
+                               }
+                             "r"))))
+                 (Just
+                    (InjectivityInfo
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 19 152 27
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 19 152 20
+                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 23 152 25
+                             ]
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 21 152 22
+                            , srcInfoPoints = []
+                            }
+                          "r")
+                       [ Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 26 152 27
+                             , srcInfoPoints = []
+                             }
+                           "b"
+                       , Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 28 152 29
+                             , srcInfoPoints = []
+                             }
+                           "a"
+                       ]))
+             ])
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 19
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 6 156 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 19
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 17
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 15
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 15
+                        , srcInfoPoints = []
+                        }
+                      "Jx"))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 16 156 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 16 156 17
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 18 156 19
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 18 156 19
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 20 156 23
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 20 156 21 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 22 156 23
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 22 156 23
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 24 156 32
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 24 156 25
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 28 156 30
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 26 156 27
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 31 156 32
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 33 156 34
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , ClosedTypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 20
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 6 157 12
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 36 157 41
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 20
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 18
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 16
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 16
+                        , srcInfoPoints = []
+                        }
+                      "Jcx"))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 17 157 18
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 17 157 18
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 19 157 20
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 19 157 20
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 21 157 24
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 21 157 22 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 23 157 24
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 23 157 24
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 25 157 33
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 25 157 26
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 29 157 31
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 27 157 28
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 32 157 33
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 34 157 35
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+          [ TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 16
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 11 158 12 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 10
+                   , srcInfoPoints = []
+                   }
+                 (TyApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 8
+                      , srcInfoPoints = []
+                      }
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6
+                               , srcInfoPoints = []
+                               }
+                             "Jcx")))
+                    (TyVar
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 7 158 8
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 7 158 8
+                            , srcInfoPoints = []
+                            }
+                          "a")))
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 9 158 10
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 9 158 10
+                         , srcInfoPoints = []
+                         }
+                       "b")))
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 16
+                   , srcInfoPoints = []
+                   }
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 14
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 14
+                         , srcInfoPoints = []
+                         }
+                       "a"))
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 15 158 16
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 15 158 16
+                         , srcInfoPoints = []
+                         }
+                       "b")))
+          ]
+      , ClassDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 160 27
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 159 6
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 15 159 20
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 3
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 0
+                ]
+            }
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 14
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 12
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 10
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 10
+                        , srcInfoPoints = []
+                        }
+                      "Jcl"))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 11 159 12
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 11 159 12
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 13 159 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 13 159 14
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          []
+          (Just
+             [ ClsTyFam
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 27
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 7 ]
+                   }
+                 (DHApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 14
+                      , srcInfoPoints = []
+                      }
+                    (DHApp
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 12
+                         , srcInfoPoints = []
+                         }
+                       (DHead
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 10
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 10
+                               , srcInfoPoints = []
+                               }
+                             "Jt"))
+                       (UnkindedVar
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 11 160 12
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 11 160 12
+                               , srcInfoPoints = []
+                               }
+                             "a")))
+                    (UnkindedVar
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 13 160 14
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 13 160 14
+                            , srcInfoPoints = []
+                            }
+                          "b")))
+                 (Just
+                    (TyVarSig
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 15 160 18
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 15 160 16 ]
+                         }
+                       (UnkindedVar
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 17 160 18
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 17 160 18
+                               , srcInfoPoints = []
+                               }
+                             "r"))))
+                 (Just
+                    (InjectivityInfo
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 19 160 27
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 19 160 20
+                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 23 160 25
+                             ]
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 21 160 22
+                            , srcInfoPoints = []
+                            }
+                          "r")
+                       [ Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 26 160 27
+                             , srcInfoPoints = []
+                             }
+                           "a"
+                       , Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 28 160 29
+                             , srcInfoPoints = []
+                             }
+                           "a"
+                       ]))
+             ])
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 19
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 6 162 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 19
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 17
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 15
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 15
+                        , srcInfoPoints = []
+                        }
+                      "Kx"))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 16 162 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 16 162 17
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 18 162 19
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 18 162 19
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 20 162 23
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 20 162 21 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 22 162 23
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 22 162 23
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 24 162 32
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 24 162 25
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 28 162 30
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 26 162 27
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 31 162 32
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 33 162 34
+                      , srcInfoPoints = []
+                      }
+                    "b"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 35 162 36
+                      , srcInfoPoints = []
+                      }
+                    "b"
+                ]))
+      , ClosedTypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 20
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 6 163 12
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 38 163 43
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 20
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 18
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 16
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 16
+                        , srcInfoPoints = []
+                        }
+                      "Kcx"))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 17 163 18
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 17 163 18
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 19 163 20
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 19 163 20
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 21 163 24
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 21 163 22 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 23 163 24
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 23 163 24
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 25 163 33
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 25 163 26
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 29 163 31
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 27 163 28
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 32 163 33
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 34 163 35
+                      , srcInfoPoints = []
+                      }
+                    "b"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 36 163 37
+                      , srcInfoPoints = []
+                      }
+                    "b"
+                ]))
+          [ TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 16
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 11 164 12 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 10
+                   , srcInfoPoints = []
+                   }
+                 (TyApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 8
+                      , srcInfoPoints = []
+                      }
+                    (TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6
+                               , srcInfoPoints = []
+                               }
+                             "Kcx")))
+                    (TyVar
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 7 164 8
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 7 164 8
+                            , srcInfoPoints = []
+                            }
+                          "a")))
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 9 164 10
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 9 164 10
+                         , srcInfoPoints = []
+                         }
+                       "b")))
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 16
+                   , srcInfoPoints = []
+                   }
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 14
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 14
+                         , srcInfoPoints = []
+                         }
+                       "a"))
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 15 164 16
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 15 164 16
+                         , srcInfoPoints = []
+                         }
+                       "b")))
+          ]
+      , ClassDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 166 27
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 165 6
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 15 165 20
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 3
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 0
+                ]
+            }
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 14
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 12
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 10
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 10
+                        , srcInfoPoints = []
+                        }
+                      "Kcl"))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 11 165 12
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 11 165 12
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 13 165 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 13 165 14
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          []
+          (Just
+             [ ClsTyFam
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 27
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 7 ]
+                   }
+                 (DHApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 14
+                      , srcInfoPoints = []
+                      }
+                    (DHApp
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 12
+                         , srcInfoPoints = []
+                         }
+                       (DHead
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 10
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 10
+                               , srcInfoPoints = []
+                               }
+                             "Kt"))
+                       (UnkindedVar
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 11 166 12
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 11 166 12
+                               , srcInfoPoints = []
+                               }
+                             "a")))
+                    (UnkindedVar
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 13 166 14
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 13 166 14
+                            , srcInfoPoints = []
+                            }
+                          "b")))
+                 (Just
+                    (TyVarSig
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 15 166 18
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 15 166 16 ]
+                         }
+                       (UnkindedVar
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 17 166 18
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 17 166 18
+                               , srcInfoPoints = []
+                               }
+                             "r"))))
+                 (Just
+                    (InjectivityInfo
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 19 166 27
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 19 166 20
+                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 23 166 25
+                             ]
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 21 166 22
+                            , srcInfoPoints = []
+                            }
+                          "r")
+                       [ Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 26 166 27
+                             , srcInfoPoints = []
+                             }
+                           "a"
+                       , Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 28 166 29
+                             , srcInfoPoints = []
+                             }
+                           "b"
+                       , Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 30 166 31
+                             , srcInfoPoints = []
+                             }
+                           "b"
+                       ]))
+             ])
+      , ClosedTypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 24
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 6 170 12
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 47 170 52
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 24
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 14
+                     , srcInfoPoints = []
+                     }
+                   "L"))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 15 170 24
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 15 170 16
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 18 170 20
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 23 170 24
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 16 170 17
+                     , srcInfoPoints = []
+                     }
+                   "a")
+                (KindVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      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")))))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 25 170 36
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 25 170 26 ]
+                  }
+                (KindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 27 170 36
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 27 170 28
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 30 170 32
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 35 170 36
+                         ]
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 28 170 29
+                        , srcInfoPoints = []
+                        }
+                      "r")
+                   (KindVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         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"))))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 37 170 46
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 37 170 38
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 41 170 43
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 39 170 40
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 44 170 46
+                      , srcInfoPoints = []
+                      }
+                    "k1"
+                ]))
+          [ TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 19
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 14 171 15 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 12
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6
+                            , srcInfoPoints = []
+                            }
+                          "L")))
+                 (TyPromoted
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 12
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 8 ]
+                      }
+                    (PromotedCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 12
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 8 ]
+                         }
+                       True
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 8 171 12
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 8 171 12
+                               , srcInfoPoints = []
+                               }
+                             "True")))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19
+                         , srcInfoPoints = []
+                         }
+                       "Int")))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 19
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 14 172 15 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 13
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6
+                            , srcInfoPoints = []
+                            }
+                          "L")))
+                 (TyPromoted
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 13
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 8 ]
+                      }
+                    (PromotedCon
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 13
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 8 ]
+                         }
+                       True
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 8 172 13
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 8 172 13
+                               , srcInfoPoints = []
+                               }
+                             "False")))))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19
+                         , srcInfoPoints = []
+                         }
+                       "Int")))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 17
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 14 173 15 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 12
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6
+                            , srcInfoPoints = []
+                            }
+                          "L")))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12
+                            , srcInfoPoints = []
+                            }
+                          "Maybe"))))
+              (TyPromoted
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 16 173 17
+                   , srcInfoPoints = []
+                   }
+                 (PromotedInteger
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 16 173 17
+                      , srcInfoPoints = []
+                      }
+                    3
+                    "3"))
+          , TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 17
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 14 174 15 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 9
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6
+                            , srcInfoPoints = []
+                            }
+                          "L")))
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9
+                            , srcInfoPoints = []
+                            }
+                          "IO"))))
+              (TyPromoted
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 16 174 17
+                   , srcInfoPoints = []
+                   }
+                 (PromotedInteger
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 16 174 17
+                      , srcInfoPoints = []
+                      }
+                    3
+                    "3"))
+          ]
+      , DataDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 30
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 22 176 23 ]
+            }
+          (DataType
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 5
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 21
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 12
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 12
+                     , srcInfoPoints = []
+                     }
+                   "KProxy"))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 13 176 21
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 13 176 14
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 16 176 18
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 20 176 21
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 14 176 15
+                     , srcInfoPoints = []
+                     }
+                   "a")
+                (KindStar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 19 176 20
+                     , srcInfoPoints = []
+                     })))
+          [ QualConDecl
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30
+                , srcInfoPoints = []
+                }
+              Nothing
+              Nothing
+              (ConDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30
+                      , srcInfoPoints = []
+                      }
+                    "KProxy")
+                 [])
+          ]
+          Nothing
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 36
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 6 177 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 36
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 15
+                     , srcInfoPoints = []
+                     }
+                   "KP"))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 16 177 36
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 16 177 17
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 24 177 26
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 35 177 36
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 17 177 23
+                     , srcInfoPoints = []
+                     }
+                   "kproxy")
+                (KindApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 35
+                     , srcInfoPoints = []
+                     }
+                   (KindVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33
+                              , srcInfoPoints = []
+                              }
+                            "KProxy")))
+                   (KindVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         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"))))))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 37 177 40
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 37 177 38 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 39 177 40
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 39 177 40
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 41 177 49
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 41 177 42
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 45 177 47
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 43 177 44
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 48 177 49
+                      , srcInfoPoints = []
+                      }
+                    "k"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 48
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 6 178 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 43 178 44
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 42
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17
+                        , srcInfoPoints = []
+                        }
+                      "KP")))
+             (TyKind
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 18 178 42
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 18 178 19
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 27 178 29
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 41 178 42
+                      ]
+                  }
+                (TyPromoted
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 26
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 20 ]
+                     }
+                   (PromotedCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 26
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 20 ]
+                        }
+                      True
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 20 178 26
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 20 178 26
+                              , srcInfoPoints = []
+                              }
+                            "KProxy"))))
+                (KindApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 41
+                     , srcInfoPoints = []
+                     }
+                   (KindVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36
+                              , srcInfoPoints = []
+                              }
+                            "KProxy")))
+                   (KindVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41
+                              , srcInfoPoints = []
+                              }
+                            "Bool"))))))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48
+                     , srcInfoPoints = []
+                     }
+                   "Int")))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 49
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 6 179 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 43 179 44
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 39
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17
+                        , srcInfoPoints = []
+                        }
+                      "KP")))
+             (TyKind
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 18 179 39
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 18 179 19
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 27 179 29
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 38 179 39
+                      ]
+                  }
+                (TyPromoted
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 26
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 20 ]
+                     }
+                   (PromotedCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 26
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 20 ]
+                        }
+                      True
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 20 179 26
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 20 179 26
+                              , srcInfoPoints = []
+                              }
+                            "KProxy"))))
+                (KindApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 38
+                     , srcInfoPoints = []
+                     }
+                   (KindVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36
+                              , srcInfoPoints = []
+                              }
+                            "KProxy")))
+                   (KindStar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 37 179 38
+                        , srcInfoPoints = []
+                        }))))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49
+                     , srcInfoPoints = []
+                     }
+                   "Char")))
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 66
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 11 181 13 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 10
+                , srcInfoPoints = []
+                }
+              "kproxy_id"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 66
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 39 181 41 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 38
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16
+                           , srcInfoPoints = []
+                           }
+                         "KP")))
+                (TyKind
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 17 181 38
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 17 181 18
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 26 181 28
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 37 181 38
+                         ]
+                     }
+                   (TyPromoted
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 25
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 19 ]
+                        }
+                      (PromotedCon
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 25
+                           , srcInfoPoints =
+                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 19 ]
+                           }
+                         True
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 19 181 25
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 19 181 25
+                                 , srcInfoPoints = []
+                                 }
+                               "KProxy"))))
+                   (KindApp
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 37
+                        , srcInfoPoints = []
+                        }
+                      (KindVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35
+                                 , srcInfoPoints = []
+                                 }
+                               "KProxy")))
+                      (KindVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            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"))))))
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 66
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44
+                           , srcInfoPoints = []
+                           }
+                         "KP")))
+                (TyKind
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 45 181 66
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 45 181 46
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 54 181 56
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 65 181 66
+                         ]
+                     }
+                   (TyPromoted
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 53
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 47 ]
+                        }
+                      (PromotedCon
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 53
+                           , srcInfoPoints =
+                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 47 ]
+                           }
+                         True
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 47 181 53
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 47 181 53
+                                 , srcInfoPoints = []
+                                 }
+                               "KProxy"))))
+                   (KindApp
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 65
+                        , srcInfoPoints = []
+                        }
+                      (KindVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63
+                                 , srcInfoPoints = []
+                                 }
+                               "KProxy")))
+                      (KindVar
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            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")))))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 16
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 16
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 10
+                   , srcInfoPoints = []
+                   }
+                 "kproxy_id")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan =
+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 11 182 12
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 11 182 12
+                       , srcInfoPoints = []
+                       }
+                     "x")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 13 182 16
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 13 182 14 ]
+                   }
+                 (Var
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16
+                            , srcInfoPoints = []
+                            }
+                          "x"))))
+              Nothing
+          ]
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 30
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 14
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 14
+                  , srcInfoPoints = []
+                  }
+                "kproxy_id_use"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 15 184 30
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 15 184 16 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 30
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26
+                           , srcInfoPoints = []
+                           }
+                         "kproxy_id")))
+                (Lit
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 27 184 30
+                     , srcInfoPoints = []
+                     }
+                   (Char
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 27 184 30
+                        , srcInfoPoints = []
+                        }
+                      'a'
+                      "a"))))
+          Nothing
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 17
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 6 188 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 17
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 15
+                     , srcInfoPoints = []
+                     }
+                   "Gx"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 16 188 17
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 16 188 17
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          Nothing
+          Nothing
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 17
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 6 189 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 17
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 15
+                     , srcInfoPoints = []
+                     }
+                   "Hx"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 16 189 17
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 16 189 17
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          Nothing
+          Nothing
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 17
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 6 190 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 17
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 15
+                     , srcInfoPoints = []
+                     }
+                   "Gi"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 16 190 17
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 16 190 17
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 18 190 21
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 18 190 19 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 20 190 21
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 20 190 21
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 22 190 30
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 22 190 23
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 26 190 28
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 24 190 25
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 29 190 30
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 28
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 6 191 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 22 191 23
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 21
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17
+                        , srcInfoPoints = []
+                        }
+                      "Gi")))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21
+                        , srcInfoPoints = []
+                        }
+                      "Int"))))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28
+                     , srcInfoPoints = []
+                     }
+                   "Char")))
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 17
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 6 192 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 17
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 15
+                     , srcInfoPoints = []
+                     }
+                   "Hi"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 16 192 17
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 16 192 17
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 18 192 21
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 18 192 19 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 20 192 21
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 20 192 21
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 22 192 30
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 22 192 23
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 26 192 28
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 24 192 25
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 29 192 30
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 17
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 6 194 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 17
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 15
+                     , srcInfoPoints = []
+                     }
+                   "F2"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 16 194 17
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 16 194 17
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 18 194 21
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 18 194 19 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 20 194 21
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 20 194 21
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 22 194 30
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 22 194 23
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 26 194 28
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 24 194 25
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 29 194 30
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 36
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 6 195 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 28 195 29
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 21
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17
+                        , srcInfoPoints = []
+                        }
+                      "F2")))
+             (TyList
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 18 195 21
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 18 195 19
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 20 195 21
+                      ]
+                  }
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 19 195 20
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 19 195 20
+                        , srcInfoPoints = []
+                        }
+                      "a"))))
+          (TyList
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 30 195 36
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 30 195 31
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 35 195 36
+                   ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 35
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33
+                           , srcInfoPoints = []
+                           }
+                         "Gi")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 34 195 35
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 34 195 35
+                        , srcInfoPoints = []
+                        }
+                      "a"))))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 41
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 6 196 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 28 196 29
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 27
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17
+                        , srcInfoPoints = []
+                        }
+                      "F2")))
+             (TyParen
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 18 196 27
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 18 196 19
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 26 196 27
+                      ]
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 26
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24
+                              , srcInfoPoints = []
+                              }
+                            "Maybe")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 25 196 26
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 25 196 26
+                           , srcInfoPoints = []
+                           }
+                         "a")))))
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 41
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 35 196 37 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 34
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32
+                           , srcInfoPoints = []
+                           }
+                         "Hi")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 33 196 34
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 33 196 34
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41
+                        , srcInfoPoints = []
+                        }
+                      "Int"))))
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 17
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 6 198 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 17
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 15
+                     , srcInfoPoints = []
+                     }
+                   "F4"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 16 198 17
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 16 198 17
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 18 198 21
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 18 198 19 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 20 198 21
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 20 198 21
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 22 198 30
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 22 198 23
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 26 198 28
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 24 198 25
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 29 198 30
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 50
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 6 199 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 28 199 29
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 21
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17
+                        , srcInfoPoints = []
+                        }
+                      "F4")))
+             (TyList
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 18 199 21
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 18 199 19
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 20 199 21
+                      ]
+                  }
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 19 199 20
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 19 199 20
+                        , srcInfoPoints = []
+                        }
+                      "a"))))
+          (TyTuple
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 30 199 50
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 30 199 31
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 35 199 36
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 38 199 39
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 43 199 44
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 49 199 50
+                   ]
+               }
+             Boxed
+             [ TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 35
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33
+                            , srcInfoPoints = []
+                            }
+                          "Gx")))
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 34 199 35
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 34 199 35
+                         , srcInfoPoints = []
+                         }
+                       "a"))
+             , TyVar
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 37 199 38
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 37 199 38
+                      , srcInfoPoints = []
+                      }
+                    "a")
+             , TyVar
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 42 199 43
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 42 199 43
+                      , srcInfoPoints = []
+                      }
+                    "a")
+             , TyVar
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 48 199 49
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 48 199 49
+                      , srcInfoPoints = []
+                      }
+                    "a")
+             ])
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 50
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 6 200 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 28 200 29
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 27
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17
+                        , srcInfoPoints = []
+                        }
+                      "F4")))
+             (TyParen
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 18 200 27
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 18 200 19
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 26 200 27
+                      ]
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 26
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24
+                              , srcInfoPoints = []
+                              }
+                            "Maybe")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 25 200 26
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 25 200 26
+                           , srcInfoPoints = []
+                           }
+                         "a")))))
+          (TyTuple
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 30 200 50
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 30 200 31
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 35 200 36
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 38 200 39
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 43 200 44
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 49 200 50
+                   ]
+               }
+             Boxed
+             [ TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 35
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33
+                            , srcInfoPoints = []
+                            }
+                          "Hx")))
+                 (TyVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 34 200 35
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 34 200 35
+                         , srcInfoPoints = []
+                         }
+                       "a"))
+             , TyVar
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 37 200 38
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 37 200 38
+                      , srcInfoPoints = []
+                      }
+                    "a")
+             , TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43
+                         , srcInfoPoints = []
+                         }
+                       "Int"))
+             , TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49
+                         , srcInfoPoints = []
+                         }
+                       "Bool"))
+             ])
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 19
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 6 202 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 19
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 17
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 15
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 15
+                        , srcInfoPoints = []
+                        }
+                      "G2"))
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 16 202 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 16 202 17
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 18 202 19
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 18 202 19
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 20 202 23
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 20 202 21 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 22 202 23
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 22 202 23
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 24 202 32
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 24 202 25
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 28 202 30
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 26 202 27
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 31 202 32
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 33 202 34
+                      , srcInfoPoints = []
+                      }
+                    "b"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 36
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 6 203 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 28 203 29
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 27
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 19
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17
+                           , srcInfoPoints = []
+                           }
+                         "G2")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 18 203 19
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 18 203 19
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27
+                        , srcInfoPoints = []
+                        }
+                      "Bool"))))
+          (TyTuple
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 30 203 36
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 30 203 31
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 32 203 33
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 35 203 36
+                   ]
+               }
+             Boxed
+             [ TyVar
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 31 203 32
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 31 203 32
+                      , srcInfoPoints = []
+                      }
+                    "a")
+             , TyVar
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 34 203 35
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 34 203 35
+                      , srcInfoPoints = []
+                      }
+                    "a")
+             ])
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 39
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 6 204 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 28 204 29
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 24
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 22
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17
+                           , srcInfoPoints = []
+                           }
+                         "G2")))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22
+                           , srcInfoPoints = []
+                           }
+                         "Bool"))))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 23 204 24
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 23 204 24
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (TyTuple
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 30 204 39
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 30 204 31
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 32 204 33
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 38 204 39
+                   ]
+               }
+             Boxed
+             [ TyVar
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 31 204 32
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 31 204 32
+                      , srcInfoPoints = []
+                      }
+                    "b")
+             , TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38
+                         , srcInfoPoints = []
+                         }
+                       "Bool"))
+             ])
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 17
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 6 206 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 17
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 15
+                     , srcInfoPoints = []
+                     }
+                   "G6"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 16 206 17
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 16 206 17
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 18 206 21
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 18 206 19 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 20 206 21
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 20 206 21
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 22 206 30
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 22 206 23
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 26 206 28
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 24 206 25
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 29 206 30
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 31
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 6 207 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 23 207 24
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 21
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17
+                        , srcInfoPoints = []
+                        }
+                      "G6")))
+             (TyList
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 18 207 21
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 18 207 19
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 20 207 21
+                      ]
+                  }
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 19 207 20
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 19 207 20
+                        , srcInfoPoints = []
+                        }
+                      "a"))))
+          (TyList
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 25 207 31
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 25 207 26
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 30 207 31
+                   ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 30
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28
+                           , srcInfoPoints = []
+                           }
+                         "Gi")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 29 207 30
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 29 207 30
+                        , srcInfoPoints = []
+                        }
+                      "a"))))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 28
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 6 208 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 23 208 24
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 22
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17
+                        , srcInfoPoints = []
+                        }
+                      "G6")))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22
+                        , srcInfoPoints = []
+                        }
+                      "Bool"))))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28
+                     , srcInfoPoints = []
+                     }
+                   "Int")))
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 22
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 7 210 9 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 6
+                , srcInfoPoints = []
+                }
+              "g6_id"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 22
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 15 210 17 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 14
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12
+                           , srcInfoPoints = []
+                           }
+                         "G6")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 13 210 14
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 13 210 14
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 22
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20
+                           , srcInfoPoints = []
+                           }
+                         "G6")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 21 210 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 21 210 22
+                        , srcInfoPoints = []
+                        }
+                      "a"))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 12
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 12
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 6
+                   , srcInfoPoints = []
+                   }
+                 "g6_id")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan =
+                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 7 211 8
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 7 211 8
+                       , srcInfoPoints = []
+                       }
+                     "x")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 9 211 12
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 9 211 10 ]
+                   }
+                 (Var
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12
+                            , srcInfoPoints = []
+                            }
+                          "x"))))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 17
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 8 213 10 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 7
+                , srcInfoPoints = []
+                }
+              "g6_use"
+          ]
+          (TyList
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 11 213 17
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 11 213 12
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 16 213 17
+                   ]
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16
+                        , srcInfoPoints = []
+                        }
+                      "Char"))))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 21
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 7
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 7
+                  , srcInfoPoints = []
+                  }
+                "g6_use"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 8 214 21
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 8 214 9 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 21
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15
+                           , srcInfoPoints = []
+                           }
+                         "g6_id")))
+                (Lit
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 16 214 21
+                     , srcInfoPoints = []
+                     }
+                   (String
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 16 214 21
+                        , srcInfoPoints = []
+                        }
+                      "foo"
+                      "foo"))))
+          Nothing
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 24
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 6 217 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 24
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 15
+                     , srcInfoPoints = []
+                     }
+                   "Id"))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 16 217 24
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 16 217 17
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 19 217 21
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 23 217 24
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 17 217 18
+                     , srcInfoPoints = []
+                     }
+                   "a")
+                (KindVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      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")))))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 25 217 40
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 25 217 26 ]
+                  }
+                (KindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 27 217 40
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 27 217 28
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 35 217 37
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 39 217 40
+                         ]
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 28 217 34
+                        , srcInfoPoints = []
+                        }
+                      "result")
+                   (KindVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         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"))))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 41 217 54
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 41 217 42
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 50 217 52
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 43 217 49
+                     , srcInfoPoints = []
+                     }
+                   "result")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 53 217 54
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 23
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 6 218 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 20 218 21
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 19
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17
+                        , srcInfoPoints = []
+                        }
+                      "Id")))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 18 218 19
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 18 218 19
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (TyVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 22 218 23
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 22 218 23
+                  , srcInfoPoints = []
+                  }
+                "a"))
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 31
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 6 222 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 31
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 29
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 20
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 20
+                        , srcInfoPoints = []
+                        }
+                      "IdProxy"))
+                (KindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 21 222 29
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 21 222 22
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 24 222 26
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 28 222 29
+                         ]
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 22 222 23
+                        , srcInfoPoints = []
+                        }
+                      "a")
+                   (KindVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         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")))))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 30 222 31
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 30 222 31
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 32 222 35
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 32 222 33 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 34 222 35
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 34 222 35
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 36 222 44
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 36 222 37
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 40 222 42
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 38 222 39
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 43 222 44
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 37
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 6 223 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 27 223 28
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 26
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 24
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22
+                           , srcInfoPoints = []
+                           }
+                         "IdProxy")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 23 223 24
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 23 223 24
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 25 223 26
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 25 223 26
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 37
+               , srcInfoPoints = []
+               }
+             (TyParen
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 35
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 30
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 34 223 35
+                      ]
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 34
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32
+                              , srcInfoPoints = []
+                              }
+                            "Id")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 33 223 34
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 33 223 34
+                           , srcInfoPoints = []
+                           }
+                         "a"))))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 36 223 37
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 36 223 37
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+      , TypeDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 20
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 14 226 15
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 13
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 11
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 11
+                     , srcInfoPoints = []
+                     }
+                   "IdSyn"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 12 226 13
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 12 226 13
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 20
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18
+                        , srcInfoPoints = []
+                        }
+                      "Id")))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 19 226 20
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 19 226 20
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 34
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 6 227 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 34
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 32
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 23
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 23
+                        , srcInfoPoints = []
+                        }
+                      "IdProxySyn"))
+                (KindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 24 227 32
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 24 227 25
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 27 227 29
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 31 227 32
+                         ]
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 25 227 26
+                        , srcInfoPoints = []
+                        }
+                      "a")
+                   (KindVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         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")))))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 33 227 34
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 33 227 34
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 35 227 38
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 35 227 36 ]
+                  }
+                (UnkindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 37 227 38
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 37 227 38
+                        , srcInfoPoints = []
+                        }
+                      "r"))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 39 227 47
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 39 227 40
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 43 227 45
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 41 227 42
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 46 227 47
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 43
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 6 228 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 30 228 31
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 29
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 27
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25
+                           , srcInfoPoints = []
+                           }
+                         "IdProxySyn")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 26 228 27
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 26 228 27
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 28 228 29
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 28 228 29
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 43
+               , srcInfoPoints = []
+               }
+             (TyParen
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 41
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 33
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 40 228 41
+                      ]
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 40
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38
+                              , srcInfoPoints = []
+                              }
+                            "IdSyn")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 39 228 40
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 39 228 40
+                           , srcInfoPoints = []
+                           }
+                         "a"))))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 42 228 43
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 42 228 43
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 33
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 6 232 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 33
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 24
+                  , srcInfoPoints = []
+                  }
+                (DHead
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 15
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 15
+                        , srcInfoPoints = []
+                        }
+                      "Fa"))
+                (KindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 16 232 24
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 16 232 17
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 19 232 21
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 23 232 24
+                         ]
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 17 232 18
+                        , srcInfoPoints = []
+                        }
+                      "a")
+                   (KindVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         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")))))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 25 232 33
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 25 232 26
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 28 232 30
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 32 232 33
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 26 232 27
+                     , srcInfoPoints = []
+                     }
+                   "b")
+                (KindVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      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")))))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 34 232 45
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 34 232 35 ]
+                  }
+                (KindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 36 232 45
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 36 232 37
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 39 232 41
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 44 232 45
+                         ]
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 37 232 38
+                        , srcInfoPoints = []
+                        }
+                      "r")
+                   (KindVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         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"))))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 46 232 54
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 46 232 47
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 50 232 52
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 48 232 49
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 53 232 54
+                      , srcInfoPoints = []
+                      }
+                    "k"
+                ]))
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 25
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 6 233 14
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 22 233 23
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 21
+               , srcInfoPoints = []
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 19
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17
+                           , srcInfoPoints = []
+                           }
+                         "Fa")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 18 233 19
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 18 233 19
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 20 233 21
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 20 233 21
+                     , srcInfoPoints = []
+                     }
+                   "b")))
+          (TyVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 24 233 25
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 24 233 25
+                  , srcInfoPoints = []
+                  }
+                "a"))
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 51
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 6 236 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 51
+               , srcInfoPoints = []
+               }
+             (DHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 42
+                  , srcInfoPoints = []
+                  }
+                (DHApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 33
+                     , srcInfoPoints = []
+                     }
+                   (DHead
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 16
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 16
+                           , srcInfoPoints = []
+                           }
+                         "Arr"))
+                   (KindedVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 17 236 33
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 17 236 18
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 23 236 25
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 32 236 33
+                            ]
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 18 236 22
+                           , srcInfoPoints = []
+                           }
+                         "repr")
+                      (KindFn
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 26 236 32
+                           , srcInfoPoints =
+                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 28 236 30 ]
+                           }
+                         (KindStar
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 26 236 27
+                              , srcInfoPoints = []
+                              })
+                         (KindStar
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 31 236 32
+                              , srcInfoPoints = []
+                              }))))
+                (KindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 34 236 42
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 34 236 35
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 37 236 39
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 41 236 42
+                         ]
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 35 236 36
+                        , srcInfoPoints = []
+                        }
+                      "a")
+                   (KindStar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 40 236 41
+                        , srcInfoPoints = []
+                        })))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 43 236 51
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 43 236 44
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 46 236 48
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 50 236 51
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 44 236 45
+                     , srcInfoPoints = []
+                     }
+                   "b")
+                (KindStar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 49 236 50
+                     , srcInfoPoints = []
+                     })))
+          (Just
+             (TyVarSig
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 52 236 62
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 52 236 53 ]
+                  }
+                (KindedVar
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 54 236 62
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 54 236 55
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 57 236 59
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 61 236 62
+                         ]
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 55 236 56
+                        , srcInfoPoints = []
+                        }
+                      "r")
+                   (KindStar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 60 236 61
+                        , srcInfoPoints = []
+                        }))))
+          (Just
+             (InjectivityInfo
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 63 236 74
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 63 236 64
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 67 236 69
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 65 236 66
+                     , srcInfoPoints = []
+                     }
+                   "r")
+                [ Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 70 236 74
+                      , srcInfoPoints = []
+                      }
+                    "repr"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 75 236 76
+                      , srcInfoPoints = []
+                      }
+                    "a"
+                , Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 77 236 78
+                      , srcInfoPoints = []
+                      }
+                    "b"
+                ]))
+      , ClassDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 243 51
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 238 6
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 23 238 28
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 0
+                ]
+            }
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 22
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 17
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 17
+                     , srcInfoPoints = []
+                     }
+                   "ESymantics"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 18 238 22
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 18 238 22
+                     , srcInfoPoints = []
+                     }
+                   "repr")))
+          []
+          (Just
+             [ ClsDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 28
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 9 239 11 ]
+                   }
+                 (TypeSig
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 28
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 9 239 11 ]
+                      }
+                    [ Ident
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 8
+                          , srcInfoPoints = []
+                          }
+                        "int"
+                    ]
+                    (TyFun
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 28
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 17 239 19 ]
+                         }
+                       (TyCon
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15
+                                  , srcInfoPoints = []
+                                  }
+                                "Int")))
+                       (TyApp
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 28
+                            , srcInfoPoints = []
+                            }
+                          (TyVar
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 24
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 24
+                                  , srcInfoPoints = []
+                                  }
+                                "repr"))
+                          (TyCon
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28
+                               , srcInfoPoints = []
+                               }
+                             (UnQual
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28
+                                     , srcInfoPoints = []
+                                     }
+                                   "Int"))))))
+             , ClsDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 45
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 9 240 11 ]
+                   }
+                 (TypeSig
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 45
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 9 240 11 ]
+                      }
+                    [ Ident
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 8
+                          , srcInfoPoints = []
+                          }
+                        "add"
+                    ]
+                    (TyFun
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 45
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 22 240 24 ]
+                         }
+                       (TyApp
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 20
+                            , srcInfoPoints = []
+                            }
+                          (TyVar
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 16
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 16
+                                  , srcInfoPoints = []
+                                  }
+                                "repr"))
+                          (TyCon
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20
+                               , srcInfoPoints = []
+                               }
+                             (UnQual
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20
+                                     , srcInfoPoints = []
+                                     }
+                                   "Int"))))
+                       (TyFun
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 45
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 34 240 36 ]
+                            }
+                          (TyApp
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 33
+                               , srcInfoPoints = []
+                               }
+                             (TyVar
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 29
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 29
+                                     , srcInfoPoints = []
+                                     }
+                                   "repr"))
+                             (TyCon
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 240 30 240 33
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 240 30 240 33
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              240
+                                              30
+                                              240
+                                              33
+                                        , srcInfoPoints = []
+                                        }
+                                      "Int"))))
+                          (TyApp
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 45
+                               , srcInfoPoints = []
+                               }
+                             (TyVar
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 41
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 41
+                                     , srcInfoPoints = []
+                                     }
+                                   "repr"))
+                             (TyCon
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 240 42 240 45
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 240 42 240 45
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              240
+                                              42
+                                              240
+                                              45
+                                        , srcInfoPoints = []
+                                        }
+                                      "Int")))))))
+             , ClsDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 53
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 9 242 11 ]
+                   }
+                 (TypeSig
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 53
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 9 242 11 ]
+                      }
+                    [ Ident
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 8
+                          , srcInfoPoints = []
+                          }
+                        "lam"
+                    ]
+                    (TyFun
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 53
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 31 242 33 ]
+                         }
+                       (TyParen
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 30
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 13
+                                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 29 242 30
+                                ]
+                            }
+                          (TyFun
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 29
+                               , srcInfoPoints =
+                                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 20 242 22
+                                   ]
+                               }
+                             (TyApp
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 19
+                                  , srcInfoPoints = []
+                                  }
+                                (TyVar
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 17
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              242
+                                              13
+                                              242
+                                              17
+                                        , srcInfoPoints = []
+                                        }
+                                      "repr"))
+                                (TyVar
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 242 18 242 19
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              242
+                                              18
+                                              242
+                                              19
+                                        , srcInfoPoints = []
+                                        }
+                                      "a")))
+                             (TyApp
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 242 23 242 29
+                                  , srcInfoPoints = []
+                                  }
+                                (TyVar
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 242 23 242 27
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              242
+                                              23
+                                              242
+                                              27
+                                        , srcInfoPoints = []
+                                        }
+                                      "repr"))
+                                (TyVar
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 242 28 242 29
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              242
+                                              28
+                                              242
+                                              29
+                                        , srcInfoPoints = []
+                                        }
+                                      "b")))))
+                       (TyApp
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 53
+                            , srcInfoPoints = []
+                            }
+                          (TyVar
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 38
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 38
+                                  , srcInfoPoints = []
+                                  }
+                                "repr"))
+                          (TyParen
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 39 242 53
+                               , srcInfoPoints =
+                                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 39 242 40
+                                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 52 242 53
+                                   ]
+                               }
+                             (TyApp
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 242 40 242 52
+                                  , srcInfoPoints = []
+                                  }
+                                (TyApp
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 242 40 242 50
+                                     , srcInfoPoints = []
+                                     }
+                                   (TyApp
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              242
+                                              40
+                                              242
+                                              48
+                                        , srcInfoPoints = []
+                                        }
+                                      (TyCon
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan
+                                                 "tests/examples/InjectiveTypeFamilies.hs"
+                                                 242
+                                                 40
+                                                 242
+                                                 43
+                                           , srcInfoPoints = []
+                                           }
+                                         (UnQual
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/InjectiveTypeFamilies.hs"
+                                                    242
+                                                    40
+                                                    242
+                                                    43
+                                              , srcInfoPoints = []
+                                              }
+                                            (Ident
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan
+                                                       "tests/examples/InjectiveTypeFamilies.hs"
+                                                       242
+                                                       40
+                                                       242
+                                                       43
+                                                 , srcInfoPoints = []
+                                                 }
+                                               "Arr")))
+                                      (TyVar
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan
+                                                 "tests/examples/InjectiveTypeFamilies.hs"
+                                                 242
+                                                 44
+                                                 242
+                                                 48
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/InjectiveTypeFamilies.hs"
+                                                    242
+                                                    44
+                                                    242
+                                                    48
+                                              , srcInfoPoints = []
+                                              }
+                                            "repr")))
+                                   (TyVar
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              242
+                                              49
+                                              242
+                                              50
+                                        , srcInfoPoints = []
+                                        }
+                                      (Ident
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan
+                                                 "tests/examples/InjectiveTypeFamilies.hs"
+                                                 242
+                                                 49
+                                                 242
+                                                 50
+                                           , srcInfoPoints = []
+                                           }
+                                         "a")))
+                                (TyVar
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 242 51 242 52
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              242
+                                              51
+                                              242
+                                              52
+                                        , srcInfoPoints = []
+                                        }
+                                      "b")))))))
+             , ClsDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 51
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 9 243 11 ]
+                   }
+                 (TypeSig
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 51
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 9 243 11 ]
+                      }
+                    [ Ident
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 8
+                          , srcInfoPoints = []
+                          }
+                        "app"
+                    ]
+                    (TyFun
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 51
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 32 243 34 ]
+                         }
+                       (TyApp
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 31
+                            , srcInfoPoints = []
+                            }
+                          (TyVar
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 16
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 16
+                                  , srcInfoPoints = []
+                                  }
+                                "repr"))
+                          (TyParen
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 17 243 31
+                               , srcInfoPoints =
+                                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 17 243 18
+                                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 30 243 31
+                                   ]
+                               }
+                             (TyApp
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 243 18 243 30
+                                  , srcInfoPoints = []
+                                  }
+                                (TyApp
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 243 18 243 28
+                                     , srcInfoPoints = []
+                                     }
+                                   (TyApp
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              243
+                                              18
+                                              243
+                                              26
+                                        , srcInfoPoints = []
+                                        }
+                                      (TyCon
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan
+                                                 "tests/examples/InjectiveTypeFamilies.hs"
+                                                 243
+                                                 18
+                                                 243
+                                                 21
+                                           , srcInfoPoints = []
+                                           }
+                                         (UnQual
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/InjectiveTypeFamilies.hs"
+                                                    243
+                                                    18
+                                                    243
+                                                    21
+                                              , srcInfoPoints = []
+                                              }
+                                            (Ident
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan
+                                                       "tests/examples/InjectiveTypeFamilies.hs"
+                                                       243
+                                                       18
+                                                       243
+                                                       21
+                                                 , srcInfoPoints = []
+                                                 }
+                                               "Arr")))
+                                      (TyVar
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan
+                                                 "tests/examples/InjectiveTypeFamilies.hs"
+                                                 243
+                                                 22
+                                                 243
+                                                 26
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/InjectiveTypeFamilies.hs"
+                                                    243
+                                                    22
+                                                    243
+                                                    26
+                                              , srcInfoPoints = []
+                                              }
+                                            "repr")))
+                                   (TyVar
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              243
+                                              27
+                                              243
+                                              28
+                                        , srcInfoPoints = []
+                                        }
+                                      (Ident
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan
+                                                 "tests/examples/InjectiveTypeFamilies.hs"
+                                                 243
+                                                 27
+                                                 243
+                                                 28
+                                           , srcInfoPoints = []
+                                           }
+                                         "a")))
+                                (TyVar
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 243 29 243 30
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              243
+                                              29
+                                              243
+                                              30
+                                        , srcInfoPoints = []
+                                        }
+                                      "b")))))
+                       (TyFun
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 51
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 42 243 44 ]
+                            }
+                          (TyApp
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 41
+                               , srcInfoPoints = []
+                               }
+                             (TyVar
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 39
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 39
+                                     , srcInfoPoints = []
+                                     }
+                                   "repr"))
+                             (TyVar
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 243 40 243 41
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 243 40 243 41
+                                     , srcInfoPoints = []
+                                     }
+                                   "a")))
+                          (TyApp
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 51
+                               , srcInfoPoints = []
+                               }
+                             (TyVar
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 49
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 49
+                                     , srcInfoPoints = []
+                                     }
+                                   "repr"))
+                             (TyVar
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 243 50 243 51
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 243 50 243 51
+                                     , srcInfoPoints = []
+                                     }
+                                   "b"))))))
+             ])
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 246 63
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 4
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 4
+                  , srcInfoPoints = []
+                  }
+                "te4"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 5 246 63
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 5 245 6 ]
+               }
+             (Let
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 7 246 63
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 7 245 10
+                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 7 246 9
+                      ]
+                  }
+                (BDecls
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 69
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 11
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 7 246 0
+                         ]
+                     }
+                   [ PatBind
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 69
+                         , srcInfoPoints = []
+                         }
+                       (PVar
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 13
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 13
+                               , srcInfoPoints = []
+                               }
+                             "c3"))
+                       (UnGuardedRhs
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 14 245 69
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 14 245 15 ]
+                            }
+                          (App
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 69
+                               , srcInfoPoints = []
+                               }
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 19
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 19
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              245
+                                              16
+                                              245
+                                              19
+                                        , srcInfoPoints = []
+                                        }
+                                      "lam")))
+                             (Paren
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 245 20 245 69
+                                  , srcInfoPoints =
+                                      [ SrcSpan
+                                          "tests/examples/InjectiveTypeFamilies.hs" 245 20 245 21
+                                      , SrcSpan
+                                          "tests/examples/InjectiveTypeFamilies.hs" 245 68 245 69
+                                      ]
+                                  }
+                                (Lambda
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 245 21 245 68
+                                     , srcInfoPoints =
+                                         [ SrcSpan
+                                             "tests/examples/InjectiveTypeFamilies.hs" 245 21 245 22
+                                         , SrcSpan
+                                             "tests/examples/InjectiveTypeFamilies.hs" 245 24 245 26
+                                         ]
+                                     }
+                                   [ PVar
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan
+                                               "tests/examples/InjectiveTypeFamilies.hs"
+                                               245
+                                               22
+                                               245
+                                               23
+                                         , srcInfoPoints = []
+                                         }
+                                       (Ident
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan
+                                                  "tests/examples/InjectiveTypeFamilies.hs"
+                                                  245
+                                                  22
+                                                  245
+                                                  23
+                                            , srcInfoPoints = []
+                                            }
+                                          "f")
+                                   ]
+                                   (App
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan
+                                              "tests/examples/InjectiveTypeFamilies.hs"
+                                              245
+                                              27
+                                              245
+                                              68
+                                        , srcInfoPoints = []
+                                        }
+                                      (Var
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan
+                                                 "tests/examples/InjectiveTypeFamilies.hs"
+                                                 245
+                                                 27
+                                                 245
+                                                 30
+                                           , srcInfoPoints = []
+                                           }
+                                         (UnQual
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/InjectiveTypeFamilies.hs"
+                                                    245
+                                                    27
+                                                    245
+                                                    30
+                                              , srcInfoPoints = []
+                                              }
+                                            (Ident
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan
+                                                       "tests/examples/InjectiveTypeFamilies.hs"
+                                                       245
+                                                       27
+                                                       245
+                                                       30
+                                                 , srcInfoPoints = []
+                                                 }
+                                               "lam")))
+                                      (Paren
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan
+                                                 "tests/examples/InjectiveTypeFamilies.hs"
+                                                 245
+                                                 31
+                                                 245
+                                                 68
+                                           , srcInfoPoints =
+                                               [ SrcSpan
+                                                   "tests/examples/InjectiveTypeFamilies.hs"
+                                                   245
+                                                   31
+                                                   245
+                                                   32
+                                               , SrcSpan
+                                                   "tests/examples/InjectiveTypeFamilies.hs"
+                                                   245
+                                                   67
+                                                   245
+                                                   68
+                                               ]
+                                           }
+                                         (Lambda
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/InjectiveTypeFamilies.hs"
+                                                    245
+                                                    32
+                                                    245
+                                                    67
+                                              , srcInfoPoints =
+                                                  [ SrcSpan
+                                                      "tests/examples/InjectiveTypeFamilies.hs"
+                                                      245
+                                                      32
+                                                      245
+                                                      33
+                                                  , SrcSpan
+                                                      "tests/examples/InjectiveTypeFamilies.hs"
+                                                      245
+                                                      35
+                                                      245
+                                                      37
+                                                  ]
+                                              }
+                                            [ PVar
+                                                SrcSpanInfo
+                                                  { srcInfoSpan =
+                                                      SrcSpan
+                                                        "tests/examples/InjectiveTypeFamilies.hs"
+                                                        245
+                                                        33
+                                                        245
+                                                        34
+                                                  , srcInfoPoints = []
+                                                  }
+                                                (Ident
+                                                   SrcSpanInfo
+                                                     { srcInfoSpan =
+                                                         SrcSpan
+                                                           "tests/examples/InjectiveTypeFamilies.hs"
+                                                           245
+                                                           33
+                                                           245
+                                                           34
+                                                     , srcInfoPoints = []
+                                                     }
+                                                   "x")
+                                            ]
+                                            (InfixApp
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan
+                                                       "tests/examples/InjectiveTypeFamilies.hs"
+                                                       245
+                                                       38
+                                                       245
+                                                       67
+                                                 , srcInfoPoints = []
+                                                 }
+                                               (Var
+                                                  SrcSpanInfo
+                                                    { srcInfoSpan =
+                                                        SrcSpan
+                                                          "tests/examples/InjectiveTypeFamilies.hs"
+                                                          245
+                                                          38
+                                                          245
+                                                          39
+                                                    , srcInfoPoints = []
+                                                    }
+                                                  (UnQual
+                                                     SrcSpanInfo
+                                                       { srcInfoSpan =
+                                                           SrcSpan
+                                                             "tests/examples/InjectiveTypeFamilies.hs"
+                                                             245
+                                                             38
+                                                             245
+                                                             39
+                                                       , srcInfoPoints = []
+                                                       }
+                                                     (Ident
+                                                        SrcSpanInfo
+                                                          { srcInfoSpan =
+                                                              SrcSpan
+                                                                "tests/examples/InjectiveTypeFamilies.hs"
+                                                                245
+                                                                38
+                                                                245
+                                                                39
+                                                          , srcInfoPoints = []
+                                                          }
+                                                        "f")))
+                                               (QVarOp
+                                                  SrcSpanInfo
+                                                    { srcInfoSpan =
+                                                        SrcSpan
+                                                          "tests/examples/InjectiveTypeFamilies.hs"
+                                                          245
+                                                          40
+                                                          245
+                                                          45
+                                                    , srcInfoPoints =
+                                                        [ SrcSpan
+                                                            "tests/examples/InjectiveTypeFamilies.hs"
+                                                            245
+                                                            40
+                                                            245
+                                                            41
+                                                        , SrcSpan
+                                                            "tests/examples/InjectiveTypeFamilies.hs"
+                                                            245
+                                                            41
+                                                            245
+                                                            44
+                                                        , SrcSpan
+                                                            "tests/examples/InjectiveTypeFamilies.hs"
+                                                            245
+                                                            44
+                                                            245
+                                                            45
+                                                        ]
+                                                    }
+                                                  (UnQual
+                                                     SrcSpanInfo
+                                                       { srcInfoSpan =
+                                                           SrcSpan
+                                                             "tests/examples/InjectiveTypeFamilies.hs"
+                                                             245
+                                                             40
+                                                             245
+                                                             45
+                                                       , srcInfoPoints =
+                                                           [ SrcSpan
+                                                               "tests/examples/InjectiveTypeFamilies.hs"
+                                                               245
+                                                               40
+                                                               245
+                                                               41
+                                                           , SrcSpan
+                                                               "tests/examples/InjectiveTypeFamilies.hs"
+                                                               245
+                                                               41
+                                                               245
+                                                               44
+                                                           , SrcSpan
+                                                               "tests/examples/InjectiveTypeFamilies.hs"
+                                                               245
+                                                               44
+                                                               245
+                                                               45
+                                                           ]
+                                                       }
+                                                     (Ident
+                                                        SrcSpanInfo
+                                                          { srcInfoSpan =
+                                                              SrcSpan
+                                                                "tests/examples/InjectiveTypeFamilies.hs"
+                                                                245
+                                                                41
+                                                                245
+                                                                44
+                                                          , srcInfoPoints = []
+                                                          }
+                                                        "app")))
+                                               (Paren
+                                                  SrcSpanInfo
+                                                    { srcInfoSpan =
+                                                        SrcSpan
+                                                          "tests/examples/InjectiveTypeFamilies.hs"
+                                                          245
+                                                          46
+                                                          245
+                                                          67
+                                                    , srcInfoPoints =
+                                                        [ SrcSpan
+                                                            "tests/examples/InjectiveTypeFamilies.hs"
+                                                            245
+                                                            46
+                                                            245
+                                                            47
+                                                        , SrcSpan
+                                                            "tests/examples/InjectiveTypeFamilies.hs"
+                                                            245
+                                                            66
+                                                            245
+                                                            67
+                                                        ]
+                                                    }
+                                                  (InfixApp
+                                                     SrcSpanInfo
+                                                       { srcInfoSpan =
+                                                           SrcSpan
+                                                             "tests/examples/InjectiveTypeFamilies.hs"
+                                                             245
+                                                             47
+                                                             245
+                                                             66
+                                                       , srcInfoPoints = []
+                                                       }
+                                                     (Var
+                                                        SrcSpanInfo
+                                                          { srcInfoSpan =
+                                                              SrcSpan
+                                                                "tests/examples/InjectiveTypeFamilies.hs"
+                                                                245
+                                                                47
+                                                                245
+                                                                48
+                                                          , srcInfoPoints = []
+                                                          }
+                                                        (UnQual
+                                                           SrcSpanInfo
+                                                             { srcInfoSpan =
+                                                                 SrcSpan
+                                                                   "tests/examples/InjectiveTypeFamilies.hs"
+                                                                   245
+                                                                   47
+                                                                   245
+                                                                   48
+                                                             , srcInfoPoints = []
+                                                             }
+                                                           (Ident
+                                                              SrcSpanInfo
+                                                                { srcInfoSpan =
+                                                                    SrcSpan
+                                                                      "tests/examples/InjectiveTypeFamilies.hs"
+                                                                      245
+                                                                      47
+                                                                      245
+                                                                      48
+                                                                , srcInfoPoints = []
+                                                                }
+                                                              "f")))
+                                                     (QVarOp
+                                                        SrcSpanInfo
+                                                          { srcInfoSpan =
+                                                              SrcSpan
+                                                                "tests/examples/InjectiveTypeFamilies.hs"
+                                                                245
+                                                                49
+                                                                245
+                                                                54
+                                                          , srcInfoPoints =
+                                                              [ SrcSpan
+                                                                  "tests/examples/InjectiveTypeFamilies.hs"
+                                                                  245
+                                                                  49
+                                                                  245
+                                                                  50
+                                                              , SrcSpan
+                                                                  "tests/examples/InjectiveTypeFamilies.hs"
+                                                                  245
+                                                                  50
+                                                                  245
+                                                                  53
+                                                              , SrcSpan
+                                                                  "tests/examples/InjectiveTypeFamilies.hs"
+                                                                  245
+                                                                  53
+                                                                  245
+                                                                  54
+                                                              ]
+                                                          }
+                                                        (UnQual
+                                                           SrcSpanInfo
+                                                             { srcInfoSpan =
+                                                                 SrcSpan
+                                                                   "tests/examples/InjectiveTypeFamilies.hs"
+                                                                   245
+                                                                   49
+                                                                   245
+                                                                   54
+                                                             , srcInfoPoints =
+                                                                 [ SrcSpan
+                                                                     "tests/examples/InjectiveTypeFamilies.hs"
+                                                                     245
+                                                                     49
+                                                                     245
+                                                                     50
+                                                                 , SrcSpan
+                                                                     "tests/examples/InjectiveTypeFamilies.hs"
+                                                                     245
+                                                                     50
+                                                                     245
+                                                                     53
+                                                                 , SrcSpan
+                                                                     "tests/examples/InjectiveTypeFamilies.hs"
+                                                                     245
+                                                                     53
+                                                                     245
+                                                                     54
+                                                                 ]
+                                                             }
+                                                           (Ident
+                                                              SrcSpanInfo
+                                                                { srcInfoSpan =
+                                                                    SrcSpan
+                                                                      "tests/examples/InjectiveTypeFamilies.hs"
+                                                                      245
+                                                                      50
+                                                                      245
+                                                                      53
+                                                                , srcInfoPoints = []
+                                                                }
+                                                              "app")))
+                                                     (Paren
+                                                        SrcSpanInfo
+                                                          { srcInfoSpan =
+                                                              SrcSpan
+                                                                "tests/examples/InjectiveTypeFamilies.hs"
+                                                                245
+                                                                55
+                                                                245
+                                                                66
+                                                          , srcInfoPoints =
+                                                              [ SrcSpan
+                                                                  "tests/examples/InjectiveTypeFamilies.hs"
+                                                                  245
+                                                                  55
+                                                                  245
+                                                                  56
+                                                              , SrcSpan
+                                                                  "tests/examples/InjectiveTypeFamilies.hs"
+                                                                  245
+                                                                  65
+                                                                  245
+                                                                  66
+                                                              ]
+                                                          }
+                                                        (InfixApp
+                                                           SrcSpanInfo
+                                                             { srcInfoSpan =
+                                                                 SrcSpan
+                                                                   "tests/examples/InjectiveTypeFamilies.hs"
+                                                                   245
+                                                                   56
+                                                                   245
+                                                                   65
+                                                             , srcInfoPoints = []
+                                                             }
+                                                           (Var
+                                                              SrcSpanInfo
+                                                                { srcInfoSpan =
+                                                                    SrcSpan
+                                                                      "tests/examples/InjectiveTypeFamilies.hs"
+                                                                      245
+                                                                      56
+                                                                      245
+                                                                      57
+                                                                , srcInfoPoints = []
+                                                                }
+                                                              (UnQual
+                                                                 SrcSpanInfo
+                                                                   { srcInfoSpan =
+                                                                       SrcSpan
+                                                                         "tests/examples/InjectiveTypeFamilies.hs"
+                                                                         245
+                                                                         56
+                                                                         245
+                                                                         57
+                                                                   , srcInfoPoints = []
+                                                                   }
+                                                                 (Ident
+                                                                    SrcSpanInfo
+                                                                      { srcInfoSpan =
+                                                                          SrcSpan
+                                                                            "tests/examples/InjectiveTypeFamilies.hs"
+                                                                            245
+                                                                            56
+                                                                            245
+                                                                            57
+                                                                      , srcInfoPoints = []
+                                                                      }
+                                                                    "f")))
+                                                           (QVarOp
+                                                              SrcSpanInfo
+                                                                { srcInfoSpan =
+                                                                    SrcSpan
+                                                                      "tests/examples/InjectiveTypeFamilies.hs"
+                                                                      245
+                                                                      58
+                                                                      245
+                                                                      63
+                                                                , srcInfoPoints =
+                                                                    [ SrcSpan
+                                                                        "tests/examples/InjectiveTypeFamilies.hs"
+                                                                        245
+                                                                        58
+                                                                        245
+                                                                        59
+                                                                    , SrcSpan
+                                                                        "tests/examples/InjectiveTypeFamilies.hs"
+                                                                        245
+                                                                        59
+                                                                        245
+                                                                        62
+                                                                    , SrcSpan
+                                                                        "tests/examples/InjectiveTypeFamilies.hs"
+                                                                        245
+                                                                        62
+                                                                        245
+                                                                        63
+                                                                    ]
+                                                                }
+                                                              (UnQual
+                                                                 SrcSpanInfo
+                                                                   { srcInfoSpan =
+                                                                       SrcSpan
+                                                                         "tests/examples/InjectiveTypeFamilies.hs"
+                                                                         245
+                                                                         58
+                                                                         245
+                                                                         63
+                                                                   , srcInfoPoints =
+                                                                       [ SrcSpan
+                                                                           "tests/examples/InjectiveTypeFamilies.hs"
+                                                                           245
+                                                                           58
+                                                                           245
+                                                                           59
+                                                                       , SrcSpan
+                                                                           "tests/examples/InjectiveTypeFamilies.hs"
+                                                                           245
+                                                                           59
+                                                                           245
+                                                                           62
+                                                                       , SrcSpan
+                                                                           "tests/examples/InjectiveTypeFamilies.hs"
+                                                                           245
+                                                                           62
+                                                                           245
+                                                                           63
+                                                                       ]
+                                                                   }
+                                                                 (Ident
+                                                                    SrcSpanInfo
+                                                                      { srcInfoSpan =
+                                                                          SrcSpan
+                                                                            "tests/examples/InjectiveTypeFamilies.hs"
+                                                                            245
+                                                                            59
+                                                                            245
+                                                                            62
+                                                                      , srcInfoPoints = []
+                                                                      }
+                                                                    "app")))
+                                                           (Var
+                                                              SrcSpanInfo
+                                                                { srcInfoSpan =
+                                                                    SrcSpan
+                                                                      "tests/examples/InjectiveTypeFamilies.hs"
+                                                                      245
+                                                                      64
+                                                                      245
+                                                                      65
+                                                                , srcInfoPoints = []
+                                                                }
+                                                              (UnQual
+                                                                 SrcSpanInfo
+                                                                   { srcInfoSpan =
+                                                                       SrcSpan
+                                                                         "tests/examples/InjectiveTypeFamilies.hs"
+                                                                         245
+                                                                         64
+                                                                         245
+                                                                         65
+                                                                   , srcInfoPoints = []
+                                                                   }
+                                                                 (Ident
+                                                                    SrcSpanInfo
+                                                                      { srcInfoSpan =
+                                                                          SrcSpan
+                                                                            "tests/examples/InjectiveTypeFamilies.hs"
+                                                                            245
+                                                                            64
+                                                                            245
+                                                                            65
+                                                                      , srcInfoPoints = []
+                                                                      }
+                                                                    "x")))))))))))))))
+                       Nothing
+                   ])
+                (InfixApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 63
+                     , srcInfoPoints = []
+                     }
+                   (Paren
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 49
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 11
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 48 246 49
+                            ]
+                        }
+                      (InfixApp
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 48
+                           , srcInfoPoints = []
+                           }
+                         (Var
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13
+                              , srcInfoPoints = []
+                              }
+                            (UnQual
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13
+                                 , srcInfoPoints = []
+                                 }
+                               (Ident
+                                  SrcSpanInfo
+                                    { srcInfoSpan =
+                                        SrcSpan
+                                          "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13
+                                    , srcInfoPoints = []
+                                    }
+                                  "c3")))
+                         (QVarOp
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 19
+                              , srcInfoPoints =
+                                  [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 15
+                                  , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18
+                                  , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 18 246 19
+                                  ]
+                              }
+                            (UnQual
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 19
+                                 , srcInfoPoints =
+                                     [ SrcSpan
+                                         "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 15
+                                     , SrcSpan
+                                         "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18
+                                     , SrcSpan
+                                         "tests/examples/InjectiveTypeFamilies.hs" 246 18 246 19
+                                     ]
+                                 }
+                               (Ident
+                                  SrcSpanInfo
+                                    { srcInfoSpan =
+                                        SrcSpan
+                                          "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18
+                                    , srcInfoPoints = []
+                                    }
+                                  "app")))
+                         (Paren
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 20 246 48
+                              , srcInfoPoints =
+                                  [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 20 246 21
+                                  , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 47 246 48
+                                  ]
+                              }
+                            (App
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 47
+                                 , srcInfoPoints = []
+                                 }
+                               (Var
+                                  SrcSpanInfo
+                                    { srcInfoSpan =
+                                        SrcSpan
+                                          "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 24
+                                    , srcInfoPoints = []
+                                    }
+                                  (UnQual
+                                     SrcSpanInfo
+                                       { srcInfoSpan =
+                                           SrcSpan
+                                             "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 24
+                                       , srcInfoPoints = []
+                                       }
+                                     (Ident
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan
+                                                "tests/examples/InjectiveTypeFamilies.hs"
+                                                246
+                                                21
+                                                246
+                                                24
+                                          , srcInfoPoints = []
+                                          }
+                                        "lam")))
+                               (Paren
+                                  SrcSpanInfo
+                                    { srcInfoSpan =
+                                        SrcSpan
+                                          "tests/examples/InjectiveTypeFamilies.hs" 246 25 246 47
+                                    , srcInfoPoints =
+                                        [ SrcSpan
+                                            "tests/examples/InjectiveTypeFamilies.hs" 246 25 246 26
+                                        , SrcSpan
+                                            "tests/examples/InjectiveTypeFamilies.hs" 246 46 246 47
+                                        ]
+                                    }
+                                  (Lambda
+                                     SrcSpanInfo
+                                       { srcInfoSpan =
+                                           SrcSpan
+                                             "tests/examples/InjectiveTypeFamilies.hs" 246 26 246 46
+                                       , srcInfoPoints =
+                                           [ SrcSpan
+                                               "tests/examples/InjectiveTypeFamilies.hs"
+                                               246
+                                               26
+                                               246
+                                               27
+                                           , SrcSpan
+                                               "tests/examples/InjectiveTypeFamilies.hs"
+                                               246
+                                               29
+                                               246
+                                               31
+                                           ]
+                                       }
+                                     [ PVar
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan
+                                                 "tests/examples/InjectiveTypeFamilies.hs"
+                                                 246
+                                                 27
+                                                 246
+                                                 28
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan
+                                                    "tests/examples/InjectiveTypeFamilies.hs"
+                                                    246
+                                                    27
+                                                    246
+                                                    28
+                                              , srcInfoPoints = []
+                                              }
+                                            "x")
+                                     ]
+                                     (InfixApp
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan
+                                                "tests/examples/InjectiveTypeFamilies.hs"
+                                                246
+                                                32
+                                                246
+                                                46
+                                          , srcInfoPoints = []
+                                          }
+                                        (Var
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan
+                                                   "tests/examples/InjectiveTypeFamilies.hs"
+                                                   246
+                                                   32
+                                                   246
+                                                   33
+                                             , srcInfoPoints = []
+                                             }
+                                           (UnQual
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/InjectiveTypeFamilies.hs"
+                                                      246
+                                                      32
+                                                      246
+                                                      33
+                                                , srcInfoPoints = []
+                                                }
+                                              (Ident
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan
+                                                         "tests/examples/InjectiveTypeFamilies.hs"
+                                                         246
+                                                         32
+                                                         246
+                                                         33
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 "x")))
+                                        (QVarOp
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan
+                                                   "tests/examples/InjectiveTypeFamilies.hs"
+                                                   246
+                                                   34
+                                                   246
+                                                   39
+                                             , srcInfoPoints =
+                                                 [ SrcSpan
+                                                     "tests/examples/InjectiveTypeFamilies.hs"
+                                                     246
+                                                     34
+                                                     246
+                                                     35
+                                                 , SrcSpan
+                                                     "tests/examples/InjectiveTypeFamilies.hs"
+                                                     246
+                                                     35
+                                                     246
+                                                     38
+                                                 , SrcSpan
+                                                     "tests/examples/InjectiveTypeFamilies.hs"
+                                                     246
+                                                     38
+                                                     246
+                                                     39
+                                                 ]
+                                             }
+                                           (UnQual
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/InjectiveTypeFamilies.hs"
+                                                      246
+                                                      34
+                                                      246
+                                                      39
+                                                , srcInfoPoints =
+                                                    [ SrcSpan
+                                                        "tests/examples/InjectiveTypeFamilies.hs"
+                                                        246
+                                                        34
+                                                        246
+                                                        35
+                                                    , SrcSpan
+                                                        "tests/examples/InjectiveTypeFamilies.hs"
+                                                        246
+                                                        35
+                                                        246
+                                                        38
+                                                    , SrcSpan
+                                                        "tests/examples/InjectiveTypeFamilies.hs"
+                                                        246
+                                                        38
+                                                        246
+                                                        39
+                                                    ]
+                                                }
+                                              (Ident
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan
+                                                         "tests/examples/InjectiveTypeFamilies.hs"
+                                                         246
+                                                         35
+                                                         246
+                                                         38
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 "add")))
+                                        (App
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan
+                                                   "tests/examples/InjectiveTypeFamilies.hs"
+                                                   246
+                                                   40
+                                                   246
+                                                   46
+                                             , srcInfoPoints = []
+                                             }
+                                           (Var
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/InjectiveTypeFamilies.hs"
+                                                      246
+                                                      40
+                                                      246
+                                                      43
+                                                , srcInfoPoints = []
+                                                }
+                                              (UnQual
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan
+                                                         "tests/examples/InjectiveTypeFamilies.hs"
+                                                         246
+                                                         40
+                                                         246
+                                                         43
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 (Ident
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/InjectiveTypeFamilies.hs"
+                                                            246
+                                                            40
+                                                            246
+                                                            43
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "int")))
+                                           (Lit
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan
+                                                      "tests/examples/InjectiveTypeFamilies.hs"
+                                                      246
+                                                      44
+                                                      246
+                                                      46
+                                                , srcInfoPoints = []
+                                                }
+                                              (Int
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan
+                                                         "tests/examples/InjectiveTypeFamilies.hs"
+                                                         246
+                                                         44
+                                                         246
+                                                         46
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 14
+                                                 "14"))))))))))
+                   (QVarOp
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 55
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 51
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 54 246 55
+                            ]
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 55
+                           , srcInfoPoints =
+                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 51
+                               , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54
+                               , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 54 246 55
+                               ]
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54
+                              , srcInfoPoints = []
+                              }
+                            "app")))
+                   (Paren
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 56 246 63
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 56 246 57
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 62 246 63
+                            ]
+                        }
+                      (App
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 62
+                           , srcInfoPoints = []
+                           }
+                         (Var
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60
+                              , srcInfoPoints = []
+                              }
+                            (UnQual
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60
+                                 , srcInfoPoints = []
+                                 }
+                               (Ident
+                                  SrcSpanInfo
+                                    { srcInfoSpan =
+                                        SrcSpan
+                                          "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60
+                                    , srcInfoPoints = []
+                                    }
+                                  "int")))
+                         (Lit
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 61 246 62
+                              , srcInfoPoints = []
+                              }
+                            (Int
+                               SrcSpanInfo
+                                 { srcInfoSpan =
+                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 61 246 62
+                                 , srcInfoPoints = []
+                                 }
+                               0
+                               "0")))))))
+          Nothing
+      , ClassDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 252 29
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 249 6
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 19 249 24
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 5
+                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 0
+                ]
+            }
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 18
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 16
+                     , srcInfoPoints = []
+                     }
+                   "Manifold'"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 17 249 18
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 17 249 18
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          []
+          (Just
+             [ ClsTyFam
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 30
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 9 ]
+                   }
+                 (DHApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 17
+                      , srcInfoPoints = []
+                      }
+                    (DHead
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 14
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 14
+                            , srcInfoPoints = []
+                            }
+                          "Base"))
+                    (UnkindedVar
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 16 250 17
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 16 250 17
+                            , srcInfoPoints = []
+                            }
+                          "a")))
+                 (Just
+                    (TyVarSig
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 18 250 21
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 18 250 19 ]
+                         }
+                       (UnkindedVar
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 20 250 21
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 20 250 21
+                               , srcInfoPoints = []
+                               }
+                             "r"))))
+                 (Just
+                    (InjectivityInfo
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 22 250 30
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 22 250 23
+                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 26 250 28
+                             ]
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 24 250 25
+                            , srcInfoPoints = []
+                            }
+                          "r")
+                       [ Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 29 250 30
+                             , srcInfoPoints = []
+                             }
+                           "a"
+                       ]))
+             , ClsDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 27
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 13 251 15 ]
+                   }
+                 (TypeSig
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 27
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 13 251 15 ]
+                      }
+                    [ Ident
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 12
+                          , srcInfoPoints = []
+                          }
+                        "project"
+                    ]
+                    (TyFun
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 27
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 18 251 20 ]
+                         }
+                       (TyVar
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 17
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 17
+                               , srcInfoPoints = []
+                               }
+                             "a"))
+                       (TyApp
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 27
+                            , srcInfoPoints = []
+                            }
+                          (TyCon
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25
+                               , srcInfoPoints = []
+                               }
+                             (UnQual
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25
+                                     , srcInfoPoints = []
+                                     }
+                                   "Base")))
+                          (TyVar
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 26 251 27
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 251 26 251 27
+                                  , srcInfoPoints = []
+                                  }
+                                "a")))))
+             , ClsDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 29
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 15 252 17 ]
+                   }
+                 (TypeSig
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 29
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 15 252 17 ]
+                      }
+                    [ Ident
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 14
+                          , srcInfoPoints = []
+                          }
+                        "unproject"
+                    ]
+                    (TyFun
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 29
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 25 252 27 ]
+                         }
+                       (TyApp
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 24
+                            , srcInfoPoints = []
+                            }
+                          (TyCon
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22
+                               , srcInfoPoints = []
+                               }
+                             (UnQual
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan
+                                           "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22
+                                     , srcInfoPoints = []
+                                     }
+                                   "Base")))
+                          (TyVar
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 23 252 24
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan
+                                        "tests/examples/InjectiveTypeFamilies.hs" 252 23 252 24
+                                  , srcInfoPoints = []
+                                  }
+                                "a")))
+                       (TyVar
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 28 252 29
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 28 252 29
+                               , srcInfoPoints = []
+                               }
+                             "a"))))
+             ])
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 53
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 5 254 7 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 4
+                , srcInfoPoints = []
+                }
+              "id'"
+          ]
+          (TyForall
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 8 254 53
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 8 254 14
+                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 16 254 17
+                   ]
+               }
+             (Just
+                [ UnkindedVar
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 15 254 16
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 15 254 16
+                         , srcInfoPoints = []
+                         }
+                       "a")
+                ])
+             (Just
+                (CxSingle
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 36
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 19
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 32 254 33
+                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 34 254 36
+                         ]
+                     }
+                   (ParenA
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 36
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 19
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 32 254 33
+                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 34 254 36
+                            ]
+                        }
+                      (ClassA
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31
+                           , srcInfoPoints = []
+                           }
+                         (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 =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 53
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 44 254 46 ]
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 43
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41
+                              , srcInfoPoints = []
+                              }
+                            "Base")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 42 254 43
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 42 254 43
+                           , srcInfoPoints = []
+                           }
+                         "a")))
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 53
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51
+                              , srcInfoPoints = []
+                              }
+                            "Base")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 52 254 53
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 52 254 53
+                           , srcInfoPoints = []
+                           }
+                         "a")))))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 26
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 4
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 4
+                  , srcInfoPoints = []
+                  }
+                "id'"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 5 255 26
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 5 255 6 ]
+               }
+             (InfixApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 26
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14
+                           , srcInfoPoints = []
+                           }
+                         "project")))
+                (QVarOp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16
+                        , srcInfoPoints = []
+                        }
+                      (Symbol
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16
+                           , srcInfoPoints = []
+                           }
+                         ".")))
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26
+                           , srcInfoPoints = []
+                           }
+                         "unproject")))))
+          Nothing
+      ]
+  , [ Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 15 12 43)
+        " defines G, identical to F"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 27 1 27 81)
+        " this is injective - a type variable introduced in the LHS is not mentioned on"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 28 1 28 56)
+        " RHS but we don't claim injectivity in that argument."
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 35 1 35 46)
+        " make sure we look through type synonyms..."
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 39 1 39 23)
+        " .. but not newtypes"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 44 1 44 24)
+        " Closed type families"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 46 1 46 80)
+        " these are simple conversions from open type families. They should behave the"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 47 1 47 8)
+        " same"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 64 1 64 72)
+        " Here the last equation might return both Int and Char but we have to"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 65 1 65 61)
+        " recognize that it is not possible due to equation overlap"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 71 1 71 81)
+        " This is similar, except that the last equation contains concrete type.  Since"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 72 1 72 56)
+        " it is overlapped it should be dropped with a warning"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 78 1 78 78)
+        " this one was tricky in the early implementation of injectivity.  Now it is"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 79 1 79 69)
+        " identical to the above but we still keep it as a regression test."
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 85 1 85 79)
+        " Now let's use declared type families. All the below definitions should work"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 87 1 87 61)
+        " No ambiguity for any of the arguments - all are injective"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 91 1 91 55)
+        " From 1st instance of F: a ~ Int, b ~ Char, c ~ Bool"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 95 1 95 31)
+        " now the closed variant of F"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 102 1 102 65)
+        " The last argument is not injective so it must be instantiated"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 106 1 106 45)
+        " From 1st instance of I: a ~ Int, b ~ Char"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 110 1 110 30)
+        " again, closed variant of I"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 117 1 117 51)
+        " Now we have to test weird closed type families:"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 145 1 145 73)
+        " Declarations below test more liberal RHSs of injectivity annotations:"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 146 1 146 79)
+        " permiting variables to appear in different order than the one in which they"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 147 1 147 18)
+        " were declared."
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 154 1 154 79)
+        " repeated tyvars in the RHS of injectivity annotation: no warnings or errors"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 155 1 155 59)
+        " (consistent with behaviour for functional dependencies)"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 168 1 168 71)
+        " Declaring kind injectivity. Here we only claim that knowing the RHS"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 169 1 169 45)
+        " determines the LHS kind but not the type."
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 186 1 186 74)
+        " Now test some awkward cases from The Injectivity Paper.  All should be"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 187 1 187 13)
+        " accepted."
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 216 1 216 56)
+        " A sole exception to \"bare variables in the RHS\" rule"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 220 1 220 81)
+        " This makes sure that over-saturated type family applications at the top-level"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 221 1 221 17)
+        " are accepted."
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 225 1 225 52)
+        " make sure we look through type synonyms properly"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 230 1 230 80)
+        " this has bare variable in the RHS but all LHS varaiables are also bare so it"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 231 1 231 22)
+        " should be accepted"
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 235 1 235 55)
+        " Taken from #9587. This exposed a bug in the solver."
+    , Comment
+        False
+        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 248 1 248 40)
+        " This used to fail during development"
+    ]
+  )
diff --git a/tests/examples/InjectiveTypeFamilies.hs.prettyparser.golden b/tests/examples/InjectiveTypeFamilies.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/InjectiveTypeFamilies.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/InjectiveTypeFamilies.hs.prettyprinter.golden b/tests/examples/InjectiveTypeFamilies.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/InjectiveTypeFamilies.hs.prettyprinter.golden
@@ -0,0 +1,253 @@
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE PolyKinds #-}
+{-# LANGUAGE TypeFamilyDependencies #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE NoMonomorphismRestriction #-}
+module T6018 where
+import T6018a
+
+type family F a b c = (result :: k) | result -> a b c
+
+type instance F Int Char Bool = Bool
+
+type instance F Char Bool Int = Int
+
+type instance F Bool Int Char = Char
+
+type instance G Bool Int Char = Char
+
+type family I (a :: k) b (c :: k) = r | r -> a b
+
+type instance I Int Char Bool = Bool
+
+type instance I Int Char Int = Bool
+
+type instance I Bool Int Int = Int
+
+type family J a (b :: k) = r | r -> a
+
+type instance J Int b = Char
+
+type MaybeSyn a = Maybe a
+
+newtype MaybeNew a = MaybeNew (Maybe a)
+
+type family K a = r | r -> a
+
+type instance K a = MaybeSyn a
+
+type family M a = r | r -> a
+
+type instance M (Maybe a) = MaybeSyn a
+
+type instance M (MaybeNew a) = MaybeNew a
+
+type family FClosed a b c = result | result -> a b c where
+        FClosed Int Char Bool = Bool
+        FClosed Char Bool Int = Int
+        FClosed Bool Int Char = Char
+
+type family IClosed (a :: *) (b :: *) (c :: *) = r | r -> a b where
+        IClosed Int Char Bool = Bool
+        IClosed Int Char Int = Bool
+        IClosed Bool Int Int = Int
+
+type family JClosed a (b :: k) = r | r -> a where
+        JClosed Int b = Char
+
+type family KClosed a = r | r -> a where
+        KClosed a = MaybeSyn a
+
+type family Bak a = r | r -> a where
+        Bak Int = Char
+        Bak Char = Int
+        Bak a = a
+
+type family Foo a = r | r -> a where
+        Foo Int = Bool
+        Foo Bool = Int
+        Foo Bool = Bool
+
+type family Bar a = r | r -> a where
+        Bar Int = Bool
+        Bar Bool = Int
+        Bar Bool = Char
+
+f :: F a b c -> F a b c
+f x = x
+
+fapp :: Bool
+fapp = f True
+
+fc :: FClosed a b c -> FClosed a b c
+fc x = x
+
+fcapp :: Bool
+fcapp = fc True
+
+i :: I a b Int -> I a b Int
+i x = x
+
+iapp :: Bool
+iapp = i True
+
+ic :: IClosed a b Int -> IClosed a b Int
+ic x = x
+
+icapp :: Bool
+icapp = ic True
+
+bak :: Bak a -> Bak a
+bak x = x
+
+bakapp1 :: Char
+bakapp1 = bak 'c'
+
+bakapp2 :: Double
+bakapp2 = bak 1.0
+
+bakapp3 :: ()
+bakapp3 = bak ()
+
+foo :: Foo a -> Foo a
+foo x = x
+
+fooapp1 :: Bool
+fooapp1 = foo True
+
+bar :: Bar a -> Bar a
+bar x = x
+
+barapp1 :: Bool
+barapp1 = bar True
+
+barapp2 :: Int
+barapp2 = bar 1
+
+type family H a b = r | r -> b a
+
+type family Hc a b = r | r -> b a where
+        Hc a b = a b
+
+class Hcl a b where
+        type Ht a b = r | r -> b a
+
+type family Jx a b = r | r -> a a
+
+type family Jcx a b = r | r -> a a where
+        Jcx a b = a b
+
+class Jcl a b where
+        type Jt a b = r | r -> a a
+
+type family Kx a b = r | r -> a b b
+
+type family Kcx a b = r | r -> a b b where
+        Kcx a b = a b
+
+class Kcl a b where
+        type Kt a b = r | r -> a b b
+
+type family L (a :: k1) = (r :: k2) | r -> k1 where
+        L 'True = Int
+        L 'False = Int
+        L Maybe = 3
+        L IO = 3
+
+data KProxy (a :: *) = KProxy
+
+type family KP (kproxy :: KProxy k) = r | r -> k
+
+type instance KP ('KProxy :: KProxy Bool) = Int
+
+type instance KP ('KProxy :: KProxy *) = Char
+
+kproxy_id :: KP ('KProxy :: KProxy k) -> KP ('KProxy :: KProxy k)
+kproxy_id x = x
+kproxy_id_use = kproxy_id 'a'
+
+type family Gx a
+
+type family Hx a
+
+type family Gi a = r | r -> a
+
+type instance Gi Int = Char
+
+type family Hi a = r | r -> a
+
+type family F2 a = r | r -> a
+
+type instance F2 [a] = [Gi a]
+
+type instance F2 (Maybe a) = Hi a -> Int
+
+type family F4 a = r | r -> a
+
+type instance F4 [a] = (Gx a, a, a, a)
+
+type instance F4 (Maybe a) = (Hx a, a, Int, Bool)
+
+type family G2 a b = r | r -> a b
+
+type instance G2 a Bool = (a, a)
+
+type instance G2 Bool b = (b, Bool)
+
+type family G6 a = r | r -> a
+
+type instance G6 [a] = [Gi a]
+
+type instance G6 Bool = Int
+
+g6_id :: G6 a -> G6 a
+g6_id x = x
+
+g6_use :: [Char]
+g6_use = g6_id "foo"
+
+type family Id (a :: k) = (result :: k) | result -> a
+
+type instance Id a = a
+
+type family IdProxy (a :: k) b = r | r -> a
+
+type instance IdProxy a b = (Id a) b
+
+type IdSyn a = Id a
+
+type family IdProxySyn (a :: k) b = r | r -> a
+
+type instance IdProxySyn a b = (IdSyn a) b
+
+type family Fa (a :: k) (b :: k) = (r :: k2) | r -> k
+
+type instance Fa a b = a
+
+type family Arr (repr :: * -> *) (a :: *) (b :: *) = (r :: *)
+     | r -> repr a b
+
+class ESymantics repr where
+        int :: Int -> repr Int
+        
+        add :: repr Int -> repr Int -> repr Int
+        
+        lam :: (repr a -> repr b) -> repr (Arr repr a b)
+        
+        app :: repr (Arr repr a b) -> repr a -> repr b
+te4
+  = let c3 = lam (\ f -> lam (\ x -> f `app` (f `app` (f `app` x))))
+      in (c3 `app` (lam (\ x -> x `add` int 14))) `app` (int 0)
+
+class Manifold' a where
+        type Base a = r | r -> a
+        
+        project :: a -> Base a
+        
+        unproject :: Base a -> a
+
+id' :: forall a . (Manifold' a) => Base a -> Base a
+id' = project . unproject
diff --git a/tests/examples/InlineConlike.hs.prettyprinter.golden b/tests/examples/InlineConlike.hs.prettyprinter.golden
--- a/tests/examples/InlineConlike.hs.prettyprinter.golden
+++ b/tests/examples/InlineConlike.hs.prettyprinter.golden
@@ -1,5 +1,3 @@
-module Main (main) where
-
 {-# INLINE CONLIKE size #-}
 
 size :: Int
diff --git a/tests/examples/InstanceSigs.hs.prettyprinter.golden b/tests/examples/InstanceSigs.hs.prettyprinter.golden
--- a/tests/examples/InstanceSigs.hs.prettyprinter.golden
+++ b/tests/examples/InstanceSigs.hs.prettyprinter.golden
@@ -1,7 +1,6 @@
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE InstanceSigs #-}
 {-# LANGUAGE TypeFamilies #-}
-module Main (main) where
 
 instance SupportsDelta (Map k v) where
         type Delta (Map k v) = Map k v
diff --git a/tests/examples/LanguagePragma.hs.prettyprinter.golden b/tests/examples/LanguagePragma.hs.prettyprinter.golden
--- a/tests/examples/LanguagePragma.hs.prettyprinter.golden
+++ b/tests/examples/LanguagePragma.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE RecordWildCards #-}
-module Main (main) where
 main = print "hello"
diff --git a/tests/examples/MagicHashN.hs b/tests/examples/MagicHashN.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/MagicHashN.hs
@@ -0,0 +1,7 @@
+{-# LANGUAGE MagicHash #-}
+module MagicHashN where
+
+a# = 1
+b## = 2
+c### = 3
+main = print (a#, b##, c###)
diff --git a/tests/examples/MagicHashN.hs.exactprinter.golden b/tests/examples/MagicHashN.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/MagicHashN.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/MagicHashN.hs.parser.golden b/tests/examples/MagicHashN.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/MagicHashN.hs.parser.golden
@@ -0,0 +1,262 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 1 1 8 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/MagicHashN.hs" 1 1 1 1
+            , SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 1
+            , SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 1
+            , SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 1
+            , SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 1
+            , SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 1
+            , SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 1
+            , SrcSpan "tests/examples/MagicHashN.hs" 8 1 8 1
+            , SrcSpan "tests/examples/MagicHashN.hs" 8 1 8 1
+            ]
+        }
+      (Just
+         (ModuleHead
+            SrcSpanInfo
+              { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 24
+              , srcInfoPoints =
+                  [ SrcSpan "tests/examples/MagicHashN.hs" 2 1 2 7
+                  , SrcSpan "tests/examples/MagicHashN.hs" 2 19 2 24
+                  ]
+              }
+            (ModuleName
+               SrcSpanInfo
+                 { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 2 8 2 18
+                 , srcInfoPoints = []
+                 }
+               "MagicHashN")
+            Nothing
+            Nothing))
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 1 1 1 27
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/MagicHashN.hs" 1 1 1 13
+                , SrcSpan "tests/examples/MagicHashN.hs" 1 24 1 27
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 1 14 1 23
+                , srcInfoPoints = []
+                }
+              "MagicHash"
+          ]
+      ]
+      []
+      [ PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 7
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 3
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 1 4 3
+                  , srcInfoPoints = []
+                  }
+                "a#"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 4 4 7
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/MagicHashN.hs" 4 4 4 5 ]
+               }
+             (Lit
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 6 4 7
+                  , srcInfoPoints = []
+                  }
+                (Int
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 4 6 4 7
+                     , srcInfoPoints = []
+                     }
+                   1
+                   "1")))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 8
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 4
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 1 5 4
+                  , srcInfoPoints = []
+                  }
+                "b##"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 5 5 8
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/MagicHashN.hs" 5 5 5 6 ]
+               }
+             (Lit
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 7 5 8
+                  , srcInfoPoints = []
+                  }
+                (Int
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 5 7 5 8
+                     , srcInfoPoints = []
+                     }
+                   2
+                   "2")))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 9
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 1 6 5
+                  , srcInfoPoints = []
+                  }
+                "c###"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 6 6 9
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/MagicHashN.hs" 6 6 6 7 ]
+               }
+             (Lit
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 8 6 9
+                  , srcInfoPoints = []
+                  }
+                (Int
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 6 8 6 9
+                     , srcInfoPoints = []
+                     }
+                   3
+                   "3")))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 29
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 1 7 5
+                  , srcInfoPoints = []
+                  }
+                "main"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 6 7 29
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/MagicHashN.hs" 7 6 7 7 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 29
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 13
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 13
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 8 7 13
+                           , srcInfoPoints = []
+                           }
+                         "print")))
+                (Tuple
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 14 7 29
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/MagicHashN.hs" 7 14 7 15
+                         , SrcSpan "tests/examples/MagicHashN.hs" 7 17 7 18
+                         , SrcSpan "tests/examples/MagicHashN.hs" 7 22 7 23
+                         , SrcSpan "tests/examples/MagicHashN.hs" 7 28 7 29
+                         ]
+                     }
+                   Boxed
+                   [ Var
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 15 7 17
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 15 7 17
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 15 7 17
+                               , srcInfoPoints = []
+                               }
+                             "a#"))
+                   , Var
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 19 7 22
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 19 7 22
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 19 7 22
+                               , srcInfoPoints = []
+                               }
+                             "b##"))
+                   , Var
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 24 7 28
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 24 7 28
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/MagicHashN.hs" 7 24 7 28
+                               , srcInfoPoints = []
+                               }
+                             "c###"))
+                   ])))
+          Nothing
+      ]
+  , []
+  )
diff --git a/tests/examples/MagicHashN.hs.prettyparser.golden b/tests/examples/MagicHashN.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/MagicHashN.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/MagicHashN.hs.prettyprinter.golden b/tests/examples/MagicHashN.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/MagicHashN.hs.prettyprinter.golden
@@ -0,0 +1,6 @@
+{-# LANGUAGE MagicHash #-}
+module MagicHashN where
+a# = 1
+b## = 2
+c### = 3
+main = print (a#, b##, c###)
diff --git a/tests/examples/MinimalPragma.hs.prettyprinter.golden b/tests/examples/MinimalPragma.hs.prettyprinter.golden
--- a/tests/examples/MinimalPragma.hs.prettyprinter.golden
+++ b/tests/examples/MinimalPragma.hs.prettyprinter.golden
@@ -1,5 +1,3 @@
-module Main (main) where
-
 class Eq a where
         (==) :: a -> a -> Bool
         
diff --git a/tests/examples/MultiLinePragma.hs.prettyprinter.golden b/tests/examples/MultiLinePragma.hs.prettyprinter.golden
--- a/tests/examples/MultiLinePragma.hs.prettyprinter.golden
+++ b/tests/examples/MultiLinePragma.hs.prettyprinter.golden
@@ -10,7 +10,6 @@
     -a
     -a
     -a #-}
-module Main (main) where
 
 main :: IO ()
 main = dat
diff --git a/tests/examples/NPlusK.hs.prettyprinter.golden b/tests/examples/NPlusK.hs.prettyprinter.golden
--- a/tests/examples/NPlusK.hs.prettyprinter.golden
+++ b/tests/examples/NPlusK.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE NPlusKPatterns #-}
-module Main (main) where
 f (n + 3) = n
diff --git a/tests/examples/NegativePatterns.hs.prettyprinter.golden b/tests/examples/NegativePatterns.hs.prettyprinter.golden
--- a/tests/examples/NegativePatterns.hs.prettyprinter.golden
+++ b/tests/examples/NegativePatterns.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
-module Main (main) where
 f 1 = -1
 f (-1) = 1
 f (-2) = 2
diff --git a/tests/examples/Nounpack2.hs b/tests/examples/Nounpack2.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/Nounpack2.hs
@@ -0,0 +1,3 @@
+
+
+data Foo = Foo {-# NOUNPACK #-} Int
diff --git a/tests/examples/Nounpack2.hs.exactprinter.golden b/tests/examples/Nounpack2.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Nounpack2.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/Nounpack2.hs.parser.golden b/tests/examples/Nounpack2.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Nounpack2.hs.parser.golden
@@ -0,0 +1,96 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 1 4 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 1
+            , SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 1
+            , SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 1
+            , SrcSpan "tests/examples/Nounpack2.hs" 4 1 4 1
+            , SrcSpan "tests/examples/Nounpack2.hs" 4 1 4 1
+            ]
+        }
+      Nothing
+      []
+      []
+      [ DataDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 36
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/Nounpack2.hs" 3 10 3 11 ]
+            }
+          (DataType
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 1 3 5
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHead
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 6 3 9
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 6 3 9
+                  , srcInfoPoints = []
+                  }
+                "Foo"))
+          [ QualConDecl
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 12 3 36
+                , srcInfoPoints = []
+                }
+              Nothing
+              Nothing
+              (ConDecl
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 12 3 36
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 12 3 15
+                      , srcInfoPoints = []
+                      }
+                    "Foo")
+                 [ TyBang
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 16 3 36
+                       , srcInfoPoints = []
+                       }
+                     (NoStrictAnnot
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "" (-1) (-1) (-1) (-1)
+                          , srcInfoPoints = []
+                          })
+                     (NoUnpack
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 16 3 32
+                          , srcInfoPoints =
+                              [ SrcSpan "tests/examples/Nounpack2.hs" 3 16 3 28
+                              , SrcSpan "tests/examples/Nounpack2.hs" 3 29 3 32
+                              ]
+                          })
+                     (TyCon
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 33 3 36
+                          , srcInfoPoints = []
+                          }
+                        (UnQual
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 33 3 36
+                             , srcInfoPoints = []
+                             }
+                           (Ident
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Nounpack2.hs" 3 33 3 36
+                                , srcInfoPoints = []
+                                }
+                              "Int")))
+                 ])
+          ]
+          Nothing
+      ]
+  , []
+  )
diff --git a/tests/examples/Nounpack2.hs.prettyparser.golden b/tests/examples/Nounpack2.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Nounpack2.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/Nounpack2.hs.prettyprinter.golden b/tests/examples/Nounpack2.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Nounpack2.hs.prettyprinter.golden
@@ -0,0 +1,1 @@
+data Foo = Foo {-# NOUNPACK #-} Int
diff --git a/tests/examples/OptionsPragma.hs.prettyprinter.golden b/tests/examples/OptionsPragma.hs.prettyprinter.golden
--- a/tests/examples/OptionsPragma.hs.prettyprinter.golden
+++ b/tests/examples/OptionsPragma.hs.prettyprinter.golden
@@ -1,2 +1,1 @@
 {-# OPTIONS -fno-warn-orphans #-}
-module Main (main) where
diff --git a/tests/examples/Overlapable.hs.prettyprinter.golden b/tests/examples/Overlapable.hs.prettyprinter.golden
--- a/tests/examples/Overlapable.hs.prettyprinter.golden
+++ b/tests/examples/Overlapable.hs.prettyprinter.golden
@@ -1,5 +1,3 @@
-module Main (main) where
-
 instance {-# OVERLAP #-} C a
 
 instance {-# NO_OVERLAP #-} C a
diff --git a/tests/examples/OverloadedLabels.hs b/tests/examples/OverloadedLabels.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/OverloadedLabels.hs
@@ -0,0 +1,29 @@
+-- Basic tests of overloaded labels
+
+{-# LANGUAGE OverloadedLabels
+           , DataKinds
+           , FlexibleContexts
+           , FlexibleInstances
+           , MultiParamTypeClasses
+           , NoMonomorphismRestriction
+  #-}
+
+import GHC.OverloadedLabels
+
+instance IsLabel "true" Bool where
+  fromLabel _ = True
+
+instance IsLabel "false" Bool where
+  fromLabel _ = False
+
+a :: IsLabel "true" t => t
+a = #true
+
+b = #false
+
+c :: Bool
+c = #true
+
+main = do print (a :: Bool)
+          print (b :: Bool)
+          print c
diff --git a/tests/examples/OverloadedLabels.hs.exactprinter.golden b/tests/examples/OverloadedLabels.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/OverloadedLabels.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/OverloadedLabels.hs.parser.golden b/tests/examples/OverloadedLabels.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/OverloadedLabels.hs.parser.golden
@@ -0,0 +1,891 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan =
+            SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 30 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 3 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 13 1 13 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 16 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 24 1 24 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 27 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 30 1 30 1
+            , SrcSpan "tests/examples/OverloadedLabels.hs" 30 1 30 1
+            ]
+        }
+      Nothing
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 9 6
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/OverloadedLabels.hs" 3 1 3 13
+                , SrcSpan "tests/examples/OverloadedLabels.hs" 4 12 4 13
+                , SrcSpan "tests/examples/OverloadedLabels.hs" 5 12 5 13
+                , SrcSpan "tests/examples/OverloadedLabels.hs" 6 12 6 13
+                , SrcSpan "tests/examples/OverloadedLabels.hs" 7 12 7 13
+                , SrcSpan "tests/examples/OverloadedLabels.hs" 8 12 8 13
+                , SrcSpan "tests/examples/OverloadedLabels.hs" 9 3 9 6
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/OverloadedLabels.hs" 3 14 3 30
+                , srcInfoPoints = []
+                }
+              "OverloadedLabels"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/OverloadedLabels.hs" 4 14 4 23
+                , srcInfoPoints = []
+                }
+              "DataKinds"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/OverloadedLabels.hs" 5 14 5 30
+                , srcInfoPoints = []
+                }
+              "FlexibleContexts"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/OverloadedLabels.hs" 6 14 6 31
+                , srcInfoPoints = []
+                }
+              "FlexibleInstances"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/OverloadedLabels.hs" 7 14 7 35
+                , srcInfoPoints = []
+                }
+              "MultiParamTypeClasses"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/OverloadedLabels.hs" 8 14 8 39
+                , srcInfoPoints = []
+                }
+              "NoMonomorphismRestriction"
+          ]
+      ]
+      [ ImportDecl
+          { importAnn =
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 28
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/OverloadedLabels.hs" 11 1 11 7 ]
+                }
+          , importModule =
+              ModuleName
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 11 8 11 28
+                  , srcInfoPoints = []
+                  }
+                "GHC.OverloadedLabels"
+          , importQualified = False
+          , importSrc = False
+          , importSafe = False
+          , importPkg = Nothing
+          , importAs = Nothing
+          , importSpecs = Nothing
+          }
+      ]
+      [ InstDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/OverloadedLabels.hs" 13 1 16 0
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/OverloadedLabels.hs" 13 1 13 9
+                , SrcSpan "tests/examples/OverloadedLabels.hs" 13 30 13 35
+                , SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 3
+                , SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 16 0
+                ]
+            }
+          Nothing
+          (IRule
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 29
+               , srcInfoPoints = []
+               }
+             Nothing
+             Nothing
+             (IHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 29
+                  , srcInfoPoints = []
+                  }
+                (IHApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 24
+                     , srcInfoPoints = []
+                     }
+                   (IHCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 17
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 17
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/OverloadedLabels.hs" 13 10 13 17
+                              , srcInfoPoints = []
+                              }
+                            "IsLabel")))
+                   (TyPromoted
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/OverloadedLabels.hs" 13 18 13 24
+                        , srcInfoPoints = []
+                        }
+                      (PromotedString
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/OverloadedLabels.hs" 13 18 13 24
+                           , srcInfoPoints = []
+                           }
+                         "true"
+                         "true")))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/OverloadedLabels.hs" 13 25 13 29
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/OverloadedLabels.hs" 13 25 13 29
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/OverloadedLabels.hs" 13 25 13 29
+                           , srcInfoPoints = []
+                           }
+                         "Bool")))))
+          (Just
+             [ InsDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 21
+                   , srcInfoPoints = []
+                   }
+                 (FunBind
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 21
+                      , srcInfoPoints = []
+                      }
+                    [ Match
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 21
+                          , srcInfoPoints = []
+                          }
+                        (Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/OverloadedLabels.hs" 14 3 14 12
+                             , srcInfoPoints = []
+                             }
+                           "fromLabel")
+                        [ PWildCard
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/OverloadedLabels.hs" 14 13 14 14
+                              , srcInfoPoints = []
+                              }
+                        ]
+                        (UnGuardedRhs
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/OverloadedLabels.hs" 14 15 14 21
+                             , srcInfoPoints =
+                                 [ SrcSpan "tests/examples/OverloadedLabels.hs" 14 15 14 16 ]
+                             }
+                           (Con
+                              SrcSpanInfo
+                                { srcInfoSpan =
+                                    SrcSpan "tests/examples/OverloadedLabels.hs" 14 17 14 21
+                                , srcInfoPoints = []
+                                }
+                              (UnQual
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/OverloadedLabels.hs" 14 17 14 21
+                                   , srcInfoPoints = []
+                                   }
+                                 (Ident
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/OverloadedLabels.hs" 14 17 14 21
+                                      , srcInfoPoints = []
+                                      }
+                                    "True"))))
+                        Nothing
+                    ])
+             ])
+      , InstDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 19 0
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/OverloadedLabels.hs" 16 1 16 9
+                , SrcSpan "tests/examples/OverloadedLabels.hs" 16 31 16 36
+                , SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 3
+                , SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 0
+                ]
+            }
+          Nothing
+          (IRule
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 30
+               , srcInfoPoints = []
+               }
+             Nothing
+             Nothing
+             (IHApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 30
+                  , srcInfoPoints = []
+                  }
+                (IHApp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 25
+                     , srcInfoPoints = []
+                     }
+                   (IHCon
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 17
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 17
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/OverloadedLabels.hs" 16 10 16 17
+                              , srcInfoPoints = []
+                              }
+                            "IsLabel")))
+                   (TyPromoted
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/OverloadedLabels.hs" 16 18 16 25
+                        , srcInfoPoints = []
+                        }
+                      (PromotedString
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/OverloadedLabels.hs" 16 18 16 25
+                           , srcInfoPoints = []
+                           }
+                         "false"
+                         "false")))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/OverloadedLabels.hs" 16 26 16 30
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/OverloadedLabels.hs" 16 26 16 30
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/OverloadedLabels.hs" 16 26 16 30
+                           , srcInfoPoints = []
+                           }
+                         "Bool")))))
+          (Just
+             [ InsDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 22
+                   , srcInfoPoints = []
+                   }
+                 (FunBind
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 22
+                      , srcInfoPoints = []
+                      }
+                    [ Match
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 22
+                          , srcInfoPoints = []
+                          }
+                        (Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/OverloadedLabels.hs" 17 3 17 12
+                             , srcInfoPoints = []
+                             }
+                           "fromLabel")
+                        [ PWildCard
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/OverloadedLabels.hs" 17 13 17 14
+                              , srcInfoPoints = []
+                              }
+                        ]
+                        (UnGuardedRhs
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/OverloadedLabels.hs" 17 15 17 22
+                             , srcInfoPoints =
+                                 [ SrcSpan "tests/examples/OverloadedLabels.hs" 17 15 17 16 ]
+                             }
+                           (Con
+                              SrcSpanInfo
+                                { srcInfoSpan =
+                                    SrcSpan "tests/examples/OverloadedLabels.hs" 17 17 17 22
+                                , srcInfoPoints = []
+                                }
+                              (UnQual
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/OverloadedLabels.hs" 17 17 17 22
+                                   , srcInfoPoints = []
+                                   }
+                                 (Ident
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/OverloadedLabels.hs" 17 17 17 22
+                                      , srcInfoPoints = []
+                                      }
+                                    "False"))))
+                        Nothing
+                    ])
+             ])
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 27
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 3 19 5 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/OverloadedLabels.hs" 19 1 19 2
+                , srcInfoPoints = []
+                }
+              "a"
+          ]
+          (TyForall
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 27
+               , srcInfoPoints = []
+               }
+             Nothing
+             (Just
+                (CxSingle
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/OverloadedLabels.hs" 19 6 19 25
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/OverloadedLabels.hs" 19 23 19 25 ]
+                     }
+                   (ClassA
+                      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 = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 19 21 19 22
+                               , srcInfoPoints = []
+                               }
+                             "t")
+                      ])))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 19 26 19 27
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/OverloadedLabels.hs" 19 26 19 27
+                     , srcInfoPoints = []
+                     }
+                   "t")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 10
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 2
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 20 1 20 2
+                  , srcInfoPoints = []
+                  }
+                "a"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/OverloadedLabels.hs" 20 3 20 10
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/OverloadedLabels.hs" 20 3 20 4 ]
+               }
+             (OverloadedLabel
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 20 5 20 10
+                  , srcInfoPoints = []
+                  }
+                "true"))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 11
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 2
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 22 1 22 2
+                  , srcInfoPoints = []
+                  }
+                "b"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/OverloadedLabels.hs" 22 3 22 11
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/OverloadedLabels.hs" 22 3 22 4 ]
+               }
+             (OverloadedLabel
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 22 5 22 11
+                  , srcInfoPoints = []
+                  }
+                "false"))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/OverloadedLabels.hs" 24 1 24 10
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/OverloadedLabels.hs" 24 3 24 5 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/OverloadedLabels.hs" 24 1 24 2
+                , srcInfoPoints = []
+                }
+              "c"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/OverloadedLabels.hs" 24 6 24 10
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 24 6 24 10
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/OverloadedLabels.hs" 24 6 24 10
+                     , srcInfoPoints = []
+                     }
+                   "Bool")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 10
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 2
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 25 1 25 2
+                  , srcInfoPoints = []
+                  }
+                "c"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/OverloadedLabels.hs" 25 3 25 10
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/OverloadedLabels.hs" 25 3 25 4 ]
+               }
+             (OverloadedLabel
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 25 5 25 10
+                  , srcInfoPoints = []
+                  }
+                "true"))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 29 18
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 27 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 27 1 27 5
+                  , srcInfoPoints = []
+                  }
+                "main"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/OverloadedLabels.hs" 27 6 29 18
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 6 27 7 ]
+               }
+             (Do
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/OverloadedLabels.hs" 27 8 29 18
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 8 27 10
+                      , SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 11
+                      , SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 11
+                      , SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 11
+                      , SrcSpan "tests/examples/OverloadedLabels.hs" 30 1 30 0
+                      ]
+                  }
+                [ Qualifier
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 28
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 28
+                         , srcInfoPoints = []
+                         }
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 16
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 16
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 27 11 27 16
+                                  , srcInfoPoints = []
+                                  }
+                                "print")))
+                       (Paren
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/OverloadedLabels.hs" 27 17 27 28
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 17 27 18
+                                , SrcSpan "tests/examples/OverloadedLabels.hs" 27 27 27 28
+                                ]
+                            }
+                          (ExpTypeSig
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 27
+                               , srcInfoPoints =
+                                   [ SrcSpan "tests/examples/OverloadedLabels.hs" 27 20 27 22 ]
+                               }
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 19
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 19
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/OverloadedLabels.hs" 27 18 27 19
+                                        , srcInfoPoints = []
+                                        }
+                                      "a")))
+                             (TyCon
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 27 23 27 27
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/OverloadedLabels.hs" 27 23 27 27
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/OverloadedLabels.hs" 27 23 27 27
+                                        , srcInfoPoints = []
+                                        }
+                                      "Bool"))))))
+                , Qualifier
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 28
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 28
+                         , srcInfoPoints = []
+                         }
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 16
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 16
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 28 11 28 16
+                                  , srcInfoPoints = []
+                                  }
+                                "print")))
+                       (Paren
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/OverloadedLabels.hs" 28 17 28 28
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/OverloadedLabels.hs" 28 17 28 18
+                                , SrcSpan "tests/examples/OverloadedLabels.hs" 28 27 28 28
+                                ]
+                            }
+                          (ExpTypeSig
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 27
+                               , srcInfoPoints =
+                                   [ SrcSpan "tests/examples/OverloadedLabels.hs" 28 20 28 22 ]
+                               }
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 19
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 19
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/OverloadedLabels.hs" 28 18 28 19
+                                        , srcInfoPoints = []
+                                        }
+                                      "b")))
+                             (TyCon
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 28 23 28 27
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan =
+                                         SrcSpan "tests/examples/OverloadedLabels.hs" 28 23 28 27
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan =
+                                            SrcSpan "tests/examples/OverloadedLabels.hs" 28 23 28 27
+                                        , srcInfoPoints = []
+                                        }
+                                      "Bool"))))))
+                , Qualifier
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 18
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 18
+                         , srcInfoPoints = []
+                         }
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 16
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 16
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 29 11 29 16
+                                  , srcInfoPoints = []
+                                  }
+                                "print")))
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/OverloadedLabels.hs" 29 17 29 18
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/OverloadedLabels.hs" 29 17 29 18
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/OverloadedLabels.hs" 29 17 29 18
+                                  , srcInfoPoints = []
+                                  }
+                                "c"))))
+                ]))
+          Nothing
+      ]
+  , [ Comment
+        False
+        (SrcSpan "tests/examples/OverloadedLabels.hs" 1 1 1 36)
+        " Basic tests of overloaded labels"
+    ]
+  )
diff --git a/tests/examples/OverloadedLabels.hs.prettyparser.golden b/tests/examples/OverloadedLabels.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/OverloadedLabels.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/OverloadedLabels.hs.prettyprinter.golden b/tests/examples/OverloadedLabels.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/OverloadedLabels.hs.prettyprinter.golden
@@ -0,0 +1,21 @@
+{-# LANGUAGE OverloadedLabels, DataKinds, FlexibleContexts,
+  FlexibleInstances, MultiParamTypeClasses, NoMonomorphismRestriction
+  #-}
+import GHC.OverloadedLabels
+
+instance IsLabel "true" Bool where
+        fromLabel _ = True
+
+instance IsLabel "false" Bool where
+        fromLabel _ = False
+
+a :: IsLabel "true" t => t
+a = #true
+b = #false
+
+c :: Bool
+c = #true
+main
+  = do print (a :: Bool)
+       print (b :: Bool)
+       print c
diff --git a/tests/examples/ParallelArrays.hs.prettyprinter.golden b/tests/examples/ParallelArrays.hs.prettyprinter.golden
--- a/tests/examples/ParallelArrays.hs.prettyprinter.golden
+++ b/tests/examples/ParallelArrays.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE ParallelArrays #-}
-module Main (main) where
 
 dotp_double :: [:Double:] -> [:Double:] -> Double
 dotp_double xs ys = sumP [:x * y| x <- xs| y <- ys:]
diff --git a/tests/examples/ParallelListComp.hs.prettyprinter.golden b/tests/examples/ParallelListComp.hs.prettyprinter.golden
--- a/tests/examples/ParallelListComp.hs.prettyprinter.golden
+++ b/tests/examples/ParallelListComp.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE ParallelListComp #-}
-module Main (main) where
 f xs ys zs = [(x, y, z)| x <- xs| y <- ys, y > 2| z <- zs]
diff --git a/tests/examples/PartialSignatures.hs.parser.golden b/tests/examples/PartialSignatures.hs.parser.golden
--- a/tests/examples/PartialSignatures.hs.parser.golden
+++ b/tests/examples/PartialSignatures.hs.parser.golden
@@ -4438,7 +4438,7 @@
                 (CxSingle
                    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 17 61 19 ]
                      }
diff --git a/tests/examples/PartialSignatures.hs.prettyprinter.golden b/tests/examples/PartialSignatures.hs.prettyprinter.golden
--- a/tests/examples/PartialSignatures.hs.prettyprinter.golden
+++ b/tests/examples/PartialSignatures.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE GADTs, NamedWildCards, ScopedTypeVariables #-}
-module Main (main) where
 
 bar :: Int -> _ Int
 bar x = Foo True () x
@@ -7,32 +6,32 @@
 addAndOr1 :: _
 addAndOr1 (a, b) (c, d) = (a `plus` d, b || c)
   where plus :: Int -> Int -> Int
-        plus x y = x + y
+        x `plus` y = x + y
 
 addAndOr2 :: _ -> _
 addAndOr2 (a, b) (c, d) = (a `plus` d, b || c)
   where plus :: Int -> Int -> Int
-        plus x y = x + y
+        x `plus` y = x + y
 
 addAndOr3 :: _ -> _ -> _
 addAndOr3 (a, b) (c, d) = (a `plus` d, b || c)
   where plus :: Int -> Int -> Int
-        plus x y = x + y
+        x `plus` y = x + y
 
 addAndOr4 :: (_ _ _) -> (_ _ _) -> (_ _ _)
 addAndOr4 (a, b) (c, d) = (a `plus` d, b || c)
   where plus :: Int -> Int -> Int
-        plus x y = x + y
+        x `plus` y = x + y
 
 addAndOr5 :: (_, _) -> (_, _) -> (_, _)
 addAndOr5 (a, b) (c, d) = (a `plus` d, b || c)
   where plus :: Int -> Int -> Int
-        plus x y = x + y
+        x `plus` y = x + y
 
 addAndOr6 :: (Int, _) -> (Bool, _) -> (_ Int Bool)
 addAndOr6 (a, b) (c, d) = (a `plus` d, b || c)
   where plus :: Int -> Int -> Int
-        plus x y = x + y
+        x `plus` y = x + y
 
 bar :: _ -> _
 bar x = not x
diff --git a/tests/examples/PatSynFix.hs b/tests/examples/PatSynFix.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/PatSynFix.hs
@@ -0,0 +1,3 @@
+{-# LANGUAGE PatternSynonyms #-}
+pattern A <- (True, True) where A = (not $ False && True, True)
+exp = not $ False && True
diff --git a/tests/examples/PatSynFix.hs.exactprinter.golden b/tests/examples/PatSynFix.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/PatSynFix.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/PatSynFix.hs.parser.golden b/tests/examples/PatSynFix.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/PatSynFix.hs.parser.golden
@@ -0,0 +1,381 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 1 1 4 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/PatSynFix.hs" 1 1 1 1
+            , SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 1
+            , SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 1
+            , SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 1
+            , SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 1
+            , SrcSpan "tests/examples/PatSynFix.hs" 4 1 4 1
+            , SrcSpan "tests/examples/PatSynFix.hs" 4 1 4 1
+            ]
+        }
+      Nothing
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 1 1 1 33
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/PatSynFix.hs" 1 1 1 13
+                , SrcSpan "tests/examples/PatSynFix.hs" 1 30 1 33
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 1 14 1 29
+                , srcInfoPoints = []
+                }
+              "PatternSynonyms"
+          ]
+      ]
+      []
+      [ PatSyn
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 26
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/PatSynFix.hs" 2 1 2 8
+                , SrcSpan "tests/examples/PatSynFix.hs" 2 11 2 13
+                ]
+            }
+          (PApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 9 2 10
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 9 2 10
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 9 2 10
+                     , srcInfoPoints = []
+                     }
+                   "A"))
+             [])
+          (PTuple
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 14 2 26
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/PatSynFix.hs" 2 14 2 15
+                   , SrcSpan "tests/examples/PatSynFix.hs" 2 19 2 20
+                   , SrcSpan "tests/examples/PatSynFix.hs" 2 25 2 26
+                   ]
+               }
+             Boxed
+             [ PApp
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 15 2 19
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 15 2 19
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 15 2 19
+                         , srcInfoPoints = []
+                         }
+                       "True"))
+                 []
+             , PApp
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 21 2 25
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 21 2 25
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 21 2 25
+                         , srcInfoPoints = []
+                         }
+                       "True"))
+                 []
+             ])
+          (ExplicitBidirectional
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 27 3 0
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/PatSynFix.hs" 2 27 2 32
+                   , SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 33
+                   , SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 0
+                   ]
+               }
+             [ PatBind
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 64
+                   , srcInfoPoints = []
+                   }
+                 (PApp
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 34
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 34
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 33 2 34
+                            , srcInfoPoints = []
+                            }
+                          "A"))
+                    [])
+                 (UnGuardedRhs
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 35 2 64
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/PatSynFix.hs" 2 35 2 36 ]
+                      }
+                    (Tuple
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 37 2 64
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/PatSynFix.hs" 2 37 2 38
+                             , SrcSpan "tests/examples/PatSynFix.hs" 2 57 2 58
+                             , SrcSpan "tests/examples/PatSynFix.hs" 2 63 2 64
+                             ]
+                         }
+                       Boxed
+                       [ InfixApp
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 57
+                             , srcInfoPoints = []
+                             }
+                           (Var
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 41
+                                , srcInfoPoints = []
+                                }
+                              (UnQual
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 41
+                                   , srcInfoPoints = []
+                                   }
+                                 (Ident
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/PatSynFix.hs" 2 38 2 41
+                                      , srcInfoPoints = []
+                                      }
+                                    "not")))
+                           (QVarOp
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 42 2 43
+                                , srcInfoPoints = []
+                                }
+                              (UnQual
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 42 2 43
+                                   , srcInfoPoints = []
+                                   }
+                                 (Symbol
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/PatSynFix.hs" 2 42 2 43
+                                      , srcInfoPoints = []
+                                      }
+                                    "$")))
+                           (InfixApp
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 57
+                                , srcInfoPoints = []
+                                }
+                              (Con
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 49
+                                   , srcInfoPoints = []
+                                   }
+                                 (UnQual
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 49
+                                      , srcInfoPoints = []
+                                      }
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/PatSynFix.hs" 2 44 2 49
+                                         , srcInfoPoints = []
+                                         }
+                                       "False")))
+                              (QVarOp
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 50 2 52
+                                   , srcInfoPoints = []
+                                   }
+                                 (UnQual
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/PatSynFix.hs" 2 50 2 52
+                                      , srcInfoPoints = []
+                                      }
+                                    (Symbol
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/PatSynFix.hs" 2 50 2 52
+                                         , srcInfoPoints = []
+                                         }
+                                       "&&")))
+                              (Con
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 53 2 57
+                                   , srcInfoPoints = []
+                                   }
+                                 (UnQual
+                                    SrcSpanInfo
+                                      { srcInfoSpan =
+                                          SrcSpan "tests/examples/PatSynFix.hs" 2 53 2 57
+                                      , srcInfoPoints = []
+                                      }
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan =
+                                             SrcSpan "tests/examples/PatSynFix.hs" 2 53 2 57
+                                         , srcInfoPoints = []
+                                         }
+                                       "True"))))
+                       , Con
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 59 2 63
+                             , srcInfoPoints = []
+                             }
+                           (UnQual
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 59 2 63
+                                , srcInfoPoints = []
+                                }
+                              (Ident
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 2 59 2 63
+                                   , srcInfoPoints = []
+                                   }
+                                 "True"))
+                       ]))
+                 Nothing
+             ])
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 26
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 4
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 1 3 4
+                  , srcInfoPoints = []
+                  }
+                "exp"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 5 3 26
+               , srcInfoPoints = [ SrcSpan "tests/examples/PatSynFix.hs" 3 5 3 6 ]
+               }
+             (InfixApp
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 26
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 10
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 10
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 7 3 10
+                           , srcInfoPoints = []
+                           }
+                         "not")))
+                (QVarOp
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 11 3 12
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 11 3 12
+                        , srcInfoPoints = []
+                        }
+                      (Symbol
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 11 3 12
+                           , srcInfoPoints = []
+                           }
+                         "$")))
+                (InfixApp
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 26
+                     , srcInfoPoints = []
+                     }
+                   (Con
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 18
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 18
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 13 3 18
+                              , srcInfoPoints = []
+                              }
+                            "False")))
+                   (QVarOp
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 19 3 21
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 19 3 21
+                           , srcInfoPoints = []
+                           }
+                         (Symbol
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 19 3 21
+                              , srcInfoPoints = []
+                              }
+                            "&&")))
+                   (Con
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 22 3 26
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 22 3 26
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/PatSynFix.hs" 3 22 3 26
+                              , srcInfoPoints = []
+                              }
+                            "True"))))))
+          Nothing
+      ]
+  , []
+  )
diff --git a/tests/examples/PatSynFix.hs.prettyparser.golden b/tests/examples/PatSynFix.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/PatSynFix.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/PatSynFix.hs.prettyprinter.golden b/tests/examples/PatSynFix.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/PatSynFix.hs.prettyprinter.golden
@@ -0,0 +1,5 @@
+{-# LANGUAGE PatternSynonyms #-}
+
+pattern A <- (True, True)
+  where A = (not $ False && True, True)
+exp = not $ False && True
diff --git a/tests/examples/PatternSynonymSignatures.hs.prettyprinter.golden b/tests/examples/PatternSynonymSignatures.hs.prettyprinter.golden
--- a/tests/examples/PatternSynonymSignatures.hs.prettyprinter.golden
+++ b/tests/examples/PatternSynonymSignatures.hs.prettyprinter.golden
@@ -1,14 +1,13 @@
 {-# LANGUAGE PatternSynonyms #-}
-module Main (main) where
 
 pattern Syn :: Typ
 
-pattern Syn :: Typ
+pattern Syn :: () => () => Typ
 
 pattern Syn :: Show a => Show b => Typ
 
 pattern Syn :: Show b => Typ
 
-pattern Syn :: Show b => Typ
+pattern Syn :: Show b => () => Typ
 
 pattern Syn :: () => Show b => Typ
diff --git a/tests/examples/PatternSynonyms.hs.prettyprinter.golden b/tests/examples/PatternSynonyms.hs.prettyprinter.golden
--- a/tests/examples/PatternSynonyms.hs.prettyprinter.golden
+++ b/tests/examples/PatternSynonyms.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE PatternSynonyms #-}
-module Main (main) where
 
 pattern A = Nothing
 
diff --git a/tests/examples/PatternSynonyms3.hs.prettyprinter.golden b/tests/examples/PatternSynonyms3.hs.prettyprinter.golden
--- a/tests/examples/PatternSynonyms3.hs.prettyprinter.golden
+++ b/tests/examples/PatternSynonyms3.hs.prettyprinter.golden
@@ -1,7 +1,6 @@
 {-# LANGUAGE PatternSynonyms, BangPatterns, PolyKinds, DataKinds,
   GADTs, FlexibleContexts, ViewPatterns #-}
 {-# LANGUAGE ExplicitForAll #-}
-module Main (main) where
 
 pattern Single x <- [x]
 
@@ -33,7 +32,7 @@
 
 pattern C x = Y (Just x)
 
-pattern Syn :: forall a b c . Int
+pattern Syn :: forall a b c . () => () => Int
 
 pattern C :: (Show (a, Bool)) => a -> X Maybe (Maybe (a, Bool))
 
diff --git a/tests/examples/PolyKinds.hs.prettyprinter.golden b/tests/examples/PolyKinds.hs.prettyprinter.golden
--- a/tests/examples/PolyKinds.hs.prettyprinter.golden
+++ b/tests/examples/PolyKinds.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE PolyKinds #-}
-module Main (main) where
 
 data Proxy t = Proxy
 
diff --git a/tests/examples/PrimitiveIntHexLiteral.hs.prettyparser.golden b/tests/examples/PrimitiveIntHexLiteral.hs.prettyparser.golden
--- a/tests/examples/PrimitiveIntHexLiteral.hs.prettyparser.golden
+++ b/tests/examples/PrimitiveIntHexLiteral.hs.prettyparser.golden
@@ -1,1 +1,10 @@
-Match
+Roundtrip test failed
+
+AST 1:
+
+Module () Nothing [LanguagePragma () [Ident () "MagicHash"]] [] [PatBind () (PVar () (Ident () "minInt")) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "I#"))) (Paren () (Lit () (PrimInt () 9223372036854775808 "0x8000000000000000"))))) Nothing]
+
+AST 2:
+
+Module () Nothing [LanguagePragma () [Ident () "MagicHash"]] [] [PatBind () (PVar () (Ident () "minInt")) (UnGuardedRhs () (App () (Con () (UnQual () (Ident () "I#"))) (Paren () (Lit () (PrimInt () 9223372036854775808 "9223372036854775808"))))) Nothing]
+
diff --git a/tests/examples/PrimitiveIntHexLiteral.hs.prettyprinter.golden b/tests/examples/PrimitiveIntHexLiteral.hs.prettyprinter.golden
--- a/tests/examples/PrimitiveIntHexLiteral.hs.prettyprinter.golden
+++ b/tests/examples/PrimitiveIntHexLiteral.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE MagicHash #-}
-module Main (main) where
 minInt = I# (9223372036854775808#)
diff --git a/tests/examples/QualifiedQQuote.hs.prettyprinter.golden b/tests/examples/QualifiedQQuote.hs.prettyprinter.golden
--- a/tests/examples/QualifiedQQuote.hs.prettyprinter.golden
+++ b/tests/examples/QualifiedQQuote.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE QuasiQuotes #-}
-module Main (main) where
 import qualified Language.Haskell.TH as T
 
 x :: T.DecsQ
diff --git a/tests/examples/QualifiedRecordfieldPuns.hs.prettyprinter.golden b/tests/examples/QualifiedRecordfieldPuns.hs.prettyprinter.golden
--- a/tests/examples/QualifiedRecordfieldPuns.hs.prettyprinter.golden
+++ b/tests/examples/QualifiedRecordfieldPuns.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE NamedFieldPuns #-}
-module Main (main) where
 f (C{M.a}) = a
diff --git a/tests/examples/QuasiQuoteExpr2.hs b/tests/examples/QuasiQuoteExpr2.hs
deleted file mode 100644
--- a/tests/examples/QuasiQuoteExpr2.hs
+++ /dev/null
@@ -1,3 +0,0 @@
-{-# LANGUAGE QuasiQuotes #-}
-
-foo = [$q| a b |]
diff --git a/tests/examples/QuasiQuoteExpr2.hs.exactprinter.golden b/tests/examples/QuasiQuoteExpr2.hs.exactprinter.golden
deleted file mode 100644
--- a/tests/examples/QuasiQuoteExpr2.hs.exactprinter.golden
+++ /dev/null
@@ -1,4 +0,0 @@
-{-# LANGUAGE QuasiQuotes #-}
-
-foo = [q| a b |]
-
diff --git a/tests/examples/QuasiQuoteExpr2.hs.parser.golden b/tests/examples/QuasiQuoteExpr2.hs.parser.golden
deleted file mode 100644
--- a/tests/examples/QuasiQuoteExpr2.hs.parser.golden
+++ /dev/null
@@ -1,69 +0,0 @@
-ParseOk
-  ( Module
-      SrcSpanInfo
-        { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 1 4 1
-        , srcInfoPoints =
-            [ SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 1 1 1
-            , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 1
-            , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 1
-            , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 1
-            , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 4 1 4 1
-            , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 4 1 4 1
-            ]
-        }
-      Nothing
-      [ LanguagePragma
-          SrcSpanInfo
-            { srcInfoSpan =
-                SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 1 1 29
-            , srcInfoPoints =
-                [ SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 1 1 13
-                , SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 26 1 29
-                ]
-            }
-          [ Ident
-              SrcSpanInfo
-                { srcInfoSpan =
-                    SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 1 14 1 25
-                , srcInfoPoints = []
-                }
-              "QuasiQuotes"
-          ]
-      ]
-      []
-      [ PatBind
-          SrcSpanInfo
-            { srcInfoSpan =
-                SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 18
-            , srcInfoPoints = []
-            }
-          (PVar
-             SrcSpanInfo
-               { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 4
-               , srcInfoPoints = []
-               }
-             (Ident
-                SrcSpanInfo
-                  { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 1 3 4
-                  , srcInfoPoints = []
-                  }
-                "foo"))
-          (UnGuardedRhs
-             SrcSpanInfo
-               { srcInfoSpan =
-                   SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 5 3 18
-               , srcInfoPoints =
-                   [ SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 5 3 6 ]
-               }
-             (QuasiQuote
-                SrcSpanInfo
-                  { srcInfoSpan =
-                      SrcSpan "tests/examples/QuasiQuoteExpr2.hs" 3 7 3 18
-                  , srcInfoPoints = []
-                  }
-                "q"
-                " a b "))
-          Nothing
-      ]
-  , []
-  )
diff --git a/tests/examples/QuasiQuoteExpr2.hs.prettyparser.golden b/tests/examples/QuasiQuoteExpr2.hs.prettyparser.golden
deleted file mode 100644
--- a/tests/examples/QuasiQuoteExpr2.hs.prettyparser.golden
+++ /dev/null
@@ -1,1 +0,0 @@
-Match
diff --git a/tests/examples/QuasiQuoteExpr2.hs.prettyprinter.golden b/tests/examples/QuasiQuoteExpr2.hs.prettyprinter.golden
deleted file mode 100644
--- a/tests/examples/QuasiQuoteExpr2.hs.prettyprinter.golden
+++ /dev/null
@@ -1,3 +0,0 @@
-{-# LANGUAGE QuasiQuotes #-}
-module Main (main) where
-foo = [q| a b |]
diff --git a/tests/examples/QuasiQuoteLines.hs.prettyprinter.golden b/tests/examples/QuasiQuoteLines.hs.prettyprinter.golden
--- a/tests/examples/QuasiQuoteLines.hs.prettyprinter.golden
+++ b/tests/examples/QuasiQuoteLines.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE QuasiQuotes #-}
-module Main (main) where
 import Here
 
 str :: String
diff --git a/tests/examples/QuasiQuoteOld.hs.prettyprinter.golden b/tests/examples/QuasiQuoteOld.hs.prettyprinter.golden
--- a/tests/examples/QuasiQuoteOld.hs.prettyprinter.golden
+++ b/tests/examples/QuasiQuoteOld.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE QuasiQuotes #-}
-module Main (main) where
 import Here
 
 str :: String
diff --git a/tests/examples/QuasiQuoteQual2.hs.prettyprinter.golden b/tests/examples/QuasiQuoteQual2.hs.prettyprinter.golden
--- a/tests/examples/QuasiQuoteQual2.hs.prettyprinter.golden
+++ b/tests/examples/QuasiQuoteQual2.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
 {-# LANGUAGE QuasiQuotes #-}
-module Main (main) where
 f [True] = 1
 f _ = 0
diff --git a/tests/examples/QuasiQuoteSplice.hs.prettyprinter.golden b/tests/examples/QuasiQuoteSplice.hs.prettyprinter.golden
--- a/tests/examples/QuasiQuoteSplice.hs.prettyprinter.golden
+++ b/tests/examples/QuasiQuoteSplice.hs.prettyprinter.golden
@@ -1,6 +1,5 @@
 {-# LANGUAGE TemplateHaskell, RankNTypes #-}
 {-# OPTIONS_GHC -F -pgmFtrhsx #-}
-module Main (main) where
 import Language.Haskell.TH
 
 data PageFunction m a = PF
diff --git a/tests/examples/QuasiQuoteToplevel.hs.prettyprinter.golden b/tests/examples/QuasiQuoteToplevel.hs.prettyprinter.golden
--- a/tests/examples/QuasiQuoteToplevel.hs.prettyprinter.golden
+++ b/tests/examples/QuasiQuoteToplevel.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE QuasiQuotes #-}
-module Main (main) where
 
 [undefined|
 this quasiquote is acceptable to ghc's
diff --git a/tests/examples/QuasiQuoteUnit.hs b/tests/examples/QuasiQuoteUnit.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/QuasiQuoteUnit.hs
@@ -0,0 +1,5 @@
+{-# LANGUAGE QuasiQuotes #-}
+{-# LANGUAGE TemplateHaskell #-}
+
+unNest n = conP '()
+
diff --git a/tests/examples/QuasiQuoteUnit.hs.exactprinter.golden b/tests/examples/QuasiQuoteUnit.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/QuasiQuoteUnit.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/QuasiQuoteUnit.hs.parser.golden b/tests/examples/QuasiQuoteUnit.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/QuasiQuoteUnit.hs.parser.golden
@@ -0,0 +1,139 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 6 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 1 1
+            , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 1 2 1
+            , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 1
+            , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 1
+            , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 1
+            , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 6 1 6 1
+            , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 6 1 6 1
+            ]
+        }
+      Nothing
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 1 29
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 1 1 13
+                , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 26 1 29
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/QuasiQuoteUnit.hs" 1 14 1 25
+                , srcInfoPoints = []
+                }
+              "QuasiQuotes"
+          ]
+      , LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 1 2 33
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 1 2 13
+                , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 30 2 33
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/QuasiQuoteUnit.hs" 2 14 2 29
+                , srcInfoPoints = []
+                }
+              "TemplateHaskell"
+          ]
+      ]
+      []
+      [ FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 20
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 20
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 1 4 7
+                   , srcInfoPoints = []
+                   }
+                 "unNest")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 8 4 9
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 8 4 9
+                       , srcInfoPoints = []
+                       }
+                     "n")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 10 4 20
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 10 4 11 ]
+                   }
+                 (App
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 20
+                      , srcInfoPoints = []
+                      }
+                    (Var
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 16
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 16
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 12 4 16
+                               , srcInfoPoints = []
+                               }
+                             "conP")))
+                    (VarQuote
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 17 4 20
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 17 4 18 ]
+                         }
+                       (Special
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 20
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 19
+                                , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 19 4 20
+                                ]
+                            }
+                          (UnitCon
+                             SrcSpanInfo
+                               { srcInfoSpan =
+                                   SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 20
+                               , srcInfoPoints =
+                                   [ SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 18 4 19
+                                   , SrcSpan "tests/examples/QuasiQuoteUnit.hs" 4 19 4 20
+                                   ]
+                               })))))
+              Nothing
+          ]
+      ]
+  , []
+  )
diff --git a/tests/examples/QuasiQuoteUnit.hs.prettyparser.golden b/tests/examples/QuasiQuoteUnit.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/QuasiQuoteUnit.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/QuasiQuoteUnit.hs.prettyprinter.golden b/tests/examples/QuasiQuoteUnit.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/QuasiQuoteUnit.hs.prettyprinter.golden
@@ -0,0 +1,3 @@
+{-# LANGUAGE QuasiQuotes #-}
+{-# LANGUAGE TemplateHaskell #-}
+unNest n = conP '()
diff --git a/tests/examples/RCategory.hs.parser.golden b/tests/examples/RCategory.hs.parser.golden
--- a/tests/examples/RCategory.hs.parser.golden
+++ b/tests/examples/RCategory.hs.parser.golden
@@ -218,9 +218,7 @@
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 3 15 43
                    , srcInfoPoints =
-                       [ SrcSpan "tests/examples/RCategory.hs" 15 3 15 7
-                       , SrcSpan "tests/examples/RCategory.hs" 15 30 15 32
-                       ]
+                       [ SrcSpan "tests/examples/RCategory.hs" 15 3 15 7 ]
                    }
                  (DHApp
                     SrcSpanInfo
@@ -282,22 +280,29 @@
                             }
                           "b")))
                  (Just
-                    (KindVar
+                    (KindSig
                        SrcSpanInfo
-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43
-                         , srcInfoPoints = []
+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 30 15 43
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/RCategory.hs" 15 30 15 32 ]
                          }
-                       (UnQual
+                       (KindVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43
                             , srcInfoPoints = []
                             }
-                          (Ident
+                          (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43
                                , srcInfoPoints = []
                                }
-                             "Constraint"))))
+                             (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
diff --git a/tests/examples/RCategory2.hs.parser.golden b/tests/examples/RCategory2.hs.parser.golden
--- a/tests/examples/RCategory2.hs.parser.golden
+++ b/tests/examples/RCategory2.hs.parser.golden
@@ -102,9 +102,7 @@
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 3 6 43
                    , srcInfoPoints =
-                       [ SrcSpan "tests/examples/RCategory2.hs" 6 3 6 7
-                       , SrcSpan "tests/examples/RCategory2.hs" 6 30 6 32
-                       ]
+                       [ SrcSpan "tests/examples/RCategory2.hs" 6 3 6 7 ]
                    }
                  (DHApp
                     SrcSpanInfo
@@ -166,22 +164,29 @@
                             }
                           "b")))
                  (Just
-                    (KindVar
+                    (KindSig
                        SrcSpanInfo
-                         { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43
-                         , srcInfoPoints = []
+                         { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 30 6 43
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/RCategory2.hs" 6 30 6 32 ]
                          }
-                       (UnQual
+                       (KindVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43
                             , srcInfoPoints = []
                             }
-                          (Ident
+                          (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43
                                , srcInfoPoints = []
                                }
-                             "Constraint"))))
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory2.hs" 6 33 6 43
+                                  , srcInfoPoints = []
+                                  }
+                                "Constraint")))))
+                 Nothing
              ])
       ]
   , []
diff --git a/tests/examples/RCategory2.hs.prettyprinter.golden b/tests/examples/RCategory2.hs.prettyprinter.golden
--- a/tests/examples/RCategory2.hs.prettyprinter.golden
+++ b/tests/examples/RCategory2.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE TypeFamilies, ConstraintKinds #-}
-module Main (main) where
 import GHC.Prim
 
 class RCategory cat where
diff --git a/tests/examples/RCategory3.hs.prettyprinter.golden b/tests/examples/RCategory3.hs.prettyprinter.golden
--- a/tests/examples/RCategory3.hs.prettyprinter.golden
+++ b/tests/examples/RCategory3.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE TypeFamilies, ConstraintKinds #-}
-module Main (main) where
 
 instance RCategory (->) where
         type RCategoryCtxt (->) a a = ()
diff --git a/tests/examples/ReadP.hs.prettyprinter.golden b/tests/examples/ReadP.hs.prettyprinter.golden
--- a/tests/examples/ReadP.hs.prettyprinter.golden
+++ b/tests/examples/ReadP.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
 {-# LANGUAGE TypeOperators #-}
-module Main (main) where
 
 newtype ReadP a = R (forall b . (a -> P b) -> P b)
diff --git a/tests/examples/RecordInfixSelector.hs.prettyprinter.golden b/tests/examples/RecordInfixSelector.hs.prettyprinter.golden
--- a/tests/examples/RecordInfixSelector.hs.prettyprinter.golden
+++ b/tests/examples/RecordInfixSelector.hs.prettyprinter.golden
@@ -1,4 +1,2 @@
-module Main (main) where
-
 data RecordWithInfixSelector = Cons{(<>) :: Int -> Int}
 idRecord = Cons{(<>) = id}
diff --git a/tests/examples/RecordPatternSynonyms.hs b/tests/examples/RecordPatternSynonyms.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/RecordPatternSynonyms.hs
@@ -0,0 +1,16 @@
+{-# LANGUAGE PatternSynonyms #-}
+module ShouldCompile where
+
+pattern Single{x} = [x]
+
+pattern Double{y,z} = (y,z)
+
+pattern More{x} <- (x,_) where
+  More x = (x, Nothing)
+
+-- Selector
+selector :: Int
+selector = x [5]
+
+update :: [String]
+update = ["String"] { x = "updated" }
diff --git a/tests/examples/RecordPatternSynonyms.hs.exactprinter.golden b/tests/examples/RecordPatternSynonyms.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/RecordPatternSynonyms.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/RecordPatternSynonyms.hs.parser.golden b/tests/examples/RecordPatternSynonyms.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/RecordPatternSynonyms.hs.parser.golden
@@ -0,0 +1,688 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan =
+            SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 17 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 1 1
+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 1
+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 1
+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 1 4 1
+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 1 6 1
+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 1 8 1
+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 1
+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 1
+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 1 15 1
+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 1
+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 17 1 17 1
+            , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 17 1 17 1
+            ]
+        }
+      (Just
+         (ModuleHead
+            SrcSpanInfo
+              { srcInfoSpan =
+                  SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 27
+              , srcInfoPoints =
+                  [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 1 2 7
+                  , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 22 2 27
+                  ]
+              }
+            (ModuleName
+               SrcSpanInfo
+                 { srcInfoSpan =
+                     SrcSpan "tests/examples/RecordPatternSynonyms.hs" 2 8 2 21
+                 , srcInfoPoints = []
+                 }
+               "ShouldCompile")
+            Nothing
+            Nothing))
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 1 33
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 1 1 13
+                , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 30 1 33
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/RecordPatternSynonyms.hs" 1 14 1 29
+                , srcInfoPoints = []
+                }
+              "PatternSynonyms"
+          ]
+      ]
+      []
+      [ PatSyn
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 1 4 24
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 1 4 8
+                , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 19 4 20
+                ]
+            }
+          (PRec
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 9 4 18
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 15 4 16
+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 17 4 18
+                   ]
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 9 4 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 9 4 15
+                     , srcInfoPoints = []
+                     }
+                   "Single"))
+             [ PFieldPun
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 16 4 17
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 16 4 17
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 16 4 17
+                         , srcInfoPoints = []
+                         }
+                       "x"))
+             ])
+          (PList
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 21 4 24
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 21 4 22
+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 23 4 24
+                   ]
+               }
+             [ PVar
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 22 4 23
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 4 22 4 23
+                      , srcInfoPoints = []
+                      }
+                    "x")
+             ])
+          ImplicitBidirectional
+      , PatSyn
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 1 6 28
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 1 6 8
+                , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 21 6 22
+                ]
+            }
+          (PRec
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 9 6 20
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 15 6 16
+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 17 6 18
+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 19 6 20
+                   ]
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 9 6 15
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 9 6 15
+                     , srcInfoPoints = []
+                     }
+                   "Double"))
+             [ PFieldPun
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 16 6 17
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 16 6 17
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 16 6 17
+                         , srcInfoPoints = []
+                         }
+                       "y"))
+             , PFieldPun
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 18 6 19
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 18 6 19
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 18 6 19
+                         , srcInfoPoints = []
+                         }
+                       "z"))
+             ])
+          (PTuple
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 23 6 28
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 23 6 24
+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 25 6 26
+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 27 6 28
+                   ]
+               }
+             Boxed
+             [ PVar
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 24 6 25
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 24 6 25
+                      , srcInfoPoints = []
+                      }
+                    "y")
+             , PVar
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 26 6 27
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 6 26 6 27
+                      , srcInfoPoints = []
+                      }
+                    "z")
+             ])
+          ImplicitBidirectional
+      , PatSyn
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 1 8 25
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 1 8 8
+                , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 17 8 19
+                ]
+            }
+          (PRec
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 9 8 16
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 13 8 14
+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 15 8 16
+                   ]
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 9 8 13
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 9 8 13
+                     , srcInfoPoints = []
+                     }
+                   "More"))
+             [ PFieldPun
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 14 8 15
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 14 8 15
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 14 8 15
+                         , srcInfoPoints = []
+                         }
+                       "x"))
+             ])
+          (PTuple
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 20 8 25
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 20 8 21
+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 22 8 23
+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 24 8 25
+                   ]
+               }
+             Boxed
+             [ PVar
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 21 8 22
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 21 8 22
+                      , srcInfoPoints = []
+                      }
+                    "x")
+             , PWildCard
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 23 8 24
+                   , srcInfoPoints = []
+                   }
+             ])
+          (ExplicitBidirectional
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 26 12 0
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 8 26 8 31
+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 3
+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 0
+                   ]
+               }
+             [ PatBind
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 24
+                   , srcInfoPoints = []
+                   }
+                 (PApp
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 9
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 7
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 3 9 7
+                            , srcInfoPoints = []
+                            }
+                          "More"))
+                    [ PVar
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 8 9 9
+                          , srcInfoPoints = []
+                          }
+                        (Ident
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 8 9 9
+                             , srcInfoPoints = []
+                             }
+                           "x")
+                    ])
+                 (UnGuardedRhs
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 10 9 24
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 10 9 11 ]
+                      }
+                    (Tuple
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 12 9 24
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 12 9 13
+                             , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 14 9 15
+                             , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 23 9 24
+                             ]
+                         }
+                       Boxed
+                       [ Var
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 13 9 14
+                             , srcInfoPoints = []
+                             }
+                           (UnQual
+                              SrcSpanInfo
+                                { srcInfoSpan =
+                                    SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 13 9 14
+                                , srcInfoPoints = []
+                                }
+                              (Ident
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 13 9 14
+                                   , srcInfoPoints = []
+                                   }
+                                 "x"))
+                       , Con
+                           SrcSpanInfo
+                             { srcInfoSpan =
+                                 SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 16 9 23
+                             , srcInfoPoints = []
+                             }
+                           (UnQual
+                              SrcSpanInfo
+                                { srcInfoSpan =
+                                    SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 16 9 23
+                                , srcInfoPoints = []
+                                }
+                              (Ident
+                                 SrcSpanInfo
+                                   { srcInfoSpan =
+                                       SrcSpan "tests/examples/RecordPatternSynonyms.hs" 9 16 9 23
+                                   , srcInfoPoints = []
+                                   }
+                                 "Nothing"))
+                       ]))
+                 Nothing
+             ])
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 16
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 10 12 12 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 1 12 9
+                , srcInfoPoints = []
+                }
+              "selector"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 13 12 16
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 13 12 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 12 13 12 16
+                     , srcInfoPoints = []
+                     }
+                   "Int")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 17
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 9
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 1 13 9
+                  , srcInfoPoints = []
+                  }
+                "selector"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 10 13 17
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 10 13 11 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 17
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 13
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 13
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 12 13 13
+                           , srcInfoPoints = []
+                           }
+                         "x")))
+                (List
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 14 13 17
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 14 13 15
+                         , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 16 13 17
+                         ]
+                     }
+                   [ Lit
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 15 13 16
+                         , srcInfoPoints = []
+                         }
+                       (Int
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 13 15 13 16
+                            , srcInfoPoints = []
+                            }
+                          5
+                          "5")
+                   ])))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 1 15 19
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 8 15 10 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 1 15 7
+                , srcInfoPoints = []
+                }
+              "update"
+          ]
+          (TyList
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 11 15 19
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 11 15 12
+                   , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 18 15 19
+                   ]
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 12 15 18
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 12 15 18
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/RecordPatternSynonyms.hs" 15 12 15 18
+                        , srcInfoPoints = []
+                        }
+                      "String"))))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 38
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 7
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 1 16 7
+                  , srcInfoPoints = []
+                  }
+                "update"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 8 16 38
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 8 16 9 ]
+               }
+             (RecUpdate
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 10 16 38
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 21 16 22
+                      , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 37 16 38
+                      ]
+                  }
+                (List
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 10 16 20
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 10 16 11
+                         , SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 19 16 20
+                         ]
+                     }
+                   [ Lit
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 11 16 19
+                         , srcInfoPoints = []
+                         }
+                       (String
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 11 16 19
+                            , srcInfoPoints = []
+                            }
+                          "String"
+                          "String")
+                   ])
+                [ FieldUpdate
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 23 16 36
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 25 16 26 ]
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 23 16 24
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 23 16 24
+                            , srcInfoPoints = []
+                            }
+                          "x"))
+                    (Lit
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 27 16 36
+                         , srcInfoPoints = []
+                         }
+                       (String
+                          SrcSpanInfo
+                            { srcInfoSpan =
+                                SrcSpan "tests/examples/RecordPatternSynonyms.hs" 16 27 16 36
+                            , srcInfoPoints = []
+                            }
+                          "updated"
+                          "updated"))
+                ]))
+          Nothing
+      ]
+  , [ Comment
+        False
+        (SrcSpan "tests/examples/RecordPatternSynonyms.hs" 11 1 11 12)
+        " Selector"
+    ]
+  )
diff --git a/tests/examples/RecordPatternSynonyms.hs.prettyparser.golden b/tests/examples/RecordPatternSynonyms.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/RecordPatternSynonyms.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/RecordPatternSynonyms.hs.prettyprinter.golden b/tests/examples/RecordPatternSynonyms.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/RecordPatternSynonyms.hs.prettyprinter.golden
@@ -0,0 +1,15 @@
+{-# LANGUAGE PatternSynonyms #-}
+module ShouldCompile where
+
+pattern Single{x} = [x]
+
+pattern Double{y, z} = (y, z)
+
+pattern More{x} <- (x, _)
+  where More x = (x, Nothing)
+
+selector :: Int
+selector = x [5]
+
+update :: [String]
+update = ["String"]{x = "updated"}
diff --git a/tests/examples/RecursiveDo.hs.prettyprinter.golden b/tests/examples/RecursiveDo.hs.prettyprinter.golden
--- a/tests/examples/RecursiveDo.hs.prettyprinter.golden
+++ b/tests/examples/RecursiveDo.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE RecursiveDo #-}
-module Main (main) where
 justOnes
   = do rec xs <- Just (1 : xs)
        return (map negate xs)
diff --git a/tests/examples/RoleAnnotations2.hs b/tests/examples/RoleAnnotations2.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/RoleAnnotations2.hs
@@ -0,0 +1,9 @@
+{-# LANGUAGE RoleAnnotations #-}
+
+data Foo a = Foo a
+type role Foo representational
+
+main = print $ foo 1
+
+foo :: Int -> Int
+foo role = 42
diff --git a/tests/examples/RoleAnnotations2.hs.exactprinter.golden b/tests/examples/RoleAnnotations2.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/RoleAnnotations2.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/RoleAnnotations2.hs.parser.golden b/tests/examples/RoleAnnotations2.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/RoleAnnotations2.hs.parser.golden
@@ -0,0 +1,379 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan =
+            SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 10 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 1 1
+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 1
+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 1
+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 1
+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 4 1 4 1
+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 1
+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 8 1 8 1
+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 1
+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 10 1 10 1
+            , SrcSpan "tests/examples/RoleAnnotations2.hs" 10 1 10 1
+            ]
+        }
+      Nothing
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 1 33
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/RoleAnnotations2.hs" 1 1 1 13
+                , SrcSpan "tests/examples/RoleAnnotations2.hs" 1 30 1 33
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/RoleAnnotations2.hs" 1 14 1 29
+                , srcInfoPoints = []
+                }
+              "RoleAnnotations"
+          ]
+      ]
+      []
+      [ DataDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 19
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/RoleAnnotations2.hs" 3 12 3 13 ]
+            }
+          (DataType
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RoleAnnotations2.hs" 3 1 3 5
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RoleAnnotations2.hs" 3 6 3 11
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 3 6 3 9
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 3 6 3 9
+                     , srcInfoPoints = []
+                     }
+                   "Foo"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 3 10 3 11
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 3 10 3 11
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          [ QualConDecl
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/RoleAnnotations2.hs" 3 14 3 19
+                , srcInfoPoints = []
+                }
+              Nothing
+              Nothing
+              (ConDecl
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RoleAnnotations2.hs" 3 14 3 19
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RoleAnnotations2.hs" 3 14 3 17
+                      , srcInfoPoints = []
+                      }
+                    "Foo")
+                 [ TyVar
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/RoleAnnotations2.hs" 3 18 3 19
+                       , srcInfoPoints = []
+                       }
+                     (Ident
+                        SrcSpanInfo
+                          { srcInfoSpan =
+                              SrcSpan "tests/examples/RoleAnnotations2.hs" 3 18 3 19
+                          , srcInfoPoints = []
+                          }
+                        "a")
+                 ])
+          ]
+          Nothing
+      , RoleAnnotDecl
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RoleAnnotations2.hs" 4 1 4 31
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/RoleAnnotations2.hs" 4 1 4 5
+                , SrcSpan "tests/examples/RoleAnnotations2.hs" 4 6 4 10
+                ]
+            }
+          (UnQual
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RoleAnnotations2.hs" 4 11 4 14
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 4 11 4 14
+                  , srcInfoPoints = []
+                  }
+                "Foo"))
+          [ Representational
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/RoleAnnotations2.hs" 4 15 4 31
+                , srcInfoPoints = []
+                }
+          ]
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 21
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 6 1 6 5
+                  , srcInfoPoints = []
+                  }
+                "main"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RoleAnnotations2.hs" 6 6 6 21
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/RoleAnnotations2.hs" 6 6 6 7 ]
+               }
+             (InfixApp
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 21
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 13
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 13
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/RoleAnnotations2.hs" 6 8 6 13
+                           , srcInfoPoints = []
+                           }
+                         "print")))
+                (QVarOp
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 6 14 6 15
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/RoleAnnotations2.hs" 6 14 6 15
+                        , srcInfoPoints = []
+                        }
+                      (Symbol
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/RoleAnnotations2.hs" 6 14 6 15
+                           , srcInfoPoints = []
+                           }
+                         "$")))
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 21
+                     , srcInfoPoints = []
+                     }
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 19
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 19
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan =
+                                  SrcSpan "tests/examples/RoleAnnotations2.hs" 6 16 6 19
+                              , srcInfoPoints = []
+                              }
+                            "foo")))
+                   (Lit
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/RoleAnnotations2.hs" 6 20 6 21
+                        , srcInfoPoints = []
+                        }
+                      (Int
+                         SrcSpanInfo
+                           { srcInfoSpan =
+                               SrcSpan "tests/examples/RoleAnnotations2.hs" 6 20 6 21
+                           , srcInfoPoints = []
+                           }
+                         1
+                         "1")))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RoleAnnotations2.hs" 8 1 8 18
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 5 8 7 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/RoleAnnotations2.hs" 8 1 8 4
+                , srcInfoPoints = []
+                }
+              "foo"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan =
+                   SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 18
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/RoleAnnotations2.hs" 8 12 8 14 ]
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 11
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 11
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/RoleAnnotations2.hs" 8 8 8 11
+                        , srcInfoPoints = []
+                        }
+                      "Int")))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan =
+                      SrcSpan "tests/examples/RoleAnnotations2.hs" 8 15 8 18
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan =
+                         SrcSpan "tests/examples/RoleAnnotations2.hs" 8 15 8 18
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan =
+                            SrcSpan "tests/examples/RoleAnnotations2.hs" 8 15 8 18
+                        , srcInfoPoints = []
+                        }
+                      "Int"))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan =
+                SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 14
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan =
+                    SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 14
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RoleAnnotations2.hs" 9 1 9 4
+                   , srcInfoPoints = []
+                   }
+                 "foo")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan =
+                        SrcSpan "tests/examples/RoleAnnotations2.hs" 9 5 9 9
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan =
+                           SrcSpan "tests/examples/RoleAnnotations2.hs" 9 5 9 9
+                       , srcInfoPoints = []
+                       }
+                     "role")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan =
+                       SrcSpan "tests/examples/RoleAnnotations2.hs" 9 10 9 14
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/RoleAnnotations2.hs" 9 10 9 11 ]
+                   }
+                 (Lit
+                    SrcSpanInfo
+                      { srcInfoSpan =
+                          SrcSpan "tests/examples/RoleAnnotations2.hs" 9 12 9 14
+                      , srcInfoPoints = []
+                      }
+                    (Int
+                       SrcSpanInfo
+                         { srcInfoSpan =
+                             SrcSpan "tests/examples/RoleAnnotations2.hs" 9 12 9 14
+                         , srcInfoPoints = []
+                         }
+                       42
+                       "42")))
+              Nothing
+          ]
+      ]
+  , []
+  )
diff --git a/tests/examples/RoleAnnotations2.hs.prettyparser.golden b/tests/examples/RoleAnnotations2.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/RoleAnnotations2.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/RoleAnnotations2.hs.prettyprinter.golden b/tests/examples/RoleAnnotations2.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/RoleAnnotations2.hs.prettyprinter.golden
@@ -0,0 +1,9 @@
+{-# LANGUAGE RoleAnnotations #-}
+
+data Foo a = Foo a
+
+type role Foo representational
+main = print $ foo 1
+
+foo :: Int -> Int
+foo role = 42
diff --git a/tests/examples/Rules.hs.prettyprinter.golden b/tests/examples/Rules.hs.prettyprinter.golden
--- a/tests/examples/Rules.hs.prettyprinter.golden
+++ b/tests/examples/Rules.hs.prettyprinter.golden
@@ -1,5 +1,3 @@
-module Main (main) where
-
 {-# RULES
 "head/build" forall (g :: forall b . (a -> b -> b) -> b -> b) .
              head (build g) = g (\ x _ -> x) badHead
diff --git a/tests/examples/SafeImports1.hs.prettyprinter.golden b/tests/examples/SafeImports1.hs.prettyprinter.golden
--- a/tests/examples/SafeImports1.hs.prettyprinter.golden
+++ b/tests/examples/SafeImports1.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE SafeImports #-}
-module Main (main) where
 import safe Prelude as P
diff --git a/tests/examples/SafeImports2.hs.prettyprinter.golden b/tests/examples/SafeImports2.hs.prettyprinter.golden
--- a/tests/examples/SafeImports2.hs.prettyprinter.golden
+++ b/tests/examples/SafeImports2.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE Safe #-}
-module Main (main) where
 import safe Prelude as P
diff --git a/tests/examples/SafeImports3.hs.prettyprinter.golden b/tests/examples/SafeImports3.hs.prettyprinter.golden
--- a/tests/examples/SafeImports3.hs.prettyprinter.golden
+++ b/tests/examples/SafeImports3.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE Trustworthy #-}
-module Main (main) where
 import safe Prelude as P
diff --git a/tests/examples/ScopedTypeVariables.hs.prettyprinter.golden b/tests/examples/ScopedTypeVariables.hs.prettyprinter.golden
--- a/tests/examples/ScopedTypeVariables.hs.prettyprinter.golden
+++ b/tests/examples/ScopedTypeVariables.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE ScopedTypeVariables #-}
-module Main (main) where
 
 test :: IO Char
 test
diff --git a/tests/examples/SimpleDeriving.hs.prettyprinter.golden b/tests/examples/SimpleDeriving.hs.prettyprinter.golden
--- a/tests/examples/SimpleDeriving.hs.prettyprinter.golden
+++ b/tests/examples/SimpleDeriving.hs.prettyprinter.golden
@@ -1,4 +1,2 @@
-module Main (main) where
-
 data T = T
        deriving Eq
diff --git a/tests/examples/SpecializeInstance.hs.prettyprinter.golden b/tests/examples/SpecializeInstance.hs.prettyprinter.golden
--- a/tests/examples/SpecializeInstance.hs.prettyprinter.golden
+++ b/tests/examples/SpecializeInstance.hs.prettyprinter.golden
@@ -1,5 +1,3 @@
-module Main (main) where
-
 instance Sized a => Sized (Digit a) where
         {-# SPECIALISE instance Sized (Digit (Elem a)) #-}
         
diff --git a/tests/examples/SpecializePhaseControl.hs.prettyprinter.golden b/tests/examples/SpecializePhaseControl.hs.prettyprinter.golden
--- a/tests/examples/SpecializePhaseControl.hs.prettyprinter.golden
+++ b/tests/examples/SpecializePhaseControl.hs.prettyprinter.golden
@@ -1,5 +1,3 @@
-module Main (main) where
-
 {-# SPECIALISE [1] x :: Integer -> Integer -> Integer,
                  Integer -> Int -> Integer, Int -> Int -> Int #-}
 
diff --git a/tests/examples/THTSplices.hs.prettyprinter.golden b/tests/examples/THTSplices.hs.prettyprinter.golden
--- a/tests/examples/THTSplices.hs.prettyprinter.golden
+++ b/tests/examples/THTSplices.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
 {-# LANGUAGE TemplateHaskell #-}
-module Main (main) where
 import Language.Haskell.TH
 main = undefined :: $( undefined )
diff --git a/tests/examples/TabWhitespace.hs.prettyprinter.golden b/tests/examples/TabWhitespace.hs.prettyprinter.golden
--- a/tests/examples/TabWhitespace.hs.prettyprinter.golden
+++ b/tests/examples/TabWhitespace.hs.prettyprinter.golden
@@ -1,1 +1,1 @@
-module Main (main) where
+
diff --git a/tests/examples/Testing.hs.prettyprinter.golden b/tests/examples/Testing.hs.prettyprinter.golden
--- a/tests/examples/Testing.hs.prettyprinter.golden
+++ b/tests/examples/Testing.hs.prettyprinter.golden
@@ -1,2 +1,1 @@
-module Main (main) where
 main = return ()
diff --git a/tests/examples/TrailingWhere.hs.prettyprinter.golden b/tests/examples/TrailingWhere.hs.prettyprinter.golden
--- a/tests/examples/TrailingWhere.hs.prettyprinter.golden
+++ b/tests/examples/TrailingWhere.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
-module Main (main) where
 fail = x
   where broken = 24
           where
diff --git a/tests/examples/TrailingWhere2.hs.prettyprinter.golden b/tests/examples/TrailingWhere2.hs.prettyprinter.golden
--- a/tests/examples/TrailingWhere2.hs.prettyprinter.golden
+++ b/tests/examples/TrailingWhere2.hs.prettyprinter.golden
@@ -1,5 +1,3 @@
-module Main (main) where
-
 data Baz = Baz
 
 instance Show Baz where
diff --git a/tests/examples/TrailingWhere3.hs.prettyprinter.golden b/tests/examples/TrailingWhere3.hs.prettyprinter.golden
--- a/tests/examples/TrailingWhere3.hs.prettyprinter.golden
+++ b/tests/examples/TrailingWhere3.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
-module Main (main) where
 main = f
   where f = g
           where
diff --git a/tests/examples/TupleSections.hs.prettyprinter.golden b/tests/examples/TupleSections.hs.prettyprinter.golden
--- a/tests/examples/TupleSections.hs.prettyprinter.golden
+++ b/tests/examples/TupleSections.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE TupleSections #-}
-module Main (main) where
 foo x = (1, ,) x 3
diff --git a/tests/examples/TyQuasiQuote.hs b/tests/examples/TyQuasiQuote.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/TyQuasiQuote.hs
@@ -0,0 +1,3 @@
+{-# LANGUAGE QuasiQuotes, TemplateHaskell #-}
+f :: [qq| something in here |]
+f = ()
diff --git a/tests/examples/TyQuasiQuote.hs.exactprinter.golden b/tests/examples/TyQuasiQuote.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/TyQuasiQuote.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/TyQuasiQuote.hs.parser.golden b/tests/examples/TyQuasiQuote.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/TyQuasiQuote.hs.parser.golden
@@ -0,0 +1,109 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 4 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 1 1
+            , SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 1
+            , SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 1
+            , SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 1
+            , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 1
+            , SrcSpan "tests/examples/TyQuasiQuote.hs" 4 1 4 1
+            , SrcSpan "tests/examples/TyQuasiQuote.hs" 4 1 4 1
+            ]
+        }
+      Nothing
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 1 46
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/TyQuasiQuote.hs" 1 1 1 13
+                , SrcSpan "tests/examples/TyQuasiQuote.hs" 1 25 1 26
+                , SrcSpan "tests/examples/TyQuasiQuote.hs" 1 43 1 46
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 14 1 25
+                , srcInfoPoints = []
+                }
+              "QuasiQuotes"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 1 27 1 42
+                , srcInfoPoints = []
+                }
+              "TemplateHaskell"
+          ]
+      ]
+      []
+      [ TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 31
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/TyQuasiQuote.hs" 2 3 2 5 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 2 1 2 2
+                , srcInfoPoints = []
+                }
+              "f"
+          ]
+          (TyQuasiQuote
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 2 6 2 31
+               , srcInfoPoints = []
+               }
+             "qq"
+             " something in here ")
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 7
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 2
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 1 3 2
+                  , srcInfoPoints = []
+                  }
+                "f"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 3 3 7
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 3 3 4 ]
+               }
+             (Con
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 7
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 6
+                      , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 6 3 7
+                      ]
+                  }
+                (Special
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 7
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 6
+                         , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 6 3 7
+                         ]
+                     }
+                   (UnitCon
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 7
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/TyQuasiQuote.hs" 3 5 3 6
+                            , SrcSpan "tests/examples/TyQuasiQuote.hs" 3 6 3 7
+                            ]
+                        }))))
+          Nothing
+      ]
+  , []
+  )
diff --git a/tests/examples/TyQuasiQuote.hs.prettyparser.golden b/tests/examples/TyQuasiQuote.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/TyQuasiQuote.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/TyQuasiQuote.hs.prettyprinter.golden b/tests/examples/TyQuasiQuote.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/TyQuasiQuote.hs.prettyprinter.golden
@@ -0,0 +1,4 @@
+{-# LANGUAGE QuasiQuotes, TemplateHaskell #-}
+
+f :: [qq| something in here |]
+f = ()
diff --git a/tests/examples/TySplice.hs.prettyprinter.golden b/tests/examples/TySplice.hs.prettyprinter.golden
--- a/tests/examples/TySplice.hs.prettyprinter.golden
+++ b/tests/examples/TySplice.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE TemplateHaskell #-}
-module Main (main) where
 
 [| f :: $ty |]
 
diff --git a/tests/examples/TySplice2.hs.prettyprinter.golden b/tests/examples/TySplice2.hs.prettyprinter.golden
--- a/tests/examples/TySplice2.hs.prettyprinter.golden
+++ b/tests/examples/TySplice2.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE TemplateHaskell #-}
-module Main (main) where
 
 t1 :: $( [t| Int |] )
 t1 = 1
diff --git a/tests/examples/TySplice3.hs.prettyprinter.golden b/tests/examples/TySplice3.hs.prettyprinter.golden
--- a/tests/examples/TySplice3.hs.prettyprinter.golden
+++ b/tests/examples/TySplice3.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
 {-# LANGUAGE QuasiQuotes #-}
-module Main (main) where
 
 [qq| abc |]
diff --git a/tests/examples/TySplice4.hs.prettyprinter.golden b/tests/examples/TySplice4.hs.prettyprinter.golden
--- a/tests/examples/TySplice4.hs.prettyprinter.golden
+++ b/tests/examples/TySplice4.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE TemplateHaskell #-}
-module Main (main) where
 x = [d|
       
       f :: a -> Int
diff --git a/tests/examples/TypeEqualityParen.hs.prettyprinter.golden b/tests/examples/TypeEqualityParen.hs.prettyprinter.golden
--- a/tests/examples/TypeEqualityParen.hs.prettyprinter.golden
+++ b/tests/examples/TypeEqualityParen.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE TypeFamilies #-}
-module Main (main) where
 
 f :: (Eq a, (a ~ Int)) => a -> Int
 f _ = 3
diff --git a/tests/examples/TypeFunctions.hs.parser.golden b/tests/examples/TypeFunctions.hs.parser.golden
--- a/tests/examples/TypeFunctions.hs.parser.golden
+++ b/tests/examples/TypeFunctions.hs.parser.golden
@@ -84,11 +84,10 @@
           Nothing
       , TypeFamDecl
           SrcSpanInfo
-            { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 1 5 37
+            { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 1 5 32
             , srcInfoPoints =
                 [ SrcSpan "tests/examples/TypeFunctions.hs" 5 1 5 5
                 , SrcSpan "tests/examples/TypeFunctions.hs" 5 6 5 12
-                , SrcSpan "tests/examples/TypeFunctions.hs" 5 33 5 35
                 ]
             }
           (DHApp
@@ -155,11 +154,18 @@
                      }
                    "x")))
           (Just
-             (KindStar
+             (KindSig
                 SrcSpanInfo
-                  { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 36 5 37
-                  , srcInfoPoints = []
-                  }))
+                  { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 33 5 37
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/TypeFunctions.hs" 5 33 5 35 ]
+                  }
+                (KindStar
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 5 36 5 37
+                     , srcInfoPoints = []
+                     })))
+          Nothing
       , TypeInsDecl
           SrcSpanInfo
             { srcInfoSpan = SrcSpan "tests/examples/TypeFunctions.hs" 7 1 7 27
diff --git a/tests/examples/TypeFunctions.hs.prettyprinter.golden b/tests/examples/TypeFunctions.hs.prettyprinter.golden
--- a/tests/examples/TypeFunctions.hs.prettyprinter.golden
+++ b/tests/examples/TypeFunctions.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE TypeFamilies, KindSignatures #-}
-module Main (main) where
 
 data Id = Id
 
diff --git a/tests/examples/TypeInstances.hs.parser.golden b/tests/examples/TypeInstances.hs.parser.golden
--- a/tests/examples/TypeInstances.hs.parser.golden
+++ b/tests/examples/TypeInstances.hs.parser.golden
@@ -75,9 +75,7 @@
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 18
                    , srcInfoPoints =
-                       [ SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 7
-                       , SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 16
-                       ]
+                       [ SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 7 ]
                    }
                  (DHApp
                     SrcSpanInfo
@@ -107,91 +105,103 @@
                             }
                           "v")))
                  (Just
-                    (KindStar
+                    (KindSig
                        SrcSpanInfo
-                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 17 4 18
-                         , srcInfoPoints = []
-                         }))
+                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 18
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 16 ]
+                         }
+                       (KindStar
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 17 4 18
+                            , srcInfoPoints = []
+                            })))
+                 Nothing
              , ClsTyDef
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 3 5 34
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/TypeInstances.hs" 5 3 5 7
                        , SrcSpan "tests/examples/TypeInstances.hs" 5 8 5 16
-                       , SrcSpan "tests/examples/TypeInstances.hs" 5 23 5 24
                        ]
                    }
-                 (TyApp
+                 (TypeEqn
                     SrcSpanInfo
-                      { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 22
-                      , srcInfoPoints = []
+                      { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 34
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/TypeInstances.hs" 5 23 5 24 ]
                       }
-                    (TyCon
+                    (TyApp
                        SrcSpanInfo
-                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20
+                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 22
                          , srcInfoPoints = []
                          }
-                       (UnQual
+                       (TyCon
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20
                             , srcInfoPoints = []
                             }
-                          (Ident
+                          (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20
                                , srcInfoPoints = []
                                }
-                             "Key")))
-                    (TyVar
-                       SrcSpanInfo
-                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22
-                         , srcInfoPoints = []
-                         }
-                       (Ident
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20
+                                  , srcInfoPoints = []
+                                  }
+                                "Key")))
+                       (TyVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22
                             , srcInfoPoints = []
                             }
-                          "v")))
-                 (TyApp
-                    SrcSpanInfo
-                      { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 34
-                      , srcInfoPoints = []
-                      }
-                    (TyCon
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22
+                               , srcInfoPoints = []
+                               }
+                             "v")))
+                    (TyApp
                        SrcSpanInfo
-                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32
+                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 34
                          , srcInfoPoints = []
                          }
-                       (UnQual
+                       (TyCon
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32
                             , srcInfoPoints = []
                             }
-                          (Ident
+                          (UnQual
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32
                                , srcInfoPoints = []
                                }
-                             "TileKey")))
-                    (TyVar
-                       SrcSpanInfo
-                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34
-                         , srcInfoPoints = []
-                         }
-                       (Ident
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan =
+                                      SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32
+                                  , srcInfoPoints = []
+                                  }
+                                "TileKey")))
+                       (TyVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34
                             , srcInfoPoints = []
                             }
-                          "v")))
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34
+                               , srcInfoPoints = []
+                               }
+                             "v"))))
              , ClsTyFam
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 21
                    , srcInfoPoints =
-                       [ SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 7
-                       , SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 19
-                       ]
+                       [ SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 7 ]
                    }
                  (DHApp
                     SrcSpanInfo
@@ -221,11 +231,18 @@
                             }
                           "v")))
                  (Just
-                    (KindStar
+                    (KindSig
                        SrcSpanInfo
-                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 20 7 21
-                         , srcInfoPoints = []
-                         }))
+                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 21
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 19 ]
+                         }
+                       (KindStar
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 20 7 21
+                            , srcInfoPoints = []
+                            })))
+                 Nothing
              ])
       ]
   , []
diff --git a/tests/examples/TypeInstances.hs.prettyprinter.golden b/tests/examples/TypeInstances.hs.prettyprinter.golden
--- a/tests/examples/TypeInstances.hs.prettyprinter.golden
+++ b/tests/examples/TypeInstances.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE TypeFamilies #-}
-module Main (main) where
 
 class MapType v where
         type Key v :: *
diff --git a/tests/examples/TypeOperatorAsVariable.hs.prettyprinter.golden b/tests/examples/TypeOperatorAsVariable.hs.prettyprinter.golden
--- a/tests/examples/TypeOperatorAsVariable.hs.prettyprinter.golden
+++ b/tests/examples/TypeOperatorAsVariable.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE TypeOperators #-}
-module Main (main) where
 
 type T (~>) = ()
 
diff --git a/tests/examples/TypeOperatorsTest.hs.prettyprinter.golden b/tests/examples/TypeOperatorsTest.hs.prettyprinter.golden
--- a/tests/examples/TypeOperatorsTest.hs.prettyprinter.golden
+++ b/tests/examples/TypeOperatorsTest.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE TypeOperators, FlexibleContexts, FlexibleInstances #-}
-module Main (main) where
 
 f :: ArrowXml (~>) => a ~> a
 f = undefined
diff --git a/tests/examples/UnboxedSingleton.hs.prettyprinter.golden b/tests/examples/UnboxedSingleton.hs.prettyprinter.golden
--- a/tests/examples/UnboxedSingleton.hs.prettyprinter.golden
+++ b/tests/examples/UnboxedSingleton.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE UnboxedTuples #-}
-module Main (main) where
 foo a = (# a #)
diff --git a/tests/examples/UnboxedTuples.hs.prettyprinter.golden b/tests/examples/UnboxedTuples.hs.prettyprinter.golden
--- a/tests/examples/UnboxedTuples.hs.prettyprinter.golden
+++ b/tests/examples/UnboxedTuples.hs.prettyprinter.golden
@@ -1,7 +1,6 @@
 {-# LANGUAGE UnboxedTuples #-}
-module Main (main) where
 
 foo :: (a, b) -> (# b, a #)
 foo (a, b)
   = case (# b, a #) of
-        (# b, a #) -> (#,#) b a
+        (# b, a #) -> (# , #) b a
diff --git a/tests/examples/Unicode2.hs.prettyprinter.golden b/tests/examples/Unicode2.hs.prettyprinter.golden
--- a/tests/examples/Unicode2.hs.prettyprinter.golden
+++ b/tests/examples/Unicode2.hs.prettyprinter.golden
@@ -1,3 +1,2 @@
 {-# LANGUAGE UnicodeSyntax #-}
-module Main (main) where
 lengthOP n () = 0  n
diff --git a/tests/examples/UnicodeArrow.hs.prettyprinter.golden b/tests/examples/UnicodeArrow.hs.prettyprinter.golden
--- a/tests/examples/UnicodeArrow.hs.prettyprinter.golden
+++ b/tests/examples/UnicodeArrow.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE UnicodeSyntax #-}
-module Main (main) where
 
 arrowTest :: String -> String
 arrowTest input
diff --git a/tests/examples/UnicodeRelation.hs.prettyprinter.golden b/tests/examples/UnicodeRelation.hs.prettyprinter.golden
--- a/tests/examples/UnicodeRelation.hs.prettyprinter.golden
+++ b/tests/examples/UnicodeRelation.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE UnicodeSyntax #-}
-module Main (main) where
 import Prelude.Unicode
 
 testAnd :: Int -> Int -> Bool
diff --git a/tests/examples/UnicodeSubscript.hs.prettyprinter.golden b/tests/examples/UnicodeSubscript.hs.prettyprinter.golden
--- a/tests/examples/UnicodeSubscript.hs.prettyprinter.golden
+++ b/tests/examples/UnicodeSubscript.hs.prettyprinter.golden
@@ -2,7 +2,7 @@
 module Main where
 
 data Point = Point{pointX, pointY :: Double, name :: String}
-           deriving Show
+           deriving (Show)
 
 distance :: Point -> Point -> Double
 distance x y
diff --git a/tests/examples/UnicodeSuperscript.hs.prettyprinter.golden b/tests/examples/UnicodeSuperscript.hs.prettyprinter.golden
--- a/tests/examples/UnicodeSuperscript.hs.prettyprinter.golden
+++ b/tests/examples/UnicodeSuperscript.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE UnicodeSyntax #-}
-module Main (main) where
 
 dumy :: Double -> Double -> Double
 dumy a b
diff --git a/tests/examples/UnindentedPragmaClose.hs.prettyprinter.golden b/tests/examples/UnindentedPragmaClose.hs.prettyprinter.golden
--- a/tests/examples/UnindentedPragmaClose.hs.prettyprinter.golden
+++ b/tests/examples/UnindentedPragmaClose.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE MultiParamTypeClasses #-}
-module Main (main) where
 
 f :: Int
 f = 4
diff --git a/tests/examples/Unpack.hs.parser.golden b/tests/examples/Unpack.hs.parser.golden
--- a/tests/examples/Unpack.hs.parser.golden
+++ b/tests/examples/Unpack.hs.parser.golden
@@ -111,13 +111,17 @@
                       { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 40
                       , srcInfoPoints = []
                       }
-                    (UnpackedTy
+                    (BangedTy
                        SrcSpanInfo
-                         { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 37
+                         { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 36 4 37
+                         , srcInfoPoints = []
+                         })
+                    (Unpack
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 4 21 4 35
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/Unpack.hs" 4 21 4 31
                              , SrcSpan "tests/examples/Unpack.hs" 4 32 4 35
-                             , SrcSpan "tests/examples/Unpack.hs" 4 36 4 37
                              ]
                          })
                     (TyCon
@@ -231,13 +235,17 @@
                        { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 14 6 33
                        , srcInfoPoints = []
                        }
-                     (UnpackedTy
+                     (BangedTy
                         SrcSpanInfo
-                          { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 14 6 30
+                          { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 29 6 30
+                          , srcInfoPoints = []
+                          })
+                     (Unpack
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Unpack.hs" 6 14 6 28
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/Unpack.hs" 6 14 6 24
                               , SrcSpan "tests/examples/Unpack.hs" 6 25 6 28
-                              , SrcSpan "tests/examples/Unpack.hs" 6 29 6 30
                               ]
                           })
                      (TyCon
diff --git a/tests/examples/Unpack.hs.prettyprinter.golden b/tests/examples/Unpack.hs.prettyprinter.golden
--- a/tests/examples/Unpack.hs.prettyprinter.golden
+++ b/tests/examples/Unpack.hs.prettyprinter.golden
@@ -1,5 +1,4 @@
 {-# LANGUAGE GADTs #-}
-module Main (main) where
 
 data CmmNode e x where
         CmmEntry :: {-# UNPACK #-} !Int -> CmmNode e x
diff --git a/tests/examples/ViewPatterns.hs.prettyprinter.golden b/tests/examples/ViewPatterns.hs.prettyprinter.golden
--- a/tests/examples/ViewPatterns.hs.prettyprinter.golden
+++ b/tests/examples/ViewPatterns.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
 {-# LANGUAGE ViewPatterns #-}
-module Main (main) where
 f (id -> Just _) "" = ""
 g (id -> True) = False
diff --git a/tests/examples/Vta1.hs b/tests/examples/Vta1.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/Vta1.hs
@@ -0,0 +1,95 @@
+{-# LANGUAGE TypeApplications, ScopedTypeVariables, PolyKinds,
+             TypeFamilies, RankNTypes,
+             FlexibleContexts #-}
+-- tests about visible type application
+
+module Vta1 where
+
+quad :: a -> b -> c -> d -> (a, b, c, d)
+quad = (,,,)
+
+silly = quad @_ @Bool @Char @_ 5 True 'a' "Hello"
+
+pairup_nosig x y = (x, y)
+
+pairup_sig :: a -> b -> (a,b)
+pairup_sig u w = (u, w)
+
+answer_sig = pairup_sig @Bool @Int False 7 --
+-- (False, 7) :: (Bool, Int)
+
+answer_read = show (read @Int "3") -- "3" :: String
+answer_show = show @Integer (read "5") -- "5" :: String
+answer_showread = show @Int (read @Int "7") -- "7" :: String
+
+intcons a = (:) @Int a
+
+intpair x y = pairup_sig @Int x y
+
+answer_pairup = pairup_sig @Int 5 True -- (5, True) :: (Int, Bool)
+answer_intpair = intpair 1 "hello" -- (1, "hello") :: (Int, String)
+answer_intcons = intcons 7 []      -- [7] :: [Int]
+
+type family F a
+type instance F Char = Bool
+
+g :: F a -> a
+g _ = undefined
+
+f :: Char
+f = g True
+
+answer = g @Char False
+
+mapSame :: forall b. (forall a. a -> a) -> [b] -> [b]
+mapSame _ [] = []
+mapSame fun (x:xs) = fun @b x : (mapSame @b fun xs)
+
+pair :: forall a. a-> (forall b. b -> (a, b))
+pair x y = (x, y)
+
+b = pair @Int 3 @Bool True
+c = mapSame id [1,2,3]
+d = pair 3 @Bool True
+
+pairnum :: forall a. Num a => forall b. b -> (a, b)
+pairnum = pair 3
+
+e = (pair 3 :: forall a. Num a => forall b. b -> (a, b)) @Int @Bool True
+h = pairnum @Int @Bool True
+
+data First (a :: * -> *) = F
+data Proxy (a :: k) = P -- This expands to P (kind variable) (type variable)
+data Three (a :: * -> k -> *) = T
+
+foo :: Proxy a -> Int
+foo _ = 0
+
+first :: First a -> Int
+first _ = 0
+
+fTest = first F
+fMaybe = first @Maybe F
+
+test = foo P
+bar = foo @Bool P -- should work
+
+too :: Three a -> Int
+too _ = 3
+
+threeBase = too T
+threeOk = too @Either T
+
+blah = Nothing @Int
+
+newtype N = MkN { unMkN :: forall a. Show a => a -> String }
+
+n = MkN show
+
+boo = unMkN n @Bool
+
+boo2 :: forall (a :: * -> *) . Proxy a -> Bool
+boo2 _ = False
+
+base = boo2 P
+bar'= boo2 @Maybe P -- should work
diff --git a/tests/examples/Vta1.hs.exactprinter.golden b/tests/examples/Vta1.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Vta1.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/Vta1.hs.parser.golden b/tests/examples/Vta1.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Vta1.hs.parser.golden
@@ -0,0 +1,5409 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 1 96 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/Vta1.hs" 1 1 1 1
+            , SrcSpan "tests/examples/Vta1.hs" 6 1 6 1
+            , SrcSpan "tests/examples/Vta1.hs" 6 1 6 1
+            , SrcSpan "tests/examples/Vta1.hs" 8 1 8 1
+            , SrcSpan "tests/examples/Vta1.hs" 9 1 9 1
+            , SrcSpan "tests/examples/Vta1.hs" 11 1 11 1
+            , SrcSpan "tests/examples/Vta1.hs" 13 1 13 1
+            , SrcSpan "tests/examples/Vta1.hs" 15 1 15 1
+            , SrcSpan "tests/examples/Vta1.hs" 16 1 16 1
+            , SrcSpan "tests/examples/Vta1.hs" 18 1 18 1
+            , SrcSpan "tests/examples/Vta1.hs" 21 1 21 1
+            , SrcSpan "tests/examples/Vta1.hs" 22 1 22 1
+            , SrcSpan "tests/examples/Vta1.hs" 23 1 23 1
+            , SrcSpan "tests/examples/Vta1.hs" 25 1 25 1
+            , SrcSpan "tests/examples/Vta1.hs" 27 1 27 1
+            , SrcSpan "tests/examples/Vta1.hs" 29 1 29 1
+            , SrcSpan "tests/examples/Vta1.hs" 30 1 30 1
+            , SrcSpan "tests/examples/Vta1.hs" 31 1 31 1
+            , SrcSpan "tests/examples/Vta1.hs" 33 1 33 1
+            , SrcSpan "tests/examples/Vta1.hs" 34 1 34 1
+            , SrcSpan "tests/examples/Vta1.hs" 36 1 36 1
+            , SrcSpan "tests/examples/Vta1.hs" 37 1 37 1
+            , SrcSpan "tests/examples/Vta1.hs" 39 1 39 1
+            , SrcSpan "tests/examples/Vta1.hs" 40 1 40 1
+            , SrcSpan "tests/examples/Vta1.hs" 42 1 42 1
+            , SrcSpan "tests/examples/Vta1.hs" 44 1 44 1
+            , SrcSpan "tests/examples/Vta1.hs" 45 1 45 1
+            , SrcSpan "tests/examples/Vta1.hs" 46 1 46 1
+            , SrcSpan "tests/examples/Vta1.hs" 48 1 48 1
+            , SrcSpan "tests/examples/Vta1.hs" 49 1 49 1
+            , SrcSpan "tests/examples/Vta1.hs" 51 1 51 1
+            , SrcSpan "tests/examples/Vta1.hs" 52 1 52 1
+            , SrcSpan "tests/examples/Vta1.hs" 53 1 53 1
+            , SrcSpan "tests/examples/Vta1.hs" 55 1 55 1
+            , SrcSpan "tests/examples/Vta1.hs" 56 1 56 1
+            , SrcSpan "tests/examples/Vta1.hs" 58 1 58 1
+            , SrcSpan "tests/examples/Vta1.hs" 59 1 59 1
+            , SrcSpan "tests/examples/Vta1.hs" 61 1 61 1
+            , SrcSpan "tests/examples/Vta1.hs" 62 1 62 1
+            , SrcSpan "tests/examples/Vta1.hs" 63 1 63 1
+            , SrcSpan "tests/examples/Vta1.hs" 65 1 65 1
+            , SrcSpan "tests/examples/Vta1.hs" 66 1 66 1
+            , SrcSpan "tests/examples/Vta1.hs" 68 1 68 1
+            , SrcSpan "tests/examples/Vta1.hs" 69 1 69 1
+            , SrcSpan "tests/examples/Vta1.hs" 71 1 71 1
+            , SrcSpan "tests/examples/Vta1.hs" 72 1 72 1
+            , SrcSpan "tests/examples/Vta1.hs" 74 1 74 1
+            , SrcSpan "tests/examples/Vta1.hs" 75 1 75 1
+            , SrcSpan "tests/examples/Vta1.hs" 77 1 77 1
+            , SrcSpan "tests/examples/Vta1.hs" 78 1 78 1
+            , SrcSpan "tests/examples/Vta1.hs" 80 1 80 1
+            , SrcSpan "tests/examples/Vta1.hs" 81 1 81 1
+            , SrcSpan "tests/examples/Vta1.hs" 83 1 83 1
+            , SrcSpan "tests/examples/Vta1.hs" 85 1 85 1
+            , SrcSpan "tests/examples/Vta1.hs" 87 1 87 1
+            , SrcSpan "tests/examples/Vta1.hs" 89 1 89 1
+            , SrcSpan "tests/examples/Vta1.hs" 91 1 91 1
+            , SrcSpan "tests/examples/Vta1.hs" 92 1 92 1
+            , SrcSpan "tests/examples/Vta1.hs" 94 1 94 1
+            , SrcSpan "tests/examples/Vta1.hs" 95 1 95 1
+            , SrcSpan "tests/examples/Vta1.hs" 96 1 96 1
+            , SrcSpan "tests/examples/Vta1.hs" 96 1 96 1
+            ]
+        }
+      (Just
+         (ModuleHead
+            SrcSpanInfo
+              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 6 1 6 18
+              , srcInfoPoints =
+                  [ SrcSpan "tests/examples/Vta1.hs" 6 1 6 7
+                  , SrcSpan "tests/examples/Vta1.hs" 6 13 6 18
+                  ]
+              }
+            (ModuleName
+               SrcSpanInfo
+                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 6 8 6 12
+                 , srcInfoPoints = []
+                 }
+               "Vta1")
+            Nothing
+            Nothing))
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 1 3 34
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/Vta1.hs" 1 1 1 13
+                , SrcSpan "tests/examples/Vta1.hs" 1 30 1 31
+                , SrcSpan "tests/examples/Vta1.hs" 1 51 1 52
+                , SrcSpan "tests/examples/Vta1.hs" 1 62 1 63
+                , SrcSpan "tests/examples/Vta1.hs" 2 26 2 27
+                , SrcSpan "tests/examples/Vta1.hs" 2 38 2 39
+                , SrcSpan "tests/examples/Vta1.hs" 3 31 3 34
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 14 1 30
+                , srcInfoPoints = []
+                }
+              "TypeApplications"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 32 1 51
+                , srcInfoPoints = []
+                }
+              "ScopedTypeVariables"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 1 53 1 62
+                , srcInfoPoints = []
+                }
+              "PolyKinds"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 2 14 2 26
+                , srcInfoPoints = []
+                }
+              "TypeFamilies"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 2 28 2 38
+                , srcInfoPoints = []
+                }
+              "RankNTypes"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 3 14 3 30
+                , srcInfoPoints = []
+                }
+              "FlexibleContexts"
+          ]
+      ]
+      []
+      [ TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 1 8 41
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 6 8 8 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 1 8 5
+                , srcInfoPoints = []
+                }
+              "quad"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 9 8 41
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 11 8 13 ]
+               }
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 9 8 10
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 9 8 10
+                     , srcInfoPoints = []
+                     }
+                   "a"))
+             (TyFun
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 14 8 41
+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 16 8 18 ]
+                  }
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 14 8 15
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 14 8 15
+                        , srcInfoPoints = []
+                        }
+                      "b"))
+                (TyFun
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 19 8 41
+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 21 8 23 ]
+                     }
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 19 8 20
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 19 8 20
+                           , srcInfoPoints = []
+                           }
+                         "c"))
+                   (TyFun
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 24 8 41
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 8 26 8 28 ]
+                        }
+                      (TyVar
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 24 8 25
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 24 8 25
+                              , srcInfoPoints = []
+                              }
+                            "d"))
+                      (TyTuple
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 29 8 41
+                           , srcInfoPoints =
+                               [ SrcSpan "tests/examples/Vta1.hs" 8 29 8 30
+                               , SrcSpan "tests/examples/Vta1.hs" 8 31 8 32
+                               , SrcSpan "tests/examples/Vta1.hs" 8 34 8 35
+                               , SrcSpan "tests/examples/Vta1.hs" 8 37 8 38
+                               , SrcSpan "tests/examples/Vta1.hs" 8 40 8 41
+                               ]
+                           }
+                         Boxed
+                         [ TyVar
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 30 8 31
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 30 8 31
+                                  , srcInfoPoints = []
+                                  }
+                                "a")
+                         , TyVar
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 33 8 34
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 33 8 34
+                                  , srcInfoPoints = []
+                                  }
+                                "b")
+                         , TyVar
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 36 8 37
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 36 8 37
+                                  , srcInfoPoints = []
+                                  }
+                                "c")
+                         , TyVar
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 39 8 40
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 8 39 8 40
+                                  , srcInfoPoints = []
+                                  }
+                                "d")
+                         ])))))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 1 9 13
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 1 9 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 1 9 5
+                  , srcInfoPoints = []
+                  }
+                "quad"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 6 9 13
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 9 6 9 7 ]
+               }
+             (Con
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 8 9 13
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/Vta1.hs" 9 8 9 9
+                      , SrcSpan "tests/examples/Vta1.hs" 9 9 9 10
+                      , SrcSpan "tests/examples/Vta1.hs" 9 10 9 11
+                      , SrcSpan "tests/examples/Vta1.hs" 9 11 9 12
+                      , SrcSpan "tests/examples/Vta1.hs" 9 12 9 13
+                      ]
+                  }
+                (Special
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 8 9 13
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta1.hs" 9 8 9 9
+                         , SrcSpan "tests/examples/Vta1.hs" 9 9 9 10
+                         , SrcSpan "tests/examples/Vta1.hs" 9 10 9 11
+                         , SrcSpan "tests/examples/Vta1.hs" 9 11 9 12
+                         , SrcSpan "tests/examples/Vta1.hs" 9 12 9 13
+                         ]
+                     }
+                   (TupleCon
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 9 8 9 13
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/Vta1.hs" 9 8 9 9
+                            , SrcSpan "tests/examples/Vta1.hs" 9 9 9 10
+                            , SrcSpan "tests/examples/Vta1.hs" 9 10 9 11
+                            , SrcSpan "tests/examples/Vta1.hs" 9 11 9 12
+                            , SrcSpan "tests/examples/Vta1.hs" 9 12 9 13
+                            ]
+                        }
+                      Boxed
+                      4))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 1 11 50
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 1 11 6
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 1 11 6
+                  , srcInfoPoints = []
+                  }
+                "silly"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 7 11 50
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 11 7 11 8 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 50
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 42
+                     , srcInfoPoints = []
+                     }
+                   (App
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 38
+                        , srcInfoPoints = []
+                        }
+                      (App
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 33
+                           , srcInfoPoints = []
+                           }
+                         (App
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 31
+                              , srcInfoPoints = []
+                              }
+                            (App
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 28
+                                 , srcInfoPoints = []
+                                 }
+                               (App
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 22
+                                    , srcInfoPoints = []
+                                    }
+                                  (App
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 9 11 16
+                                       , srcInfoPoints = []
+                                       }
+                                     (Var
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta1.hs" 11 9 11 13
+                                          , srcInfoPoints = []
+                                          }
+                                        (UnQual
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta1.hs" 11 9 11 13
+                                             , srcInfoPoints = []
+                                             }
+                                           (Ident
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan "tests/examples/Vta1.hs" 11 9 11 13
+                                                , srcInfoPoints = []
+                                                }
+                                              "quad")))
+                                     (TypeApp
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta1.hs" 11 14 11 16
+                                          , srcInfoPoints =
+                                              [ SrcSpan "tests/examples/Vta1.hs" 11 14 11 15 ]
+                                          }
+                                        (TyWildCard
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta1.hs" 11 15 11 16
+                                             , srcInfoPoints = []
+                                             }
+                                           Nothing)))
+                                  (TypeApp
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 17 11 22
+                                       , srcInfoPoints =
+                                           [ SrcSpan "tests/examples/Vta1.hs" 11 17 11 18 ]
+                                       }
+                                     (TyCon
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta1.hs" 11 18 11 22
+                                          , srcInfoPoints = []
+                                          }
+                                        (UnQual
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta1.hs" 11 18 11 22
+                                             , srcInfoPoints = []
+                                             }
+                                           (Ident
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan "tests/examples/Vta1.hs" 11 18 11 22
+                                                , srcInfoPoints = []
+                                                }
+                                              "Bool")))))
+                               (TypeApp
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 23 11 28
+                                    , srcInfoPoints =
+                                        [ SrcSpan "tests/examples/Vta1.hs" 11 23 11 24 ]
+                                    }
+                                  (TyCon
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 24 11 28
+                                       , srcInfoPoints = []
+                                       }
+                                     (UnQual
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta1.hs" 11 24 11 28
+                                          , srcInfoPoints = []
+                                          }
+                                        (Ident
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta1.hs" 11 24 11 28
+                                             , srcInfoPoints = []
+                                             }
+                                           "Char")))))
+                            (TypeApp
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 29 11 31
+                                 , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 11 29 11 30 ]
+                                 }
+                               (TyWildCard
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 30 11 31
+                                    , srcInfoPoints = []
+                                    }
+                                  Nothing)))
+                         (Lit
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 32 11 33
+                              , srcInfoPoints = []
+                              }
+                            (Int
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 32 11 33
+                                 , srcInfoPoints = []
+                                 }
+                               5
+                               "5")))
+                      (Con
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 34 11 38
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 34 11 38
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 34 11 38
+                                 , srcInfoPoints = []
+                                 }
+                               "True"))))
+                   (Lit
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 39 11 42
+                        , srcInfoPoints = []
+                        }
+                      (Char
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 39 11 42
+                           , srcInfoPoints = []
+                           }
+                         'a'
+                         "a")))
+                (Lit
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 43 11 50
+                     , srcInfoPoints = []
+                     }
+                   (String
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 11 43 11 50
+                        , srcInfoPoints = []
+                        }
+                      "Hello"
+                      "Hello"))))
+          Nothing
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 1 13 26
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 1 13 26
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 1 13 13
+                   , srcInfoPoints = []
+                   }
+                 "pairup_nosig")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 14 13 15
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 14 13 15
+                       , srcInfoPoints = []
+                       }
+                     "x")
+              , PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 16 13 17
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 16 13 17
+                       , srcInfoPoints = []
+                       }
+                     "y")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 18 13 26
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 13 18 13 19 ]
+                   }
+                 (Tuple
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 20 13 26
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/Vta1.hs" 13 20 13 21
+                          , SrcSpan "tests/examples/Vta1.hs" 13 22 13 23
+                          , SrcSpan "tests/examples/Vta1.hs" 13 25 13 26
+                          ]
+                      }
+                    Boxed
+                    [ Var
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 21 13 22
+                          , srcInfoPoints = []
+                          }
+                        (UnQual
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 21 13 22
+                             , srcInfoPoints = []
+                             }
+                           (Ident
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 21 13 22
+                                , srcInfoPoints = []
+                                }
+                              "x"))
+                    , Var
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 24 13 25
+                          , srcInfoPoints = []
+                          }
+                        (UnQual
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 24 13 25
+                             , srcInfoPoints = []
+                             }
+                           (Ident
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 13 24 13 25
+                                , srcInfoPoints = []
+                                }
+                              "y"))
+                    ]))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 1 15 30
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 15 12 15 14 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 1 15 11
+                , srcInfoPoints = []
+                }
+              "pairup_sig"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 15 15 30
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 15 17 15 19 ]
+               }
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 15 15 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 15 15 16
+                     , srcInfoPoints = []
+                     }
+                   "a"))
+             (TyFun
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 20 15 30
+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 15 22 15 24 ]
+                  }
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 20 15 21
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 20 15 21
+                        , srcInfoPoints = []
+                        }
+                      "b"))
+                (TyTuple
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 25 15 30
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta1.hs" 15 25 15 26
+                         , SrcSpan "tests/examples/Vta1.hs" 15 27 15 28
+                         , SrcSpan "tests/examples/Vta1.hs" 15 29 15 30
+                         ]
+                     }
+                   Boxed
+                   [ TyVar
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 26 15 27
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 26 15 27
+                            , srcInfoPoints = []
+                            }
+                          "a")
+                   , TyVar
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 28 15 29
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 15 28 15 29
+                            , srcInfoPoints = []
+                            }
+                          "b")
+                   ])))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 1 16 24
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 1 16 24
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 1 16 11
+                   , srcInfoPoints = []
+                   }
+                 "pairup_sig")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 12 16 13
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 12 16 13
+                       , srcInfoPoints = []
+                       }
+                     "u")
+              , PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 14 16 15
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 14 16 15
+                       , srcInfoPoints = []
+                       }
+                     "w")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 16 16 24
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 16 16 16 17 ]
+                   }
+                 (Tuple
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 18 16 24
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/Vta1.hs" 16 18 16 19
+                          , SrcSpan "tests/examples/Vta1.hs" 16 20 16 21
+                          , SrcSpan "tests/examples/Vta1.hs" 16 23 16 24
+                          ]
+                      }
+                    Boxed
+                    [ Var
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 19 16 20
+                          , srcInfoPoints = []
+                          }
+                        (UnQual
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 19 16 20
+                             , srcInfoPoints = []
+                             }
+                           (Ident
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 19 16 20
+                                , srcInfoPoints = []
+                                }
+                              "u"))
+                    , Var
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 22 16 23
+                          , srcInfoPoints = []
+                          }
+                        (UnQual
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 22 16 23
+                             , srcInfoPoints = []
+                             }
+                           (Ident
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 16 22 16 23
+                                , srcInfoPoints = []
+                                }
+                              "w"))
+                    ]))
+              Nothing
+          ]
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 1 18 43
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 1 18 11
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 1 18 11
+                  , srcInfoPoints = []
+                  }
+                "answer_sig"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 12 18 43
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 18 12 18 13 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 43
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 41
+                     , srcInfoPoints = []
+                     }
+                   (App
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 35
+                        , srcInfoPoints = []
+                        }
+                      (App
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 30
+                           , srcInfoPoints = []
+                           }
+                         (Var
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 24
+                              , srcInfoPoints = []
+                              }
+                            (UnQual
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 24
+                                 , srcInfoPoints = []
+                                 }
+                               (Ident
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 14 18 24
+                                    , srcInfoPoints = []
+                                    }
+                                  "pairup_sig")))
+                         (TypeApp
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 25 18 30
+                              , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 18 25 18 26 ]
+                              }
+                            (TyCon
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 26 18 30
+                                 , srcInfoPoints = []
+                                 }
+                               (UnQual
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 26 18 30
+                                    , srcInfoPoints = []
+                                    }
+                                  (Ident
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 26 18 30
+                                       , srcInfoPoints = []
+                                       }
+                                     "Bool")))))
+                      (TypeApp
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 31 18 35
+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 18 31 18 32 ]
+                           }
+                         (TyCon
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 32 18 35
+                              , srcInfoPoints = []
+                              }
+                            (UnQual
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 32 18 35
+                                 , srcInfoPoints = []
+                                 }
+                               (Ident
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 32 18 35
+                                    , srcInfoPoints = []
+                                    }
+                                  "Int")))))
+                   (Con
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 36 18 41
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 36 18 41
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 36 18 41
+                              , srcInfoPoints = []
+                              }
+                            "False"))))
+                (Lit
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 42 18 43
+                     , srcInfoPoints = []
+                     }
+                   (Int
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 18 42 18 43
+                        , srcInfoPoints = []
+                        }
+                      7
+                      "7"))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 1 21 35
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 1 21 12
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 1 21 12
+                  , srcInfoPoints = []
+                  }
+                "answer_read"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 13 21 35
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 21 13 21 14 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 35
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 19
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 19
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 15 21 19
+                           , srcInfoPoints = []
+                           }
+                         "show")))
+                (Paren
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 20 21 35
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta1.hs" 21 20 21 21
+                         , SrcSpan "tests/examples/Vta1.hs" 21 34 21 35
+                         ]
+                     }
+                   (App
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 34
+                        , srcInfoPoints = []
+                        }
+                      (App
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 30
+                           , srcInfoPoints = []
+                           }
+                         (Var
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 25
+                              , srcInfoPoints = []
+                              }
+                            (UnQual
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 25
+                                 , srcInfoPoints = []
+                                 }
+                               (Ident
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 21 21 25
+                                    , srcInfoPoints = []
+                                    }
+                                  "read")))
+                         (TypeApp
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 26 21 30
+                              , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 21 26 21 27 ]
+                              }
+                            (TyCon
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 27 21 30
+                                 , srcInfoPoints = []
+                                 }
+                               (UnQual
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 27 21 30
+                                    , srcInfoPoints = []
+                                    }
+                                  (Ident
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 27 21 30
+                                       , srcInfoPoints = []
+                                       }
+                                     "Int")))))
+                      (Lit
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 31 21 34
+                           , srcInfoPoints = []
+                           }
+                         (String
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 21 31 21 34
+                              , srcInfoPoints = []
+                              }
+                            "3"
+                            "3"))))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 1 22 39
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 1 22 12
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 1 22 12
+                  , srcInfoPoints = []
+                  }
+                "answer_show"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 13 22 39
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 22 13 22 14 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 39
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 28
+                     , srcInfoPoints = []
+                     }
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 19
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 19
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 15 22 19
+                              , srcInfoPoints = []
+                              }
+                            "show")))
+                   (TypeApp
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 20 22 28
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 22 20 22 21 ]
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 21 22 28
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 21 22 28
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 21 22 28
+                                 , srcInfoPoints = []
+                                 }
+                               "Integer")))))
+                (Paren
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 29 22 39
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta1.hs" 22 29 22 30
+                         , SrcSpan "tests/examples/Vta1.hs" 22 38 22 39
+                         ]
+                     }
+                   (App
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 38
+                        , srcInfoPoints = []
+                        }
+                      (Var
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 34
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 34
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 30 22 34
+                                 , srcInfoPoints = []
+                                 }
+                               "read")))
+                      (Lit
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 35 22 38
+                           , srcInfoPoints = []
+                           }
+                         (String
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 22 35 22 38
+                              , srcInfoPoints = []
+                              }
+                            "5"
+                            "5"))))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 1 23 44
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 1 23 16
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 1 23 16
+                  , srcInfoPoints = []
+                  }
+                "answer_showread"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 17 23 44
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 23 17 23 18 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 44
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 28
+                     , srcInfoPoints = []
+                     }
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 23
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 23
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 19 23 23
+                              , srcInfoPoints = []
+                              }
+                            "show")))
+                   (TypeApp
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 24 23 28
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 23 24 23 25 ]
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 25 23 28
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 25 23 28
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 25 23 28
+                                 , srcInfoPoints = []
+                                 }
+                               "Int")))))
+                (Paren
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 29 23 44
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta1.hs" 23 29 23 30
+                         , SrcSpan "tests/examples/Vta1.hs" 23 43 23 44
+                         ]
+                     }
+                   (App
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 43
+                        , srcInfoPoints = []
+                        }
+                      (App
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 39
+                           , srcInfoPoints = []
+                           }
+                         (Var
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 34
+                              , srcInfoPoints = []
+                              }
+                            (UnQual
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 34
+                                 , srcInfoPoints = []
+                                 }
+                               (Ident
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 30 23 34
+                                    , srcInfoPoints = []
+                                    }
+                                  "read")))
+                         (TypeApp
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 35 23 39
+                              , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 23 35 23 36 ]
+                              }
+                            (TyCon
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 36 23 39
+                                 , srcInfoPoints = []
+                                 }
+                               (UnQual
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 36 23 39
+                                    , srcInfoPoints = []
+                                    }
+                                  (Ident
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 36 23 39
+                                       , srcInfoPoints = []
+                                       }
+                                     "Int")))))
+                      (Lit
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 40 23 43
+                           , srcInfoPoints = []
+                           }
+                         (String
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 23 40 23 43
+                              , srcInfoPoints = []
+                              }
+                            "7"
+                            "7"))))))
+          Nothing
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 1 25 23
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 1 25 23
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 1 25 8
+                   , srcInfoPoints = []
+                   }
+                 "intcons")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 9 25 10
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 9 25 10
+                       , srcInfoPoints = []
+                       }
+                     "a")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 11 25 23
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 25 11 25 12 ]
+                   }
+                 (App
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 23
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 21
+                         , srcInfoPoints = []
+                         }
+                       (Con
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 16
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/Vta1.hs" 25 13 25 14
+                                , SrcSpan "tests/examples/Vta1.hs" 25 14 25 15
+                                , SrcSpan "tests/examples/Vta1.hs" 25 15 25 16
+                                ]
+                            }
+                          (Special
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 13 25 16
+                               , srcInfoPoints =
+                                   [ SrcSpan "tests/examples/Vta1.hs" 25 13 25 14
+                                   , SrcSpan "tests/examples/Vta1.hs" 25 14 25 15
+                                   , SrcSpan "tests/examples/Vta1.hs" 25 15 25 16
+                                   ]
+                               }
+                             (Cons
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 14 25 15
+                                  , srcInfoPoints = []
+                                  })))
+                       (TypeApp
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 17 25 21
+                            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 25 17 25 18 ]
+                            }
+                          (TyCon
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 18 25 21
+                               , srcInfoPoints = []
+                               }
+                             (UnQual
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 18 25 21
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 18 25 21
+                                     , srcInfoPoints = []
+                                     }
+                                   "Int")))))
+                    (Var
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 22 25 23
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 22 25 23
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 25 22 25 23
+                               , srcInfoPoints = []
+                               }
+                             "a")))))
+              Nothing
+          ]
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 1 27 34
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 1 27 34
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 1 27 8
+                   , srcInfoPoints = []
+                   }
+                 "intpair")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 9 27 10
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 9 27 10
+                       , srcInfoPoints = []
+                       }
+                     "x")
+              , PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 11 27 12
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 11 27 12
+                       , srcInfoPoints = []
+                       }
+                     "y")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 13 27 34
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 27 13 27 14 ]
+                   }
+                 (App
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 34
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 32
+                         , srcInfoPoints = []
+                         }
+                       (App
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 30
+                            , srcInfoPoints = []
+                            }
+                          (Var
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 25
+                               , srcInfoPoints = []
+                               }
+                             (UnQual
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 25
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 15 27 25
+                                     , srcInfoPoints = []
+                                     }
+                                   "pairup_sig")))
+                          (TypeApp
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 26 27 30
+                               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 27 26 27 27 ]
+                               }
+                             (TyCon
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 27 27 30
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 27 27 30
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 27 27 30
+                                        , srcInfoPoints = []
+                                        }
+                                      "Int")))))
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 31 27 32
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 31 27 32
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 31 27 32
+                                  , srcInfoPoints = []
+                                  }
+                                "x"))))
+                    (Var
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 33 27 34
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 33 27 34
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 27 33 27 34
+                               , srcInfoPoints = []
+                               }
+                             "y")))))
+              Nothing
+          ]
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 1 29 39
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 1 29 14
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 1 29 14
+                  , srcInfoPoints = []
+                  }
+                "answer_pairup"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 15 29 39
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 29 15 29 16 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 39
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 34
+                     , srcInfoPoints = []
+                     }
+                   (App
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 32
+                        , srcInfoPoints = []
+                        }
+                      (Var
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 27
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 27
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 17 29 27
+                                 , srcInfoPoints = []
+                                 }
+                               "pairup_sig")))
+                      (TypeApp
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 28 29 32
+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 29 28 29 29 ]
+                           }
+                         (TyCon
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 29 29 32
+                              , srcInfoPoints = []
+                              }
+                            (UnQual
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 29 29 32
+                                 , srcInfoPoints = []
+                                 }
+                               (Ident
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 29 29 32
+                                    , srcInfoPoints = []
+                                    }
+                                  "Int")))))
+                   (Lit
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 33 29 34
+                        , srcInfoPoints = []
+                        }
+                      (Int
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 33 29 34
+                           , srcInfoPoints = []
+                           }
+                         5
+                         "5")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 35 29 39
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 35 29 39
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 29 35 29 39
+                           , srcInfoPoints = []
+                           }
+                         "True")))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 1 30 35
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 1 30 15
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 1 30 15
+                  , srcInfoPoints = []
+                  }
+                "answer_intpair"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 16 30 35
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 30 16 30 17 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 35
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 27
+                     , srcInfoPoints = []
+                     }
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 25
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 25
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 18 30 25
+                              , srcInfoPoints = []
+                              }
+                            "intpair")))
+                   (Lit
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 26 30 27
+                        , srcInfoPoints = []
+                        }
+                      (Int
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 26 30 27
+                           , srcInfoPoints = []
+                           }
+                         1
+                         "1")))
+                (Lit
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 28 30 35
+                     , srcInfoPoints = []
+                     }
+                   (String
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 30 28 30 35
+                        , srcInfoPoints = []
+                        }
+                      "hello"
+                      "hello"))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 1 31 30
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 1 31 15
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 1 31 15
+                  , srcInfoPoints = []
+                  }
+                "answer_intcons"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 16 31 30
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 31 16 31 17 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 30
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 27
+                     , srcInfoPoints = []
+                     }
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 25
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 25
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 18 31 25
+                              , srcInfoPoints = []
+                              }
+                            "intcons")))
+                   (Lit
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 26 31 27
+                        , srcInfoPoints = []
+                        }
+                      (Int
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 26 31 27
+                           , srcInfoPoints = []
+                           }
+                         7
+                         "7")))
+                (List
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 31 28 31 30
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta1.hs" 31 28 31 29
+                         , SrcSpan "tests/examples/Vta1.hs" 31 29 31 30
+                         ]
+                     }
+                   [])))
+          Nothing
+      , TypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 1 33 16
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/Vta1.hs" 33 1 33 5
+                , SrcSpan "tests/examples/Vta1.hs" 33 6 33 12
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 13 33 16
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 13 33 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 13 33 14
+                     , srcInfoPoints = []
+                     }
+                   "F"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 15 33 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 33 15 33 16
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          Nothing
+          Nothing
+      , TypeInsDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 1 34 28
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/Vta1.hs" 34 1 34 5
+                , SrcSpan "tests/examples/Vta1.hs" 34 6 34 14
+                , SrcSpan "tests/examples/Vta1.hs" 34 22 34 23
+                ]
+            }
+          (TyApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 21
+               , srcInfoPoints = []
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 16
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 16
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 15 34 16
+                        , srcInfoPoints = []
+                        }
+                      "F")))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 17 34 21
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 17 34 21
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 17 34 21
+                        , srcInfoPoints = []
+                        }
+                      "Char"))))
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 24 34 28
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 24 34 28
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 34 24 34 28
+                     , srcInfoPoints = []
+                     }
+                   "Bool")))
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 1 36 14
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 36 3 36 5 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 1 36 2
+                , srcInfoPoints = []
+                }
+              "g"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 14
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 36 10 36 12 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 9
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 7
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 7
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 6 36 7
+                           , srcInfoPoints = []
+                           }
+                         "F")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 8 36 9
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 8 36 9
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyVar
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 13 36 14
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 36 13 36 14
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 1 37 16
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 1 37 16
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 1 37 2
+                   , srcInfoPoints = []
+                   }
+                 "g")
+              [ PWildCard
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 3 37 4
+                    , srcInfoPoints = []
+                    }
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 5 37 16
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 37 5 37 6 ]
+                   }
+                 (Var
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 7 37 16
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 7 37 16
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 37 7 37 16
+                            , srcInfoPoints = []
+                            }
+                          "undefined"))))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 1 39 10
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 39 3 39 5 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 1 39 2
+                , srcInfoPoints = []
+                }
+              "f"
+          ]
+          (TyCon
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 6 39 10
+               , srcInfoPoints = []
+               }
+             (UnQual
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 6 39 10
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 39 6 39 10
+                     , srcInfoPoints = []
+                     }
+                   "Char")))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 1 40 11
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 1 40 2
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 1 40 2
+                  , srcInfoPoints = []
+                  }
+                "f"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 3 40 11
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 40 3 40 4 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 11
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 6
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 6
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 5 40 6
+                           , srcInfoPoints = []
+                           }
+                         "g")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 7 40 11
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 7 40 11
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 40 7 40 11
+                           , srcInfoPoints = []
+                           }
+                         "True")))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 1 42 23
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 1 42 7
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 1 42 7
+                  , srcInfoPoints = []
+                  }
+                "answer"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 8 42 23
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 42 8 42 9 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 23
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 17
+                     , srcInfoPoints = []
+                     }
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 11
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 11
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 10 42 11
+                              , srcInfoPoints = []
+                              }
+                            "g")))
+                   (TypeApp
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 12 42 17
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 42 12 42 13 ]
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 13 42 17
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 13 42 17
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 13 42 17
+                                 , srcInfoPoints = []
+                                 }
+                               "Char")))))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 18 42 23
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 18 42 23
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 42 18 42 23
+                           , srcInfoPoints = []
+                           }
+                         "False")))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 1 44 54
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 9 44 11 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 1 44 8
+                , srcInfoPoints = []
+                }
+              "mapSame"
+          ]
+          (TyForall
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 12 44 54
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/Vta1.hs" 44 12 44 18
+                   , SrcSpan "tests/examples/Vta1.hs" 44 20 44 21
+                   ]
+               }
+             (Just
+                [ UnkindedVar
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 19 44 20
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 19 44 20
+                         , srcInfoPoints = []
+                         }
+                       "b")
+                ])
+             Nothing
+             (TyFun
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 22 44 54
+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 41 44 43 ]
+                  }
+                (TyParen
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 22 44 40
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta1.hs" 44 22 44 23
+                         , SrcSpan "tests/examples/Vta1.hs" 44 39 44 40
+                         ]
+                     }
+                   (TyForall
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 23 44 39
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/Vta1.hs" 44 23 44 29
+                            , SrcSpan "tests/examples/Vta1.hs" 44 31 44 32
+                            ]
+                        }
+                      (Just
+                         [ UnkindedVar
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 30 44 31
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 30 44 31
+                                  , srcInfoPoints = []
+                                  }
+                                "a")
+                         ])
+                      Nothing
+                      (TyFun
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 33 44 39
+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 35 44 37 ]
+                           }
+                         (TyVar
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 33 44 34
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 33 44 34
+                                 , srcInfoPoints = []
+                                 }
+                               "a"))
+                         (TyVar
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 38 44 39
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 38 44 39
+                                 , srcInfoPoints = []
+                                 }
+                               "a")))))
+                (TyFun
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 44 44 54
+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 44 48 44 50 ]
+                     }
+                   (TyList
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 44 44 47
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/Vta1.hs" 44 44 44 45
+                            , SrcSpan "tests/examples/Vta1.hs" 44 46 44 47
+                            ]
+                        }
+                      (TyVar
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 45 44 46
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 45 44 46
+                              , srcInfoPoints = []
+                              }
+                            "b")))
+                   (TyList
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 51 44 54
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/Vta1.hs" 44 51 44 52
+                            , SrcSpan "tests/examples/Vta1.hs" 44 53 44 54
+                            ]
+                        }
+                      (TyVar
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 52 44 53
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 44 52 44 53
+                              , srcInfoPoints = []
+                              }
+                            "b"))))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 1 46 52
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 1 45 18
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 1 45 8
+                   , srcInfoPoints = []
+                   }
+                 "mapSame")
+              [ PWildCard
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 9 45 10
+                    , srcInfoPoints = []
+                    }
+              , PList
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 11 45 13
+                    , srcInfoPoints =
+                        [ SrcSpan "tests/examples/Vta1.hs" 45 11 45 12
+                        , SrcSpan "tests/examples/Vta1.hs" 45 12 45 13
+                        ]
+                    }
+                  []
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 14 45 18
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 45 14 45 15 ]
+                   }
+                 (List
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 45 16 45 18
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/Vta1.hs" 45 16 45 17
+                          , SrcSpan "tests/examples/Vta1.hs" 45 17 45 18
+                          ]
+                      }
+                    []))
+              Nothing
+          , Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 1 46 52
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 1 46 8
+                   , srcInfoPoints = []
+                   }
+                 "mapSame")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 9 46 12
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 9 46 12
+                       , srcInfoPoints = []
+                       }
+                     "fun")
+              , PParen
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 13 46 19
+                    , srcInfoPoints =
+                        [ SrcSpan "tests/examples/Vta1.hs" 46 13 46 14
+                        , SrcSpan "tests/examples/Vta1.hs" 46 18 46 19
+                        ]
+                    }
+                  (PInfixApp
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 14 46 18
+                       , srcInfoPoints = []
+                       }
+                     (PVar
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 14 46 15
+                          , srcInfoPoints = []
+                          }
+                        (Ident
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 14 46 15
+                             , srcInfoPoints = []
+                             }
+                           "x"))
+                     (Special
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 15 46 16
+                          , srcInfoPoints = []
+                          }
+                        (Cons
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 15 46 16
+                             , srcInfoPoints = []
+                             }))
+                     (PVar
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 16 46 18
+                          , srcInfoPoints = []
+                          }
+                        (Ident
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 16 46 18
+                             , srcInfoPoints = []
+                             }
+                           "xs")))
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 20 46 52
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 46 20 46 21 ]
+                   }
+                 (InfixApp
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 52
+                      , srcInfoPoints = []
+                      }
+                    (App
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 30
+                         , srcInfoPoints = []
+                         }
+                       (App
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 28
+                            , srcInfoPoints = []
+                            }
+                          (Var
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 25
+                               , srcInfoPoints = []
+                               }
+                             (UnQual
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 25
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 22 46 25
+                                     , srcInfoPoints = []
+                                     }
+                                   "fun")))
+                          (TypeApp
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 26 46 28
+                               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 46 26 46 27 ]
+                               }
+                             (TyVar
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 27 46 28
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 27 46 28
+                                     , srcInfoPoints = []
+                                     }
+                                   "b"))))
+                       (Var
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 29 46 30
+                            , srcInfoPoints = []
+                            }
+                          (UnQual
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 29 46 30
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 29 46 30
+                                  , srcInfoPoints = []
+                                  }
+                                "x"))))
+                    (QConOp
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 31 46 32
+                         , srcInfoPoints = []
+                         }
+                       (Special
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 31 46 32
+                            , srcInfoPoints = []
+                            }
+                          (Cons
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 31 46 32
+                               , srcInfoPoints = []
+                               })))
+                    (Paren
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 33 46 52
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/Vta1.hs" 46 33 46 34
+                             , SrcSpan "tests/examples/Vta1.hs" 46 51 46 52
+                             ]
+                         }
+                       (App
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 51
+                            , srcInfoPoints = []
+                            }
+                          (App
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 48
+                               , srcInfoPoints = []
+                               }
+                             (App
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 44
+                                  , srcInfoPoints = []
+                                  }
+                                (Var
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 41
+                                     , srcInfoPoints = []
+                                     }
+                                   (UnQual
+                                      SrcSpanInfo
+                                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 34 46 41
+                                        , srcInfoPoints = []
+                                        }
+                                      (Ident
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/Vta1.hs" 46 34 46 41
+                                           , srcInfoPoints = []
+                                           }
+                                         "mapSame")))
+                                (TypeApp
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 42 46 44
+                                     , srcInfoPoints =
+                                         [ SrcSpan "tests/examples/Vta1.hs" 46 42 46 43 ]
+                                     }
+                                   (TyVar
+                                      SrcSpanInfo
+                                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 43 46 44
+                                        , srcInfoPoints = []
+                                        }
+                                      (Ident
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/Vta1.hs" 46 43 46 44
+                                           , srcInfoPoints = []
+                                           }
+                                         "b"))))
+                             (Var
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 45 46 48
+                                  , srcInfoPoints = []
+                                  }
+                                (UnQual
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 45 46 48
+                                     , srcInfoPoints = []
+                                     }
+                                   (Ident
+                                      SrcSpanInfo
+                                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 45 46 48
+                                        , srcInfoPoints = []
+                                        }
+                                      "fun"))))
+                          (Var
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 49 46 51
+                               , srcInfoPoints = []
+                               }
+                             (UnQual
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 49 46 51
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 46 49 46 51
+                                     , srcInfoPoints = []
+                                     }
+                                   "xs")))))))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 1 48 46
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 48 6 48 8 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 1 48 5
+                , srcInfoPoints = []
+                }
+              "pair"
+          ]
+          (TyForall
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 9 48 46
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/Vta1.hs" 48 9 48 15
+                   , SrcSpan "tests/examples/Vta1.hs" 48 17 48 18
+                   ]
+               }
+             (Just
+                [ UnkindedVar
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 16 48 17
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 16 48 17
+                         , srcInfoPoints = []
+                         }
+                       "a")
+                ])
+             Nothing
+             (TyFun
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 19 48 46
+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 48 20 48 22 ]
+                  }
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 19 48 20
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 19 48 20
+                        , srcInfoPoints = []
+                        }
+                      "a"))
+                (TyParen
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 23 48 46
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta1.hs" 48 23 48 24
+                         , SrcSpan "tests/examples/Vta1.hs" 48 45 48 46
+                         ]
+                     }
+                   (TyForall
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 24 48 45
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/Vta1.hs" 48 24 48 30
+                            , SrcSpan "tests/examples/Vta1.hs" 48 32 48 33
+                            ]
+                        }
+                      (Just
+                         [ UnkindedVar
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 31 48 32
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 31 48 32
+                                  , srcInfoPoints = []
+                                  }
+                                "b")
+                         ])
+                      Nothing
+                      (TyFun
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 34 48 45
+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 48 36 48 38 ]
+                           }
+                         (TyVar
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 34 48 35
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 34 48 35
+                                 , srcInfoPoints = []
+                                 }
+                               "b"))
+                         (TyTuple
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 39 48 45
+                              , srcInfoPoints =
+                                  [ SrcSpan "tests/examples/Vta1.hs" 48 39 48 40
+                                  , SrcSpan "tests/examples/Vta1.hs" 48 41 48 42
+                                  , SrcSpan "tests/examples/Vta1.hs" 48 44 48 45
+                                  ]
+                              }
+                            Boxed
+                            [ TyVar
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 40 48 41
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 40 48 41
+                                     , srcInfoPoints = []
+                                     }
+                                   "a")
+                            , TyVar
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 43 48 44
+                                  , srcInfoPoints = []
+                                  }
+                                (Ident
+                                   SrcSpanInfo
+                                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 48 43 48 44
+                                     , srcInfoPoints = []
+                                     }
+                                   "b")
+                            ]))))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 1 49 18
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 1 49 18
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 1 49 5
+                   , srcInfoPoints = []
+                   }
+                 "pair")
+              [ PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 6 49 7
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 6 49 7
+                       , srcInfoPoints = []
+                       }
+                     "x")
+              , PVar
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 8 49 9
+                    , srcInfoPoints = []
+                    }
+                  (Ident
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 8 49 9
+                       , srcInfoPoints = []
+                       }
+                     "y")
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 10 49 18
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 49 10 49 11 ]
+                   }
+                 (Tuple
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 12 49 18
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/Vta1.hs" 49 12 49 13
+                          , SrcSpan "tests/examples/Vta1.hs" 49 14 49 15
+                          , SrcSpan "tests/examples/Vta1.hs" 49 17 49 18
+                          ]
+                      }
+                    Boxed
+                    [ Var
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 13 49 14
+                          , srcInfoPoints = []
+                          }
+                        (UnQual
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 13 49 14
+                             , srcInfoPoints = []
+                             }
+                           (Ident
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 13 49 14
+                                , srcInfoPoints = []
+                                }
+                              "x"))
+                    , Var
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 16 49 17
+                          , srcInfoPoints = []
+                          }
+                        (UnQual
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 16 49 17
+                             , srcInfoPoints = []
+                             }
+                           (Ident
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 49 16 49 17
+                                , srcInfoPoints = []
+                                }
+                              "y"))
+                    ]))
+              Nothing
+          ]
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 1 51 27
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 1 51 2
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 1 51 2
+                  , srcInfoPoints = []
+                  }
+                "b"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 3 51 27
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 51 3 51 4 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 27
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 22
+                     , srcInfoPoints = []
+                     }
+                   (App
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 16
+                        , srcInfoPoints = []
+                        }
+                      (App
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 14
+                           , srcInfoPoints = []
+                           }
+                         (Var
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 9
+                              , srcInfoPoints = []
+                              }
+                            (UnQual
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 9
+                                 , srcInfoPoints = []
+                                 }
+                               (Ident
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 5 51 9
+                                    , srcInfoPoints = []
+                                    }
+                                  "pair")))
+                         (TypeApp
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 10 51 14
+                              , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 51 10 51 11 ]
+                              }
+                            (TyCon
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 11 51 14
+                                 , srcInfoPoints = []
+                                 }
+                               (UnQual
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 11 51 14
+                                    , srcInfoPoints = []
+                                    }
+                                  (Ident
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 11 51 14
+                                       , srcInfoPoints = []
+                                       }
+                                     "Int")))))
+                      (Lit
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 15 51 16
+                           , srcInfoPoints = []
+                           }
+                         (Int
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 15 51 16
+                              , srcInfoPoints = []
+                              }
+                            3
+                            "3")))
+                   (TypeApp
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 17 51 22
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 51 17 51 18 ]
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 18 51 22
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 18 51 22
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 18 51 22
+                                 , srcInfoPoints = []
+                                 }
+                               "Bool")))))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 23 51 27
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 23 51 27
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 51 23 51 27
+                           , srcInfoPoints = []
+                           }
+                         "True")))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 1 52 23
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 1 52 2
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 1 52 2
+                  , srcInfoPoints = []
+                  }
+                "c"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 3 52 23
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 52 3 52 4 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 23
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 15
+                     , srcInfoPoints = []
+                     }
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 12
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 12
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 5 52 12
+                              , srcInfoPoints = []
+                              }
+                            "mapSame")))
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 13 52 15
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 13 52 15
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 13 52 15
+                              , srcInfoPoints = []
+                              }
+                            "id"))))
+                (List
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 16 52 23
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta1.hs" 52 16 52 17
+                         , SrcSpan "tests/examples/Vta1.hs" 52 18 52 19
+                         , SrcSpan "tests/examples/Vta1.hs" 52 20 52 21
+                         , SrcSpan "tests/examples/Vta1.hs" 52 22 52 23
+                         ]
+                     }
+                   [ Lit
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 17 52 18
+                         , srcInfoPoints = []
+                         }
+                       (Int
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 17 52 18
+                            , srcInfoPoints = []
+                            }
+                          1
+                          "1")
+                   , Lit
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 19 52 20
+                         , srcInfoPoints = []
+                         }
+                       (Int
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 19 52 20
+                            , srcInfoPoints = []
+                            }
+                          2
+                          "2")
+                   , Lit
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 21 52 22
+                         , srcInfoPoints = []
+                         }
+                       (Int
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 52 21 52 22
+                            , srcInfoPoints = []
+                            }
+                          3
+                          "3")
+                   ])))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 1 53 22
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 1 53 2
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 1 53 2
+                  , srcInfoPoints = []
+                  }
+                "d"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 3 53 22
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 53 3 53 4 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 22
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 17
+                     , srcInfoPoints = []
+                     }
+                   (App
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 11
+                        , srcInfoPoints = []
+                        }
+                      (Var
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 9
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 9
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 5 53 9
+                                 , srcInfoPoints = []
+                                 }
+                               "pair")))
+                      (Lit
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 10 53 11
+                           , srcInfoPoints = []
+                           }
+                         (Int
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 10 53 11
+                              , srcInfoPoints = []
+                              }
+                            3
+                            "3")))
+                   (TypeApp
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 12 53 17
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 53 12 53 13 ]
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 13 53 17
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 13 53 17
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 13 53 17
+                                 , srcInfoPoints = []
+                                 }
+                               "Bool")))))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 18 53 22
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 18 53 22
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 53 18 53 22
+                           , srcInfoPoints = []
+                           }
+                         "True")))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 1 55 52
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 9 55 11 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 1 55 8
+                , srcInfoPoints = []
+                }
+              "pairnum"
+          ]
+          (TyForall
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 12 55 52
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/Vta1.hs" 55 12 55 18
+                   , SrcSpan "tests/examples/Vta1.hs" 55 20 55 21
+                   ]
+               }
+             (Just
+                [ UnkindedVar
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 19 55 20
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 19 55 20
+                         , srcInfoPoints = []
+                         }
+                       "a")
+                ])
+             (Just
+                (CxSingle
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 22 55 30
+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 28 55 30 ]
+                     }
+                   (ClassA
+                      SrcSpanInfo
+                        { 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 = []
+                            }
+                          (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
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/Vta1.hs" 55 31 55 37
+                      , SrcSpan "tests/examples/Vta1.hs" 55 39 55 40
+                      ]
+                  }
+                (Just
+                   [ UnkindedVar
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 38 55 39
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 38 55 39
+                            , srcInfoPoints = []
+                            }
+                          "b")
+                   ])
+                Nothing
+                (TyFun
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 41 55 52
+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 55 43 55 45 ]
+                     }
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 41 55 42
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 41 55 42
+                           , srcInfoPoints = []
+                           }
+                         "b"))
+                   (TyTuple
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 46 55 52
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/Vta1.hs" 55 46 55 47
+                            , SrcSpan "tests/examples/Vta1.hs" 55 48 55 49
+                            , SrcSpan "tests/examples/Vta1.hs" 55 51 55 52
+                            ]
+                        }
+                      Boxed
+                      [ TyVar
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 47 55 48
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 47 55 48
+                               , srcInfoPoints = []
+                               }
+                             "a")
+                      , TyVar
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 50 55 51
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 55 50 55 51
+                               , srcInfoPoints = []
+                               }
+                             "b")
+                      ]))))
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 1 56 17
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 1 56 8
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 1 56 8
+                  , srcInfoPoints = []
+                  }
+                "pairnum"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 9 56 17
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 56 9 56 10 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 17
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 15
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 15
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 11 56 15
+                           , srcInfoPoints = []
+                           }
+                         "pair")))
+                (Lit
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 16 56 17
+                     , srcInfoPoints = []
+                     }
+                   (Int
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 56 16 56 17
+                        , srcInfoPoints = []
+                        }
+                      3
+                      "3"))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 1 58 73
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 1 58 2
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 1 58 2
+                  , srcInfoPoints = []
+                  }
+                "e"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 3 58 73
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 3 58 4 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 73
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 68
+                     , srcInfoPoints = []
+                     }
+                   (App
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 62
+                        , srcInfoPoints = []
+                        }
+                      (Paren
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 5 58 57
+                           , srcInfoPoints =
+                               [ SrcSpan "tests/examples/Vta1.hs" 58 5 58 6
+                               , SrcSpan "tests/examples/Vta1.hs" 58 56 58 57
+                               ]
+                           }
+                         (ExpTypeSig
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 56
+                              , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 13 58 15 ]
+                              }
+                            (App
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 12
+                                 , srcInfoPoints = []
+                                 }
+                               (Var
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 10
+                                    , srcInfoPoints = []
+                                    }
+                                  (UnQual
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 6 58 10
+                                       , srcInfoPoints = []
+                                       }
+                                     (Ident
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta1.hs" 58 6 58 10
+                                          , srcInfoPoints = []
+                                          }
+                                        "pair")))
+                               (Lit
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 11 58 12
+                                    , srcInfoPoints = []
+                                    }
+                                  (Int
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 11 58 12
+                                       , srcInfoPoints = []
+                                       }
+                                     3
+                                     "3")))
+                            (TyForall
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 16 58 56
+                                 , srcInfoPoints =
+                                     [ SrcSpan "tests/examples/Vta1.hs" 58 16 58 22
+                                     , SrcSpan "tests/examples/Vta1.hs" 58 24 58 25
+                                     ]
+                                 }
+                               (Just
+                                  [ UnkindedVar
+                                      SrcSpanInfo
+                                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 23 58 24
+                                        , srcInfoPoints = []
+                                        }
+                                      (Ident
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/Vta1.hs" 58 23 58 24
+                                           , srcInfoPoints = []
+                                           }
+                                         "a")
+                                  ])
+                               (Just
+                                  (CxSingle
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 26 58 34
+                                       , srcInfoPoints =
+                                           [ SrcSpan "tests/examples/Vta1.hs" 58 32 58 34 ]
+                                       }
+                                     (ClassA
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              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 = []
+                                              }
+                                            (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
+                                    , srcInfoPoints =
+                                        [ SrcSpan "tests/examples/Vta1.hs" 58 35 58 41
+                                        , SrcSpan "tests/examples/Vta1.hs" 58 43 58 44
+                                        ]
+                                    }
+                                  (Just
+                                     [ UnkindedVar
+                                         SrcSpanInfo
+                                           { srcInfoSpan =
+                                               SrcSpan "tests/examples/Vta1.hs" 58 42 58 43
+                                           , srcInfoPoints = []
+                                           }
+                                         (Ident
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan "tests/examples/Vta1.hs" 58 42 58 43
+                                              , srcInfoPoints = []
+                                              }
+                                            "b")
+                                     ])
+                                  Nothing
+                                  (TyFun
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 45 58 56
+                                       , srcInfoPoints =
+                                           [ SrcSpan "tests/examples/Vta1.hs" 58 47 58 49 ]
+                                       }
+                                     (TyVar
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta1.hs" 58 45 58 46
+                                          , srcInfoPoints = []
+                                          }
+                                        (Ident
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta1.hs" 58 45 58 46
+                                             , srcInfoPoints = []
+                                             }
+                                           "b"))
+                                     (TyTuple
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta1.hs" 58 50 58 56
+                                          , srcInfoPoints =
+                                              [ SrcSpan "tests/examples/Vta1.hs" 58 50 58 51
+                                              , SrcSpan "tests/examples/Vta1.hs" 58 52 58 53
+                                              , SrcSpan "tests/examples/Vta1.hs" 58 55 58 56
+                                              ]
+                                          }
+                                        Boxed
+                                        [ TyVar
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan "tests/examples/Vta1.hs" 58 51 58 52
+                                              , srcInfoPoints = []
+                                              }
+                                            (Ident
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan "tests/examples/Vta1.hs" 58 51 58 52
+                                                 , srcInfoPoints = []
+                                                 }
+                                               "a")
+                                        , TyVar
+                                            SrcSpanInfo
+                                              { srcInfoSpan =
+                                                  SrcSpan "tests/examples/Vta1.hs" 58 54 58 55
+                                              , srcInfoPoints = []
+                                              }
+                                            (Ident
+                                               SrcSpanInfo
+                                                 { srcInfoSpan =
+                                                     SrcSpan "tests/examples/Vta1.hs" 58 54 58 55
+                                                 , srcInfoPoints = []
+                                                 }
+                                               "b")
+                                        ]))))))
+                      (TypeApp
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 58 58 62
+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 58 58 59 ]
+                           }
+                         (TyCon
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 59 58 62
+                              , srcInfoPoints = []
+                              }
+                            (UnQual
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 59 58 62
+                                 , srcInfoPoints = []
+                                 }
+                               (Ident
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 59 58 62
+                                    , srcInfoPoints = []
+                                    }
+                                  "Int")))))
+                   (TypeApp
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 63 58 68
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 58 63 58 64 ]
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 64 58 68
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 64 58 68
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 64 58 68
+                                 , srcInfoPoints = []
+                                 }
+                               "Bool")))))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 69 58 73
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 69 58 73
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 58 69 58 73
+                           , srcInfoPoints = []
+                           }
+                         "True")))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 1 59 28
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 1 59 2
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 1 59 2
+                  , srcInfoPoints = []
+                  }
+                "h"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 3 59 28
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 59 3 59 4 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 28
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 23
+                     , srcInfoPoints = []
+                     }
+                   (App
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 17
+                        , srcInfoPoints = []
+                        }
+                      (Var
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 12
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 12
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 5 59 12
+                                 , srcInfoPoints = []
+                                 }
+                               "pairnum")))
+                      (TypeApp
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 13 59 17
+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 59 13 59 14 ]
+                           }
+                         (TyCon
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 14 59 17
+                              , srcInfoPoints = []
+                              }
+                            (UnQual
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 14 59 17
+                                 , srcInfoPoints = []
+                                 }
+                               (Ident
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 14 59 17
+                                    , srcInfoPoints = []
+                                    }
+                                  "Int")))))
+                   (TypeApp
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 18 59 23
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 59 18 59 19 ]
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 19 59 23
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 19 59 23
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 19 59 23
+                                 , srcInfoPoints = []
+                                 }
+                               "Bool")))))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 24 59 28
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 24 59 28
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 59 24 59 28
+                           , srcInfoPoints = []
+                           }
+                         "True")))))
+          Nothing
+      , DataDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 1 61 29
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 61 26 61 27 ]
+            }
+          (DataType
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 1 61 5
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 6 61 25
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 6 61 11
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 6 61 11
+                     , srcInfoPoints = []
+                     }
+                   "First"))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 12 61 25
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/Vta1.hs" 61 12 61 13
+                      , SrcSpan "tests/examples/Vta1.hs" 61 15 61 17
+                      , SrcSpan "tests/examples/Vta1.hs" 61 24 61 25
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 13 61 14
+                     , srcInfoPoints = []
+                     }
+                   "a")
+                (KindFn
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 18 61 24
+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 61 20 61 22 ]
+                     }
+                   (KindStar
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 18 61 19
+                        , srcInfoPoints = []
+                        })
+                   (KindStar
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 23 61 24
+                        , srcInfoPoints = []
+                        }))))
+          [ QualConDecl
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 28 61 29
+                , srcInfoPoints = []
+                }
+              Nothing
+              Nothing
+              (ConDecl
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 28 61 29
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 61 28 61 29
+                      , srcInfoPoints = []
+                      }
+                    "F")
+                 [])
+          ]
+          Nothing
+      , DataDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 1 62 24
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 62 21 62 22 ]
+            }
+          (DataType
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 1 62 5
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 6 62 20
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 6 62 11
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 6 62 11
+                     , srcInfoPoints = []
+                     }
+                   "Proxy"))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 12 62 20
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/Vta1.hs" 62 12 62 13
+                      , SrcSpan "tests/examples/Vta1.hs" 62 15 62 17
+                      , SrcSpan "tests/examples/Vta1.hs" 62 19 62 20
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 13 62 14
+                     , srcInfoPoints = []
+                     }
+                   "a")
+                (KindVar
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 18 62 19
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      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")))))
+          [ QualConDecl
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24
+                , srcInfoPoints = []
+                }
+              Nothing
+              Nothing
+              (ConDecl
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 62 23 62 24
+                      , srcInfoPoints = []
+                      }
+                    "P")
+                 [])
+          ]
+          Nothing
+      , DataDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 1 63 34
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 31 63 32 ]
+            }
+          (DataType
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 1 63 5
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 6 63 30
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 6 63 11
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 6 63 11
+                     , srcInfoPoints = []
+                     }
+                   "Three"))
+             (KindedVar
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 12 63 30
+                  , srcInfoPoints =
+                      [ SrcSpan "tests/examples/Vta1.hs" 63 12 63 13
+                      , SrcSpan "tests/examples/Vta1.hs" 63 15 63 17
+                      , SrcSpan "tests/examples/Vta1.hs" 63 29 63 30
+                      ]
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 13 63 14
+                     , srcInfoPoints = []
+                     }
+                   "a")
+                (KindFn
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 18 63 29
+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 20 63 22 ]
+                     }
+                   (KindStar
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 18 63 19
+                        , srcInfoPoints = []
+                        })
+                   (KindFn
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 29
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 63 25 63 27 ]
+                        }
+                      (KindVar
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 23 63 24
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            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
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 28 63 29
+                           , srcInfoPoints = []
+                           })))))
+          [ QualConDecl
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 33 63 34
+                , srcInfoPoints = []
+                }
+              Nothing
+              Nothing
+              (ConDecl
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 33 63 34
+                   , srcInfoPoints = []
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 63 33 63 34
+                      , srcInfoPoints = []
+                      }
+                    "T")
+                 [])
+          ]
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 1 65 22
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 65 5 65 7 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 1 65 4
+                , srcInfoPoints = []
+                }
+              "foo"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 22
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 65 16 65 18 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 15
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 13
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 13
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 8 65 13
+                           , srcInfoPoints = []
+                           }
+                         "Proxy")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 14 65 15
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 14 65 15
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 19 65 22
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 19 65 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 65 19 65 22
+                        , srcInfoPoints = []
+                        }
+                      "Int"))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 1 66 10
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 1 66 10
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 1 66 4
+                   , srcInfoPoints = []
+                   }
+                 "foo")
+              [ PWildCard
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 5 66 6
+                    , srcInfoPoints = []
+                    }
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 7 66 10
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 66 7 66 8 ]
+                   }
+                 (Lit
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 9 66 10
+                      , srcInfoPoints = []
+                      }
+                    (Int
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 66 9 66 10
+                         , srcInfoPoints = []
+                         }
+                       0
+                       "0")))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 1 68 24
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 68 7 68 9 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 1 68 6
+                , srcInfoPoints = []
+                }
+              "first"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 24
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 68 18 68 20 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 17
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 15
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 15
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 10 68 15
+                           , srcInfoPoints = []
+                           }
+                         "First")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 16 68 17
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 16 68 17
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 21 68 24
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 21 68 24
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 68 21 68 24
+                        , srcInfoPoints = []
+                        }
+                      "Int"))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 1 69 12
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 1 69 12
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 1 69 6
+                   , srcInfoPoints = []
+                   }
+                 "first")
+              [ PWildCard
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 7 69 8
+                    , srcInfoPoints = []
+                    }
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 9 69 12
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 69 9 69 10 ]
+                   }
+                 (Lit
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 11 69 12
+                      , srcInfoPoints = []
+                      }
+                    (Int
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 69 11 69 12
+                         , srcInfoPoints = []
+                         }
+                       0
+                       "0")))
+              Nothing
+          ]
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 1 71 16
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 1 71 6
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 1 71 6
+                  , srcInfoPoints = []
+                  }
+                "fTest"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 7 71 16
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 71 7 71 8 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 16
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 14
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 9 71 14
+                           , srcInfoPoints = []
+                           }
+                         "first")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 15 71 16
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 15 71 16
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 71 15 71 16
+                           , srcInfoPoints = []
+                           }
+                         "F")))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 1 72 24
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 1 72 7
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 1 72 7
+                  , srcInfoPoints = []
+                  }
+                "fMaybe"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 8 72 24
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 72 8 72 9 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 24
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 22
+                     , srcInfoPoints = []
+                     }
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 15
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 15
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 10 72 15
+                              , srcInfoPoints = []
+                              }
+                            "first")))
+                   (TypeApp
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 16 72 22
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 72 16 72 17 ]
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 17 72 22
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 17 72 22
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 17 72 22
+                                 , srcInfoPoints = []
+                                 }
+                               "Maybe")))))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 23 72 24
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 23 72 24
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 72 23 72 24
+                           , srcInfoPoints = []
+                           }
+                         "F")))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 1 74 13
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 1 74 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 1 74 5
+                  , srcInfoPoints = []
+                  }
+                "test"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 6 74 13
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 74 6 74 7 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 13
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 11
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 11
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 8 74 11
+                           , srcInfoPoints = []
+                           }
+                         "foo")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 12 74 13
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 12 74 13
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 74 12 74 13
+                           , srcInfoPoints = []
+                           }
+                         "P")))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 1 75 18
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 1 75 4
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 1 75 4
+                  , srcInfoPoints = []
+                  }
+                "bar"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 5 75 18
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 75 5 75 6 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 18
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 16
+                     , srcInfoPoints = []
+                     }
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 10
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 10
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 7 75 10
+                              , srcInfoPoints = []
+                              }
+                            "foo")))
+                   (TypeApp
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 11 75 16
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 75 11 75 12 ]
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 12 75 16
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 12 75 16
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 12 75 16
+                                 , srcInfoPoints = []
+                                 }
+                               "Bool")))))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 17 75 18
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 17 75 18
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 75 17 75 18
+                           , srcInfoPoints = []
+                           }
+                         "P")))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 1 77 22
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 77 5 77 7 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 1 77 4
+                , srcInfoPoints = []
+                }
+              "too"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 22
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 77 16 77 18 ]
+               }
+             (TyApp
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 15
+                  , srcInfoPoints = []
+                  }
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 13
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 13
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 8 77 13
+                           , srcInfoPoints = []
+                           }
+                         "Three")))
+                (TyVar
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 14 77 15
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 14 77 15
+                        , srcInfoPoints = []
+                        }
+                      "a")))
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 19 77 22
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 19 77 22
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 77 19 77 22
+                        , srcInfoPoints = []
+                        }
+                      "Int"))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 1 78 10
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 1 78 10
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 1 78 4
+                   , srcInfoPoints = []
+                   }
+                 "too")
+              [ PWildCard
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 5 78 6
+                    , srcInfoPoints = []
+                    }
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 7 78 10
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 78 7 78 8 ]
+                   }
+                 (Lit
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 9 78 10
+                      , srcInfoPoints = []
+                      }
+                    (Int
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 78 9 78 10
+                         , srcInfoPoints = []
+                         }
+                       3
+                       "3")))
+              Nothing
+          ]
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 1 80 18
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 1 80 10
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 1 80 10
+                  , srcInfoPoints = []
+                  }
+                "threeBase"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 11 80 18
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 80 11 80 12 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 18
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 16
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 16
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 13 80 16
+                           , srcInfoPoints = []
+                           }
+                         "too")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 17 80 18
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 17 80 18
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 80 17 80 18
+                           , srcInfoPoints = []
+                           }
+                         "T")))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 1 81 24
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 1 81 8
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 1 81 8
+                  , srcInfoPoints = []
+                  }
+                "threeOk"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 9 81 24
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 81 9 81 10 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 24
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 22
+                     , srcInfoPoints = []
+                     }
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 14
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 14
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 11 81 14
+                              , srcInfoPoints = []
+                              }
+                            "too")))
+                   (TypeApp
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 15 81 22
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 81 15 81 16 ]
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 16 81 22
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 16 81 22
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 16 81 22
+                                 , srcInfoPoints = []
+                                 }
+                               "Either")))))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 23 81 24
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 23 81 24
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 81 23 81 24
+                           , srcInfoPoints = []
+                           }
+                         "T")))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 1 83 20
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 1 83 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 1 83 5
+                  , srcInfoPoints = []
+                  }
+                "blah"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 6 83 20
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 83 6 83 7 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 20
+                  , srcInfoPoints = []
+                  }
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 15
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 15
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 8 83 15
+                           , srcInfoPoints = []
+                           }
+                         "Nothing")))
+                (TypeApp
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 16 83 20
+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 83 16 83 17 ]
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 17 83 20
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 17 83 20
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 83 17 83 20
+                              , srcInfoPoints = []
+                              }
+                            "Int"))))))
+          Nothing
+      , DataDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 1 85 61
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 11 85 12 ]
+            }
+          (NewType
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 1 85 8
+               , srcInfoPoints = []
+               })
+          Nothing
+          (DHead
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 9 85 10
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 9 85 10
+                  , srcInfoPoints = []
+                  }
+                "N"))
+          [ QualConDecl
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 13 85 61
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/Vta1.hs" 85 17 85 18
+                    , SrcSpan "tests/examples/Vta1.hs" 85 60 85 61
+                    ]
+                }
+              Nothing
+              Nothing
+              (RecDecl
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 13 85 61
+                   , srcInfoPoints =
+                       [ SrcSpan "tests/examples/Vta1.hs" 85 17 85 18
+                       , SrcSpan "tests/examples/Vta1.hs" 85 60 85 61
+                       ]
+                   }
+                 (Ident
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 13 85 16
+                      , srcInfoPoints = []
+                      }
+                    "MkN")
+                 [ FieldDecl
+                     SrcSpanInfo
+                       { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 19 85 59
+                       , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 25 85 27 ]
+                       }
+                     [ Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 19 85 24
+                           , srcInfoPoints = []
+                           }
+                         "unMkN"
+                     ]
+                     (TyForall
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 28 85 59
+                          , srcInfoPoints =
+                              [ SrcSpan "tests/examples/Vta1.hs" 85 28 85 34
+                              , SrcSpan "tests/examples/Vta1.hs" 85 36 85 37
+                              ]
+                          }
+                        (Just
+                           [ UnkindedVar
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 35 85 36
+                                 , srcInfoPoints = []
+                                 }
+                               (Ident
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 35 85 36
+                                    , srcInfoPoints = []
+                                    }
+                                  "a")
+                           ])
+                        (Just
+                           (CxSingle
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 38 85 47
+                                , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 45 85 47 ]
+                                }
+                              (ClassA
+                                 SrcSpanInfo
+                                   { srcInfoSpan = 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 = []
+                                       }
+                                     (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
+                             , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 85 50 85 52 ]
+                             }
+                           (TyVar
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 49
+                                , srcInfoPoints = []
+                                }
+                              (Ident
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 48 85 49
+                                   , srcInfoPoints = []
+                                   }
+                                 "a"))
+                           (TyCon
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 53 85 59
+                                , srcInfoPoints = []
+                                }
+                              (UnQual
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 53 85 59
+                                   , srcInfoPoints = []
+                                   }
+                                 (Ident
+                                    SrcSpanInfo
+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 85 53 85 59
+                                      , srcInfoPoints = []
+                                      }
+                                    "String")))))
+                 ])
+          ]
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 1 87 13
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 1 87 2
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 1 87 2
+                  , srcInfoPoints = []
+                  }
+                "n"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 3 87 13
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 87 3 87 4 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 13
+                  , srcInfoPoints = []
+                  }
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 8
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 8
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 5 87 8
+                           , srcInfoPoints = []
+                           }
+                         "MkN")))
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 9 87 13
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 9 87 13
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 87 9 87 13
+                           , srcInfoPoints = []
+                           }
+                         "show")))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 1 89 20
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 1 89 4
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 1 89 4
+                  , srcInfoPoints = []
+                  }
+                "boo"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 5 89 20
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 89 5 89 6 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 20
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 14
+                     , srcInfoPoints = []
+                     }
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 12
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 12
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 7 89 12
+                              , srcInfoPoints = []
+                              }
+                            "unMkN")))
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 13 89 14
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 13 89 14
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 13 89 14
+                              , srcInfoPoints = []
+                              }
+                            "n"))))
+                (TypeApp
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 15 89 20
+                     , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 89 15 89 16 ]
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 16 89 20
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 16 89 20
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 89 16 89 20
+                              , srcInfoPoints = []
+                              }
+                            "Bool"))))))
+          Nothing
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 1 91 47
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 6 91 8 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 1 91 5
+                , srcInfoPoints = []
+                }
+              "boo2"
+          ]
+          (TyForall
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 9 91 47
+               , srcInfoPoints =
+                   [ SrcSpan "tests/examples/Vta1.hs" 91 9 91 15
+                   , SrcSpan "tests/examples/Vta1.hs" 91 30 91 31
+                   ]
+               }
+             (Just
+                [ KindedVar
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 16 91 29
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/Vta1.hs" 91 16 91 17
+                          , SrcSpan "tests/examples/Vta1.hs" 91 19 91 21
+                          , SrcSpan "tests/examples/Vta1.hs" 91 28 91 29
+                          ]
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 17 91 18
+                         , srcInfoPoints = []
+                         }
+                       "a")
+                    (KindFn
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 22 91 28
+                         , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 24 91 26 ]
+                         }
+                       (KindStar
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 22 91 23
+                            , srcInfoPoints = []
+                            })
+                       (KindStar
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 27 91 28
+                            , srcInfoPoints = []
+                            }))
+                ])
+             Nothing
+             (TyFun
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 47
+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 91 40 91 42 ]
+                  }
+                (TyApp
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 39
+                     , srcInfoPoints = []
+                     }
+                   (TyCon
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 37
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 37
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 32 91 37
+                              , srcInfoPoints = []
+                              }
+                            "Proxy")))
+                   (TyVar
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 38 91 39
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 38 91 39
+                           , srcInfoPoints = []
+                           }
+                         "a")))
+                (TyCon
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 43 91 47
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 43 91 47
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 91 43 91 47
+                           , srcInfoPoints = []
+                           }
+                         "Bool")))))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 1 92 15
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 1 92 15
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 1 92 5
+                   , srcInfoPoints = []
+                   }
+                 "boo2")
+              [ PWildCard
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 6 92 7
+                    , srcInfoPoints = []
+                    }
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 8 92 15
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 92 8 92 9 ]
+                   }
+                 (Con
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 10 92 15
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 10 92 15
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 92 10 92 15
+                            , srcInfoPoints = []
+                            }
+                          "False"))))
+              Nothing
+          ]
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 1 94 14
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 1 94 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 1 94 5
+                  , srcInfoPoints = []
+                  }
+                "base"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 6 94 14
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 94 6 94 7 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 14
+                  , srcInfoPoints = []
+                  }
+                (Var
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 12
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 12
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 8 94 12
+                           , srcInfoPoints = []
+                           }
+                         "boo2")))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 13 94 14
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 13 94 14
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 94 13 94 14
+                           , srcInfoPoints = []
+                           }
+                         "P")))))
+          Nothing
+      , PatBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 1 95 20
+            , srcInfoPoints = []
+            }
+          (PVar
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 1 95 5
+               , srcInfoPoints = []
+               }
+             (Ident
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 1 95 5
+                  , srcInfoPoints = []
+                  }
+                "bar'"))
+          (UnGuardedRhs
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 5 95 20
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 95 5 95 6 ]
+               }
+             (App
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 20
+                  , srcInfoPoints = []
+                  }
+                (App
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 18
+                     , srcInfoPoints = []
+                     }
+                   (Var
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 11
+                        , srcInfoPoints = []
+                        }
+                      (UnQual
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 11
+                           , srcInfoPoints = []
+                           }
+                         (Ident
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 7 95 11
+                              , srcInfoPoints = []
+                              }
+                            "boo2")))
+                   (TypeApp
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 12 95 18
+                        , srcInfoPoints = [ SrcSpan "tests/examples/Vta1.hs" 95 12 95 13 ]
+                        }
+                      (TyCon
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 13 95 18
+                           , srcInfoPoints = []
+                           }
+                         (UnQual
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 13 95 18
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 13 95 18
+                                 , srcInfoPoints = []
+                                 }
+                               "Maybe")))))
+                (Con
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 19 95 20
+                     , srcInfoPoints = []
+                     }
+                   (UnQual
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 19 95 20
+                        , srcInfoPoints = []
+                        }
+                      (Ident
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta1.hs" 95 19 95 20
+                           , srcInfoPoints = []
+                           }
+                         "P")))))
+          Nothing
+      ]
+  , [ Comment
+        False
+        (SrcSpan "tests/examples/Vta1.hs" 4 1 4 40)
+        " tests about visible type application"
+    , Comment False (SrcSpan "tests/examples/Vta1.hs" 18 44 18 46) ""
+    , Comment
+        False
+        (SrcSpan "tests/examples/Vta1.hs" 19 1 19 29)
+        " (False, 7) :: (Bool, Int)"
+    , Comment
+        False
+        (SrcSpan "tests/examples/Vta1.hs" 21 36 21 52)
+        " \"3\" :: String"
+    , Comment
+        False
+        (SrcSpan "tests/examples/Vta1.hs" 22 40 22 56)
+        " \"5\" :: String"
+    , Comment
+        False
+        (SrcSpan "tests/examples/Vta1.hs" 23 45 23 61)
+        " \"7\" :: String"
+    , Comment
+        False
+        (SrcSpan "tests/examples/Vta1.hs" 29 40 29 67)
+        " (5, True) :: (Int, Bool)"
+    , Comment
+        False
+        (SrcSpan "tests/examples/Vta1.hs" 30 36 30 68)
+        " (1, \"hello\") :: (Int, String)"
+    , Comment
+        False
+        (SrcSpan "tests/examples/Vta1.hs" 31 36 31 51)
+        " [7] :: [Int]"
+    , Comment
+        False
+        (SrcSpan "tests/examples/Vta1.hs" 62 25 62 77)
+        " This expands to P (kind variable) (type variable)"
+    , Comment
+        False (SrcSpan "tests/examples/Vta1.hs" 75 19 75 33) " should work"
+    , Comment
+        False (SrcSpan "tests/examples/Vta1.hs" 95 21 95 35) " should work"
+    ]
+  )
diff --git a/tests/examples/Vta1.hs.prettyparser.golden b/tests/examples/Vta1.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Vta1.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/Vta1.hs.prettyprinter.golden b/tests/examples/Vta1.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Vta1.hs.prettyprinter.golden
@@ -0,0 +1,79 @@
+{-# LANGUAGE TypeApplications, ScopedTypeVariables, PolyKinds,
+  TypeFamilies, RankNTypes, FlexibleContexts #-}
+module Vta1 where
+
+quad :: a -> b -> c -> d -> (a, b, c, d)
+quad = (,,,)
+silly = quad @_ @Bool @Char @_ 5 True 'a' "Hello"
+pairup_nosig x y = (x, y)
+
+pairup_sig :: a -> b -> (a, b)
+pairup_sig u w = (u, w)
+answer_sig = pairup_sig @Bool @Int False 7
+answer_read = show (read @Int "3")
+answer_show = show @Integer (read "5")
+answer_showread = show @Int (read @Int "7")
+intcons a = (:) @Int a
+intpair x y = pairup_sig @Int x y
+answer_pairup = pairup_sig @Int 5 True
+answer_intpair = intpair 1 "hello"
+answer_intcons = intcons 7 []
+
+type family F a
+
+type instance F Char = Bool
+
+g :: F a -> a
+g _ = undefined
+
+f :: Char
+f = g True
+answer = g @Char False
+
+mapSame :: forall b . (forall a . a -> a) -> [b] -> [b]
+mapSame _ [] = []
+mapSame fun (x : xs) = fun @b x : (mapSame @b fun xs)
+
+pair :: forall a . a -> (forall b . b -> (a, b))
+pair x y = (x, y)
+b = pair @Int 3 @Bool True
+c = mapSame id [1, 2, 3]
+d = pair 3 @Bool True
+
+pairnum :: forall a . Num a => forall b . b -> (a, b)
+pairnum = pair 3
+e = (pair 3 :: forall a . Num a => forall b . b -> (a, b)) @Int
+      @Bool
+      True
+h = pairnum @Int @Bool True
+
+data First (a :: * -> *) = F
+
+data Proxy (a :: k) = P
+
+data Three (a :: * -> k -> *) = T
+
+foo :: Proxy a -> Int
+foo _ = 0
+
+first :: First a -> Int
+first _ = 0
+fTest = first F
+fMaybe = first @Maybe F
+test = foo P
+bar = foo @Bool P
+
+too :: Three a -> Int
+too _ = 3
+threeBase = too T
+threeOk = too @Either T
+blah = Nothing @Int
+
+newtype N = MkN{unMkN :: forall a . Show a => a -> String}
+n = MkN show
+boo = unMkN n @Bool
+
+boo2 :: forall (a :: * -> *) . Proxy a -> Bool
+boo2 _ = False
+base = boo2 P
+bar' = boo2 @Maybe P
diff --git a/tests/examples/Vta2.hs b/tests/examples/Vta2.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/Vta2.hs
@@ -0,0 +1,14 @@
+{-# LANGUAGE RankNTypes, TypeApplications #-}
+
+
+module Vta2 where
+
+checkIf :: Bool -> (forall a. a -> a) -> (Bool, Int)
+checkIf _ = if True
+            then \f -> (f True, f 5)
+            else \f -> (f False, f @Int 3)
+
+checkCase :: Bool -> (forall a. a -> a) -> (Bool, Int)
+checkCase _ = case True of
+                True -> \f -> (f True, f 5)
+                False -> \f -> (f False, f @Int 3)
diff --git a/tests/examples/Vta2.hs.exactprinter.golden b/tests/examples/Vta2.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Vta2.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/Vta2.hs.parser.golden b/tests/examples/Vta2.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Vta2.hs.parser.golden
@@ -0,0 +1,992 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 1 15 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/Vta2.hs" 1 1 1 1
+            , SrcSpan "tests/examples/Vta2.hs" 4 1 4 1
+            , SrcSpan "tests/examples/Vta2.hs" 4 1 4 1
+            , SrcSpan "tests/examples/Vta2.hs" 6 1 6 1
+            , SrcSpan "tests/examples/Vta2.hs" 7 1 7 1
+            , SrcSpan "tests/examples/Vta2.hs" 11 1 11 1
+            , SrcSpan "tests/examples/Vta2.hs" 12 1 12 1
+            , SrcSpan "tests/examples/Vta2.hs" 15 1 15 1
+            , SrcSpan "tests/examples/Vta2.hs" 15 1 15 1
+            ]
+        }
+      (Just
+         (ModuleHead
+            SrcSpanInfo
+              { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 4 1 4 18
+              , srcInfoPoints =
+                  [ SrcSpan "tests/examples/Vta2.hs" 4 1 4 7
+                  , SrcSpan "tests/examples/Vta2.hs" 4 13 4 18
+                  ]
+              }
+            (ModuleName
+               SrcSpanInfo
+                 { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 4 8 4 12
+                 , srcInfoPoints = []
+                 }
+               "Vta2")
+            Nothing
+            Nothing))
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 1 1 46
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/Vta2.hs" 1 1 1 13
+                , SrcSpan "tests/examples/Vta2.hs" 1 24 1 25
+                , SrcSpan "tests/examples/Vta2.hs" 1 43 1 46
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 14 1 24
+                , srcInfoPoints = []
+                }
+              "RankNTypes"
+          , Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 1 26 1 42
+                , srcInfoPoints = []
+                }
+              "TypeApplications"
+          ]
+      ]
+      []
+      [ TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 1 6 53
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 9 6 11 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 1 6 8
+                , srcInfoPoints = []
+                }
+              "checkIf"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 53
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 17 6 19 ]
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 16
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 16
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 12 6 16
+                        , srcInfoPoints = []
+                        }
+                      "Bool")))
+             (TyFun
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 20 6 53
+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 39 6 41 ]
+                  }
+                (TyParen
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 20 6 38
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta2.hs" 6 20 6 21
+                         , SrcSpan "tests/examples/Vta2.hs" 6 37 6 38
+                         ]
+                     }
+                   (TyForall
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 21 6 37
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/Vta2.hs" 6 21 6 27
+                            , SrcSpan "tests/examples/Vta2.hs" 6 29 6 30
+                            ]
+                        }
+                      (Just
+                         [ UnkindedVar
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 28 6 29
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 28 6 29
+                                  , srcInfoPoints = []
+                                  }
+                                "a")
+                         ])
+                      Nothing
+                      (TyFun
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 31 6 37
+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 6 33 6 35 ]
+                           }
+                         (TyVar
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 31 6 32
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 31 6 32
+                                 , srcInfoPoints = []
+                                 }
+                               "a"))
+                         (TyVar
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 36 6 37
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 36 6 37
+                                 , srcInfoPoints = []
+                                 }
+                               "a")))))
+                (TyTuple
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 42 6 53
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta2.hs" 6 42 6 43
+                         , SrcSpan "tests/examples/Vta2.hs" 6 47 6 48
+                         , SrcSpan "tests/examples/Vta2.hs" 6 52 6 53
+                         ]
+                     }
+                   Boxed
+                   [ TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 43 6 47
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 43 6 47
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 43 6 47
+                               , srcInfoPoints = []
+                               }
+                             "Bool"))
+                   , TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 49 6 52
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 49 6 52
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 6 49 6 52
+                               , srcInfoPoints = []
+                               }
+                             "Int"))
+                   ])))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 1 9 43
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 1 9 43
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 1 7 8
+                   , srcInfoPoints = []
+                   }
+                 "checkIf")
+              [ PWildCard
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 9 7 10
+                    , srcInfoPoints = []
+                    }
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 11 9 43
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 7 11 7 12 ]
+                   }
+                 (If
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 13 9 43
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/Vta2.hs" 7 13 7 15
+                          , SrcSpan "tests/examples/Vta2.hs" 8 13 8 17
+                          , SrcSpan "tests/examples/Vta2.hs" 9 13 9 17
+                          ]
+                      }
+                    (Con
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 16 7 20
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 16 7 20
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 7 16 7 20
+                               , srcInfoPoints = []
+                               }
+                             "True")))
+                    (Lambda
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 18 8 37
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/Vta2.hs" 8 18 8 19
+                             , SrcSpan "tests/examples/Vta2.hs" 8 21 8 23
+                             ]
+                         }
+                       [ PVar
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 19 8 20
+                             , srcInfoPoints = []
+                             }
+                           (Ident
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 19 8 20
+                                , srcInfoPoints = []
+                                }
+                              "f")
+                       ]
+                       (Tuple
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 24 8 37
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/Vta2.hs" 8 24 8 25
+                                , SrcSpan "tests/examples/Vta2.hs" 8 31 8 32
+                                , SrcSpan "tests/examples/Vta2.hs" 8 36 8 37
+                                ]
+                            }
+                          Boxed
+                          [ App
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 31
+                                , srcInfoPoints = []
+                                }
+                              (Var
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 26
+                                   , srcInfoPoints = []
+                                   }
+                                 (UnQual
+                                    SrcSpanInfo
+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 26
+                                      , srcInfoPoints = []
+                                      }
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 25 8 26
+                                         , srcInfoPoints = []
+                                         }
+                                       "f")))
+                              (Con
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 27 8 31
+                                   , srcInfoPoints = []
+                                   }
+                                 (UnQual
+                                    SrcSpanInfo
+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 27 8 31
+                                      , srcInfoPoints = []
+                                      }
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 27 8 31
+                                         , srcInfoPoints = []
+                                         }
+                                       "True")))
+                          , App
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 36
+                                , srcInfoPoints = []
+                                }
+                              (Var
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 34
+                                   , srcInfoPoints = []
+                                   }
+                                 (UnQual
+                                    SrcSpanInfo
+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 34
+                                      , srcInfoPoints = []
+                                      }
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 33 8 34
+                                         , srcInfoPoints = []
+                                         }
+                                       "f")))
+                              (Lit
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 35 8 36
+                                   , srcInfoPoints = []
+                                   }
+                                 (Int
+                                    SrcSpanInfo
+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 8 35 8 36
+                                      , srcInfoPoints = []
+                                      }
+                                    5
+                                    "5"))
+                          ]))
+                    (Lambda
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 18 9 43
+                         , srcInfoPoints =
+                             [ SrcSpan "tests/examples/Vta2.hs" 9 18 9 19
+                             , SrcSpan "tests/examples/Vta2.hs" 9 21 9 23
+                             ]
+                         }
+                       [ PVar
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 19 9 20
+                             , srcInfoPoints = []
+                             }
+                           (Ident
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 19 9 20
+                                , srcInfoPoints = []
+                                }
+                              "f")
+                       ]
+                       (Tuple
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 24 9 43
+                            , srcInfoPoints =
+                                [ SrcSpan "tests/examples/Vta2.hs" 9 24 9 25
+                                , SrcSpan "tests/examples/Vta2.hs" 9 32 9 33
+                                , SrcSpan "tests/examples/Vta2.hs" 9 42 9 43
+                                ]
+                            }
+                          Boxed
+                          [ App
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 32
+                                , srcInfoPoints = []
+                                }
+                              (Var
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 26
+                                   , srcInfoPoints = []
+                                   }
+                                 (UnQual
+                                    SrcSpanInfo
+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 26
+                                      , srcInfoPoints = []
+                                      }
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 25 9 26
+                                         , srcInfoPoints = []
+                                         }
+                                       "f")))
+                              (Con
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 27 9 32
+                                   , srcInfoPoints = []
+                                   }
+                                 (UnQual
+                                    SrcSpanInfo
+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 27 9 32
+                                      , srcInfoPoints = []
+                                      }
+                                    (Ident
+                                       SrcSpanInfo
+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 27 9 32
+                                         , srcInfoPoints = []
+                                         }
+                                       "False")))
+                          , App
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 42
+                                , srcInfoPoints = []
+                                }
+                              (App
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 40
+                                   , srcInfoPoints = []
+                                   }
+                                 (Var
+                                    SrcSpanInfo
+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 35
+                                      , srcInfoPoints = []
+                                      }
+                                    (UnQual
+                                       SrcSpanInfo
+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 34 9 35
+                                         , srcInfoPoints = []
+                                         }
+                                       (Ident
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/Vta2.hs" 9 34 9 35
+                                            , srcInfoPoints = []
+                                            }
+                                          "f")))
+                                 (TypeApp
+                                    SrcSpanInfo
+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 36 9 40
+                                      , srcInfoPoints =
+                                          [ SrcSpan "tests/examples/Vta2.hs" 9 36 9 37 ]
+                                      }
+                                    (TyCon
+                                       SrcSpanInfo
+                                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 37 9 40
+                                         , srcInfoPoints = []
+                                         }
+                                       (UnQual
+                                          SrcSpanInfo
+                                            { srcInfoSpan =
+                                                SrcSpan "tests/examples/Vta2.hs" 9 37 9 40
+                                            , srcInfoPoints = []
+                                            }
+                                          (Ident
+                                             SrcSpanInfo
+                                               { srcInfoSpan =
+                                                   SrcSpan "tests/examples/Vta2.hs" 9 37 9 40
+                                               , srcInfoPoints = []
+                                               }
+                                             "Int")))))
+                              (Lit
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 41 9 42
+                                   , srcInfoPoints = []
+                                   }
+                                 (Int
+                                    SrcSpanInfo
+                                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 9 41 9 42
+                                      , srcInfoPoints = []
+                                      }
+                                    3
+                                    "3"))
+                          ]))))
+              Nothing
+          ]
+      , TypeSig
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 1 11 55
+            , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 11 11 13 ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 1 11 10
+                , srcInfoPoints = []
+                }
+              "checkCase"
+          ]
+          (TyFun
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 55
+               , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 19 11 21 ]
+               }
+             (TyCon
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 18
+                  , srcInfoPoints = []
+                  }
+                (UnQual
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 18
+                     , srcInfoPoints = []
+                     }
+                   (Ident
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 14 11 18
+                        , srcInfoPoints = []
+                        }
+                      "Bool")))
+             (TyFun
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 22 11 55
+                  , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 41 11 43 ]
+                  }
+                (TyParen
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 22 11 40
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta2.hs" 11 22 11 23
+                         , SrcSpan "tests/examples/Vta2.hs" 11 39 11 40
+                         ]
+                     }
+                   (TyForall
+                      SrcSpanInfo
+                        { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 23 11 39
+                        , srcInfoPoints =
+                            [ SrcSpan "tests/examples/Vta2.hs" 11 23 11 29
+                            , SrcSpan "tests/examples/Vta2.hs" 11 31 11 32
+                            ]
+                        }
+                      (Just
+                         [ UnkindedVar
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 30 11 31
+                               , srcInfoPoints = []
+                               }
+                             (Ident
+                                SrcSpanInfo
+                                  { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 30 11 31
+                                  , srcInfoPoints = []
+                                  }
+                                "a")
+                         ])
+                      Nothing
+                      (TyFun
+                         SrcSpanInfo
+                           { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 33 11 39
+                           , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 11 35 11 37 ]
+                           }
+                         (TyVar
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 33 11 34
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 33 11 34
+                                 , srcInfoPoints = []
+                                 }
+                               "a"))
+                         (TyVar
+                            SrcSpanInfo
+                              { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 38 11 39
+                              , srcInfoPoints = []
+                              }
+                            (Ident
+                               SrcSpanInfo
+                                 { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 38 11 39
+                                 , srcInfoPoints = []
+                                 }
+                               "a")))))
+                (TyTuple
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 44 11 55
+                     , srcInfoPoints =
+                         [ SrcSpan "tests/examples/Vta2.hs" 11 44 11 45
+                         , SrcSpan "tests/examples/Vta2.hs" 11 49 11 50
+                         , SrcSpan "tests/examples/Vta2.hs" 11 54 11 55
+                         ]
+                     }
+                   Boxed
+                   [ TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 45 11 49
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 45 11 49
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 45 11 49
+                               , srcInfoPoints = []
+                               }
+                             "Bool"))
+                   , TyCon
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 51 11 54
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 51 11 54
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 11 51 11 54
+                               , srcInfoPoints = []
+                               }
+                             "Int"))
+                   ])))
+      , FunBind
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 1 14 51
+            , srcInfoPoints = []
+            }
+          [ Match
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 1 14 51
+                , srcInfoPoints = []
+                }
+              (Ident
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 1 12 10
+                   , srcInfoPoints = []
+                   }
+                 "checkCase")
+              [ PWildCard
+                  SrcSpanInfo
+                    { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 11 12 12
+                    , srcInfoPoints = []
+                    }
+              ]
+              (UnGuardedRhs
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 13 14 51
+                   , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 12 13 12 14 ]
+                   }
+                 (Case
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 15 14 51
+                      , srcInfoPoints =
+                          [ SrcSpan "tests/examples/Vta2.hs" 12 15 12 19
+                          , SrcSpan "tests/examples/Vta2.hs" 12 25 12 27
+                          , SrcSpan "tests/examples/Vta2.hs" 13 17 13 17
+                          , SrcSpan "tests/examples/Vta2.hs" 14 17 14 17
+                          , SrcSpan "tests/examples/Vta2.hs" 15 1 15 0
+                          ]
+                      }
+                    (Con
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 20 12 24
+                         , srcInfoPoints = []
+                         }
+                       (UnQual
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 20 12 24
+                            , srcInfoPoints = []
+                            }
+                          (Ident
+                             SrcSpanInfo
+                               { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 12 20 12 24
+                               , srcInfoPoints = []
+                               }
+                             "True")))
+                    [ Alt
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 44
+                          , srcInfoPoints = []
+                          }
+                        (PApp
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 21
+                             , srcInfoPoints = []
+                             }
+                           (UnQual
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 21
+                                , srcInfoPoints = []
+                                }
+                              (Ident
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 17 13 21
+                                   , srcInfoPoints = []
+                                   }
+                                 "True"))
+                           [])
+                        (UnGuardedRhs
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 22 13 44
+                             , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 13 22 13 24 ]
+                             }
+                           (Lambda
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 25 13 44
+                                , srcInfoPoints =
+                                    [ SrcSpan "tests/examples/Vta2.hs" 13 25 13 26
+                                    , SrcSpan "tests/examples/Vta2.hs" 13 28 13 30
+                                    ]
+                                }
+                              [ PVar
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 26 13 27
+                                    , srcInfoPoints = []
+                                    }
+                                  (Ident
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 26 13 27
+                                       , srcInfoPoints = []
+                                       }
+                                     "f")
+                              ]
+                              (Tuple
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 31 13 44
+                                   , srcInfoPoints =
+                                       [ SrcSpan "tests/examples/Vta2.hs" 13 31 13 32
+                                       , SrcSpan "tests/examples/Vta2.hs" 13 38 13 39
+                                       , SrcSpan "tests/examples/Vta2.hs" 13 43 13 44
+                                       ]
+                                   }
+                                 Boxed
+                                 [ App
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 32 13 38
+                                       , srcInfoPoints = []
+                                       }
+                                     (Var
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta2.hs" 13 32 13 33
+                                          , srcInfoPoints = []
+                                          }
+                                        (UnQual
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta2.hs" 13 32 13 33
+                                             , srcInfoPoints = []
+                                             }
+                                           (Ident
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan "tests/examples/Vta2.hs" 13 32 13 33
+                                                , srcInfoPoints = []
+                                                }
+                                              "f")))
+                                     (Con
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta2.hs" 13 34 13 38
+                                          , srcInfoPoints = []
+                                          }
+                                        (UnQual
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta2.hs" 13 34 13 38
+                                             , srcInfoPoints = []
+                                             }
+                                           (Ident
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan "tests/examples/Vta2.hs" 13 34 13 38
+                                                , srcInfoPoints = []
+                                                }
+                                              "True")))
+                                 , App
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 13 40 13 43
+                                       , srcInfoPoints = []
+                                       }
+                                     (Var
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta2.hs" 13 40 13 41
+                                          , srcInfoPoints = []
+                                          }
+                                        (UnQual
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta2.hs" 13 40 13 41
+                                             , srcInfoPoints = []
+                                             }
+                                           (Ident
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan "tests/examples/Vta2.hs" 13 40 13 41
+                                                , srcInfoPoints = []
+                                                }
+                                              "f")))
+                                     (Lit
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta2.hs" 13 42 13 43
+                                          , srcInfoPoints = []
+                                          }
+                                        (Int
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta2.hs" 13 42 13 43
+                                             , srcInfoPoints = []
+                                             }
+                                           5
+                                           "5"))
+                                 ])))
+                        Nothing
+                    , Alt
+                        SrcSpanInfo
+                          { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 51
+                          , srcInfoPoints = []
+                          }
+                        (PApp
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 22
+                             , srcInfoPoints = []
+                             }
+                           (UnQual
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 22
+                                , srcInfoPoints = []
+                                }
+                              (Ident
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 17 14 22
+                                   , srcInfoPoints = []
+                                   }
+                                 "False"))
+                           [])
+                        (UnGuardedRhs
+                           SrcSpanInfo
+                             { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 23 14 51
+                             , srcInfoPoints = [ SrcSpan "tests/examples/Vta2.hs" 14 23 14 25 ]
+                             }
+                           (Lambda
+                              SrcSpanInfo
+                                { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 26 14 51
+                                , srcInfoPoints =
+                                    [ SrcSpan "tests/examples/Vta2.hs" 14 26 14 27
+                                    , SrcSpan "tests/examples/Vta2.hs" 14 29 14 31
+                                    ]
+                                }
+                              [ PVar
+                                  SrcSpanInfo
+                                    { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 27 14 28
+                                    , srcInfoPoints = []
+                                    }
+                                  (Ident
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 27 14 28
+                                       , srcInfoPoints = []
+                                       }
+                                     "f")
+                              ]
+                              (Tuple
+                                 SrcSpanInfo
+                                   { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 32 14 51
+                                   , srcInfoPoints =
+                                       [ SrcSpan "tests/examples/Vta2.hs" 14 32 14 33
+                                       , SrcSpan "tests/examples/Vta2.hs" 14 40 14 41
+                                       , SrcSpan "tests/examples/Vta2.hs" 14 50 14 51
+                                       ]
+                                   }
+                                 Boxed
+                                 [ App
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 33 14 40
+                                       , srcInfoPoints = []
+                                       }
+                                     (Var
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta2.hs" 14 33 14 34
+                                          , srcInfoPoints = []
+                                          }
+                                        (UnQual
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta2.hs" 14 33 14 34
+                                             , srcInfoPoints = []
+                                             }
+                                           (Ident
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan "tests/examples/Vta2.hs" 14 33 14 34
+                                                , srcInfoPoints = []
+                                                }
+                                              "f")))
+                                     (Con
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta2.hs" 14 35 14 40
+                                          , srcInfoPoints = []
+                                          }
+                                        (UnQual
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta2.hs" 14 35 14 40
+                                             , srcInfoPoints = []
+                                             }
+                                           (Ident
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan "tests/examples/Vta2.hs" 14 35 14 40
+                                                , srcInfoPoints = []
+                                                }
+                                              "False")))
+                                 , App
+                                     SrcSpanInfo
+                                       { srcInfoSpan = SrcSpan "tests/examples/Vta2.hs" 14 42 14 50
+                                       , srcInfoPoints = []
+                                       }
+                                     (App
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta2.hs" 14 42 14 48
+                                          , srcInfoPoints = []
+                                          }
+                                        (Var
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta2.hs" 14 42 14 43
+                                             , srcInfoPoints = []
+                                             }
+                                           (UnQual
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan "tests/examples/Vta2.hs" 14 42 14 43
+                                                , srcInfoPoints = []
+                                                }
+                                              (Ident
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan "tests/examples/Vta2.hs" 14 42 14 43
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 "f")))
+                                        (TypeApp
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta2.hs" 14 44 14 48
+                                             , srcInfoPoints =
+                                                 [ SrcSpan "tests/examples/Vta2.hs" 14 44 14 45 ]
+                                             }
+                                           (TyCon
+                                              SrcSpanInfo
+                                                { srcInfoSpan =
+                                                    SrcSpan "tests/examples/Vta2.hs" 14 45 14 48
+                                                , srcInfoPoints = []
+                                                }
+                                              (UnQual
+                                                 SrcSpanInfo
+                                                   { srcInfoSpan =
+                                                       SrcSpan "tests/examples/Vta2.hs" 14 45 14 48
+                                                   , srcInfoPoints = []
+                                                   }
+                                                 (Ident
+                                                    SrcSpanInfo
+                                                      { srcInfoSpan =
+                                                          SrcSpan
+                                                            "tests/examples/Vta2.hs" 14 45 14 48
+                                                      , srcInfoPoints = []
+                                                      }
+                                                    "Int")))))
+                                     (Lit
+                                        SrcSpanInfo
+                                          { srcInfoSpan =
+                                              SrcSpan "tests/examples/Vta2.hs" 14 49 14 50
+                                          , srcInfoPoints = []
+                                          }
+                                        (Int
+                                           SrcSpanInfo
+                                             { srcInfoSpan =
+                                                 SrcSpan "tests/examples/Vta2.hs" 14 49 14 50
+                                             , srcInfoPoints = []
+                                             }
+                                           3
+                                           "3"))
+                                 ])))
+                        Nothing
+                    ]))
+              Nothing
+          ]
+      ]
+  , []
+  )
diff --git a/tests/examples/Vta2.hs.prettyparser.golden b/tests/examples/Vta2.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Vta2.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/Vta2.hs.prettyprinter.golden b/tests/examples/Vta2.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/Vta2.hs.prettyprinter.golden
@@ -0,0 +1,12 @@
+{-# LANGUAGE RankNTypes, TypeApplications #-}
+module Vta2 where
+
+checkIf :: Bool -> (forall a . a -> a) -> (Bool, Int)
+checkIf _
+  = if True then \ f -> (f True, f 5) else \ f -> (f False, f @Int 3)
+
+checkCase :: Bool -> (forall a . a -> a) -> (Bool, Int)
+checkCase _
+  = case True of
+        True -> \ f -> (f True, f 5)
+        False -> \ f -> (f False, f @Int 3)
diff --git a/tests/examples/WhereBlock.hs.prettyprinter.golden b/tests/examples/WhereBlock.hs.prettyprinter.golden
--- a/tests/examples/WhereBlock.hs.prettyprinter.golden
+++ b/tests/examples/WhereBlock.hs.prettyprinter.golden
@@ -1,4 +1,3 @@
-module Main (main) where
 hash ptr len = f len
   where f h = return h
         f p = (p `advancePtr` 1)
diff --git a/tests/examples/WildcardTyFam.hs b/tests/examples/WildcardTyFam.hs
new file mode 100644
--- /dev/null
+++ b/tests/examples/WildcardTyFam.hs
@@ -0,0 +1,4 @@
+{-# LANGUAGE TypeFamilies #-}
+
+type family Foo a where
+  Foo _ = Int
diff --git a/tests/examples/WildcardTyFam.hs.exactprinter.golden b/tests/examples/WildcardTyFam.hs.exactprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/WildcardTyFam.hs.exactprinter.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/WildcardTyFam.hs.parser.golden b/tests/examples/WildcardTyFam.hs.parser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/WildcardTyFam.hs.parser.golden
@@ -0,0 +1,122 @@
+ParseOk
+  ( Module
+      SrcSpanInfo
+        { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 5 1
+        , srcInfoPoints =
+            [ SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 1 1
+            , SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 1
+            , SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 1
+            , SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 1
+            , SrcSpan "tests/examples/WildcardTyFam.hs" 5 1 5 1
+            , SrcSpan "tests/examples/WildcardTyFam.hs" 5 1 5 1
+            ]
+        }
+      Nothing
+      [ LanguagePragma
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 1 30
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/WildcardTyFam.hs" 1 1 1 13
+                , SrcSpan "tests/examples/WildcardTyFam.hs" 1 27 1 30
+                ]
+            }
+          [ Ident
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 1 14 1 26
+                , srcInfoPoints = []
+                }
+              "TypeFamilies"
+          ]
+      ]
+      []
+      [ ClosedTypeFamDecl
+          SrcSpanInfo
+            { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 18
+            , srcInfoPoints =
+                [ SrcSpan "tests/examples/WildcardTyFam.hs" 3 1 3 5
+                , SrcSpan "tests/examples/WildcardTyFam.hs" 3 6 3 12
+                , SrcSpan "tests/examples/WildcardTyFam.hs" 3 19 3 24
+                ]
+            }
+          (DHApp
+             SrcSpanInfo
+               { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 13 3 18
+               , srcInfoPoints = []
+               }
+             (DHead
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 13 3 16
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 13 3 16
+                     , srcInfoPoints = []
+                     }
+                   "Foo"))
+             (UnkindedVar
+                SrcSpanInfo
+                  { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 17 3 18
+                  , srcInfoPoints = []
+                  }
+                (Ident
+                   SrcSpanInfo
+                     { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 3 17 3 18
+                     , srcInfoPoints = []
+                     }
+                   "a")))
+          Nothing
+          Nothing
+          [ TypeEqn
+              SrcSpanInfo
+                { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 14
+                , srcInfoPoints =
+                    [ SrcSpan "tests/examples/WildcardTyFam.hs" 4 9 4 10 ]
+                }
+              (TyApp
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 8
+                   , srcInfoPoints = []
+                   }
+                 (TyCon
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 6
+                      , srcInfoPoints = []
+                      }
+                    (UnQual
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 6
+                         , srcInfoPoints = []
+                         }
+                       (Ident
+                          SrcSpanInfo
+                            { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 3 4 6
+                            , srcInfoPoints = []
+                            }
+                          "Foo")))
+                 (TyWildCard
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 7 4 8
+                      , srcInfoPoints = []
+                      }
+                    Nothing))
+              (TyCon
+                 SrcSpanInfo
+                   { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 11 4 14
+                   , srcInfoPoints = []
+                   }
+                 (UnQual
+                    SrcSpanInfo
+                      { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 11 4 14
+                      , srcInfoPoints = []
+                      }
+                    (Ident
+                       SrcSpanInfo
+                         { srcInfoSpan = SrcSpan "tests/examples/WildcardTyFam.hs" 4 11 4 14
+                         , srcInfoPoints = []
+                         }
+                       "Int")))
+          ]
+      ]
+  , []
+  )
diff --git a/tests/examples/WildcardTyFam.hs.prettyparser.golden b/tests/examples/WildcardTyFam.hs.prettyparser.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/WildcardTyFam.hs.prettyparser.golden
@@ -0,0 +1,1 @@
+Match
diff --git a/tests/examples/WildcardTyFam.hs.prettyprinter.golden b/tests/examples/WildcardTyFam.hs.prettyprinter.golden
new file mode 100644
--- /dev/null
+++ b/tests/examples/WildcardTyFam.hs.prettyprinter.golden
@@ -0,0 +1,4 @@
+{-# LANGUAGE TypeFamilies #-}
+
+type family Foo a where
+        Foo _ = Int
