diff --git a/Codec/TPTP/Base.hs b/Codec/TPTP/Base.hs
--- a/Codec/TPTP/Base.hs
+++ b/Codec/TPTP/Base.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE CPP, NoMonomorphismRestriction
-  , StandaloneDeriving 
+  , StandaloneDeriving
   , TypeSynonymInstances, FlexibleInstances, FlexibleContexts
   , UndecidableInstances, DeriveDataTypeable, GeneralizedNewtypeDeriving
   , OverlappingInstances, ScopedTypeVariables
@@ -15,7 +15,7 @@
 #define MIN_VERSION_base(a,b,c) 1
 #endif
 -- Assume we are using the newest versions when using ghci without cabal
-    
+
 import Codec.TPTP.QuickCheck
 import Control.Applicative
 import Control.Monad.Identity
@@ -36,8 +36,11 @@
 #if !MIN_VERSION_base(4,7,0)
 import Util
 #endif
-    
+
+#if !MIN_VERSION_base(4,8,0)
 deriving instance Data a => Data (Identity a)
+#endif
+
 #if MIN_VERSION_base(4,7,0)
 deriving instance Typeable Identity
 #else
@@ -45,10 +48,10 @@
 #endif
 
 -- * Basic undecorated formulae and terms
-                   
--- | Basic (undecorated) first-order formulae                   
+
+-- | Basic (undecorated) first-order formulae
 type Formula = F Identity
-    
+
 -- | Basic (undecorated) terms
 type Term = T Identity
 
@@ -56,7 +59,7 @@
 
 -- | First-order formulae decorated with state
 type FormulaST s = F (State s)
-    
+
 -- | Terms decorated with state
 type TermST s = T (State s)
 
@@ -92,111 +95,111 @@
 --
 -- @\(\.\<\=\>\.\) :: 'Formula' -> 'Formula' -> 'Formula'@
 (.<=>.) :: Pointed c => (F c) -> (F c) -> F c
-x .<=>. y = (F . point) $ BinOp  x (:<=>:) y  
-  
-            
+x .<=>. y = (F . point) $ BinOp  x (:<=>:) y
+
+
 -- | Implication
 (.=>.) :: Pointed c => (F c) -> (F c) -> F c
-x .=>.  y = (F . point) $ BinOp  x (:=>:)  y  
-            
+x .=>.  y = (F . point) $ BinOp  x (:=>:)  y
+
 -- | Reverse implication
 (.<=.) :: Pointed c => (F c) -> (F c) -> F c
-x .<=.  y = (F . point) $ BinOp  x (:<=:)  y  
-            
+x .<=.  y = (F . point) $ BinOp  x (:<=:)  y
+
 -- | Disjunction/OR
 (.|.) :: Pointed c => (F c) -> (F c) -> F c
-x .|.   y = (F . point) $ BinOp  x (:|:)   y  
-            
+x .|.   y = (F . point) $ BinOp  x (:|:)   y
+
 -- | Conjunction/AND
 (.&.) :: Pointed c => (F c) -> (F c) -> F c
-x .&.   y = (F . point) $ BinOp  x (:&:)   y  
-            
+x .&.   y = (F . point) $ BinOp  x (:&:)   y
+
 -- | XOR
 (.<~>.) :: Pointed c => (F c) -> (F c) -> F c
-x .<~>. y = (F . point) $ BinOp  x (:<~>:) y  
-            
+x .<~>. y = (F . point) $ BinOp  x (:<~>:) y
+
 -- | NOR
 (.~|.) :: Pointed c => (F c) -> (F c) -> F c
-x .~|.  y = (F . point) $ BinOp  x (:~|:)  y  
-            
-            
-            
+x .~|.  y = (F . point) $ BinOp  x (:~|:)  y
+
+
+
 -- | NAND
 (.~&.) :: Pointed c => (F c) -> (F c) -> F c
-x .~&.  y = (F . point) $ BinOp  x (:~&:)  y  
-            
-            
+x .~&.  y = (F . point) $ BinOp  x (:~&:)  y
+
+
 -- | Negation
 (.~.) :: Pointed c => (F c) -> F c
 (.~.) x = (F . point) $ (:~:) x
-          
+
 -- | Equality
 (.=.) :: Pointed c => (T c) -> (T c) -> F c
-x .=. y   = (F . point) $ InfixPred x (:=:)   y 
-            
+x .=. y   = (F . point) $ InfixPred x (:=:)   y
+
 -- | Inequality
 (.!=.) :: Pointed c => (T c) -> (T c) -> F c
-x .!=. y  = (F . point) $ InfixPred x (:!=:) y 
-            
+x .!=. y  = (F . point) $ InfixPred x (:!=:) y
+
 -- | Universal quantification
 for_all :: Pointed c => [V] -> (F c) -> F c
 for_all vars x = (F . point) $ Quant All vars x
-                 
+
 -- | Existential quantification
 exists :: Pointed c => [V] -> (F c) -> F c
 exists vars x = (F . point) $ Quant Exists vars x
-                
+
 -- | Predicate symbol application
 pApp :: Pointed c => AtomicWord -> [T c] -> F c
 pApp x args = (F . point) $ PredApp x args
-              
+
 -- | Variable
 var :: Pointed c => V -> T c
 var = (T . point) . Var
-      
+
 -- | Function symbol application (constants are encoded as nullary functions)
 fApp :: Pointed c => AtomicWord -> [T c] -> T c
 fApp x args = (T . point) $ FunApp x args
-              
+
 -- | Number literal
 numberLitTerm :: Pointed c => Rational -> T c
 numberLitTerm = (T . point) . NumberLitTerm
-                
--- | Double-quoted string literal, called /Distinct Object/ in TPTP's grammar 
+
+-- | Double-quoted string literal, called /Distinct Object/ in TPTP's grammar
 distinctObjectTerm :: Pointed c => String -> T c
 distinctObjectTerm = (T . point) . DistinctObjectTerm
-                     
+
 infixl 2  .<=>. ,  .=>. ,  .<=. ,  .<~>.
 infixl 3  .|. ,  .~|.
 infixl 4  .&. ,  .~&.
 infixl 5  .=. ,  .!=.
 
 -- * General decorated formulae and terms
-    
+
 -- | See <http://haskell.org/haskellwiki/Indirect_composite> for the point of the type parameters (they allow for future decorations, e.g. monadic subformulae). If you don't need decorations, you can just use 'Formula' and the wrapped constructors above.
-data Formula0 term formula = 
+data Formula0 term formula =
               BinOp formula BinOp formula -- ^ Binary connective application
             | InfixPred term InfixPred term -- ^ Infix predicate application (equalities, inequalities)
             | PredApp AtomicWord [term] -- ^ Predicate application
             | Quant Quant [V] formula -- ^ Quantified formula
             | (:~:) formula -- ^ Negation
               deriving (Eq,Ord,Show,Read,Data,Typeable)
-                       
-                       
+
+
 -- | See <http://haskell.org/haskellwiki/Indirect_composite> for the point of the type parameters (they allow for future decorations). If you don't need decorations, you can just use 'Term' and the wrapped constructors above.
 data Term0 term =
             Var V -- ^ Variable
           | NumberLitTerm Rational -- ^ Number literal
           | DistinctObjectTerm String -- ^ Double-quoted item
-          | FunApp AtomicWord [term] -- ^ Function symbol application (constants are encoded as nullary functions) 
+          | FunApp AtomicWord [term] -- ^ Function symbol application (constants are encoded as nullary functions)
             deriving (Eq,Ord,Show,Read,Data,Typeable)
-                     
 
-    
-    
 
 
--- | Binary formula connectives 
+
+
+
+-- | Binary formula connectives
 data BinOp =
     -- Please don't change the constructor names (the Show instance is significant)
                (:<=>:)  -- ^ Equivalence
@@ -212,25 +215,25 @@
 -- | /Term -> Term -> Formula/ infix connectives
 data InfixPred =
     -- Please don't change the constructor names (the Show instance is significant)
-    (:=:) | (:!=:)         
+    (:=:) | (:!=:)
             deriving (Eq,Ord,Show,Read,Data,Typeable,Enum,Bounded)
-                       
+
 -- | Quantifier specification
 data Quant = All | Exists
               deriving (Eq,Ord,Show,Read,Data,Typeable,Enum,Bounded)
-                     
+
 -- * Formula Metadata
-    
+
 -- | A line of a TPTP file: Annotated formula, comment or include statement.
 type TPTP_Input = TPTP_Input_ Identity
 {-
     -- | Annotated formulae
     AFormula {
-      name :: AtomicWord 
-    , role :: Role 
-    , formula :: Formula 
-    , annotations :: Annotations 
-    }    
+      name :: AtomicWord
+    , role :: Role
+    , formula :: Formula
+    , annotations :: Annotations
+    }
     | Comment String
     | Include FilePath [AtomicWord]
 
@@ -247,18 +250,18 @@
 forgetTIC (Include p aws) = Include p aws
 
 -- | Generalized TPTP_Input
-data TPTP_Input_ c = 
+data TPTP_Input_ c =
    -- | Annotated formulae
    AFormula {
-     name :: AtomicWord 
-   , role :: Role 
+     name :: AtomicWord
+   , role :: Role
    , formula :: F c
-   , annotations :: Annotations 
-   }    
+   , annotations :: Annotations
+   }
    | Comment String
    | Include FilePath [AtomicWord]
 
-            
+
 deriving instance Eq (c (Formula0 (T c) (F c))) => Eq (TPTP_Input_ c)
 deriving instance Ord (c (Formula0 (T c) (F c))) => Ord (TPTP_Input_ c)
 deriving instance Show (c (Formula0 (T c) (F c))) => Show (TPTP_Input_ c)
@@ -274,14 +277,14 @@
   typeOf = mkTypeOfForRank2Kind "Codec.TPTP.Base" "TPTP_Input_"
 #endif
 
--- | Annotations about the formulas origin                   
+-- | Annotations about the formulas origin
 data Annotations = NoAnnotations | Annotations GTerm UsefulInfo
                   deriving (Eq,Ord,Show,Read,Data,Typeable)
-              
+
 -- | Misc annotations
 data UsefulInfo = NoUsefulInfo | UsefulInfo [GTerm]
                   deriving (Eq,Ord,Show,Read,Data,Typeable)
-                           
+
 -- | Formula roles
 newtype Role = Role { unrole :: String }
             deriving (Eq,Ord,Show,Read,Data,Typeable)
@@ -293,18 +296,18 @@
                  | GVar V
                  | GNumber Rational
                  | GDistinctObject String
-                 | GFormulaData String Formula 
+                 | GFormulaData String Formula
                    deriving (Eq,Ord,Show,Read,Data,Typeable)
-        
+
 -- | Metadata (the /general_term/ rule in TPTP's grammar)
-data GTerm = ColonSep GData GTerm                   
+data GTerm = ColonSep GData GTerm
            | GTerm GData
            | GList [GTerm]
              deriving (Eq,Ord,Show,Read,Data,Typeable)
-                     
 
-                   
 
+
+
 -- * Gathering free Variables
 
 -- class FormulaOrTerm c a where
@@ -312,25 +315,25 @@
 
 -- instance FormulaOrTerm Identity Formula where
 --     elimFormulaOrTerm k _ x = k x
-                              
+
 -- instance FormulaOrTerm Identity Term where
 --     elimFormulaOrTerm _ k x = k x
-                              
+
 class FreeVars a where
     -- | Obtain the free variables from a formula or term
     freeVars :: a -> Set V
 
 -- | Universally quantify all free variables in the formula
 univquant_free_vars :: Formula -> Formula
-univquant_free_vars cnf = 
+univquant_free_vars cnf =
     case S.toList (freeVars cnf) of
       [] -> cnf
       vars -> for_all vars cnf
-             
+
 instance FreeVars Formula where
-    freeVars = foldF 
-               freeVars   
-               (\_ vars x -> S.difference (freeVars x) (S.fromList vars))                    
+    freeVars = foldF
+               freeVars
+               (\_ vars x -> S.difference (freeVars x) (S.fromList vars))
                (\x _ y -> (mappend `on` freeVars) x y)
                (\x _ y -> (mappend `on` freeVars) x y)
                (\_ args -> S.unions (fmap freeVars args))
@@ -346,21 +349,21 @@
 --- Have the Arbitrary instances in this module to avoid orphan instances
 
 instance Arbitrary TPTP_Input
-    where arbitrary = frequency [(10,       
-                                    do 
+    where arbitrary = frequency [(10,
+                                    do
                                       x1 <- AtomicWord <$> arbLowerWord
                                       x2 <- arbitrary
                                       x3 <- arbitrary
                                       x4 <- arbitrary
                                       return (AFormula x1 x2 x3 x4))
-                                         
+
                                   , (1,
-                                    do 
+                                    do
                                       x1 <- arbPrintable
                                       return (Comment ("% "++x1))
                                   )
 
-                                  , (1, Include `fmap` arbLowerWord `ap` 
+                                  , (1, Include `fmap` arbLowerWord `ap`
                                          listOf arbitrary)
                                 ]
 
@@ -375,60 +378,60 @@
                               return NoAnnotations
                             , Annotations `fmap` arbitrary `ap` arbitrary
                       ]
-                      
+
 instance Arbitrary UsefulInfo
     where arbitrary = oneof [
                               return NoUsefulInfo
-                             , do 
+                             , do
                                 x1 <- arbitrary
                                 return (UsefulInfo x1)
                       ]
-          
+
 instance Arbitrary Role
     where arbitrary = Role `fmap` arbLowerWord
-               
-               
+
+
 instance (Arbitrary a, Arbitrary b) => Arbitrary (Formula0 a b)
 
-    
+
     where arbitrary = sized go
 
            where
             go 0 = flip PredApp [] `fmap` arbitrary
-                   
-            go i =  
+
+            go i =
                 oneof [ do
                                   ileft <- choose (0,i-1)
                                   x1 <- resize ileft arbitrary
                                   x2 <- arbitrary
-                                  x3 <- resize (i - 1 - ileft) arbitrary 
+                                  x3 <- resize (i - 1 - ileft) arbitrary
                                   return (BinOp x1 x2 x3)
-                                         
-                      , do 
+
+                      , do
                                   x1 <- arbitrary
                                   x2 <- arbitrary
                                   x3 <- arbitrary
                                   return (InfixPred x1 x2 x3)
-                                         
+
                       , do
                                   x1 <- arbitrary
                                   x2 <- argsFreq vector
                                   return (PredApp x1 x2)
-                                            
+
                       , do
                                x1 <- arbitrary
                                x2 <- liftM2 (:) arbitrary (argsFreq (\nargs -> vectorOf nargs arbitrary))
                                x3 <- resize (i-1) arbitrary
                                return (Quant x1 x2 x3)
-                                           
+
                       , do
                                   x1 <- resize (i-1) arbitrary
                                   return ((:~:) x1)
                       ]
-                                          
+
 instance Arbitrary BinOp
     where arbitrary = elements
-                     
+
                              [ (:<=>:)
                              , (:=>:)
                              , (:<=:)
@@ -444,7 +447,7 @@
 
 instance Arbitrary Quant
     where arbitrary = elements [All,Exists]
-                      
+
 instance Arbitrary a => Arbitrary (Term0 a)
     where arbitrary = sized go
            where
@@ -453,25 +456,25 @@
             go 0 = frequency [ (2,Var <$> arbitrary), (1,FunApp `fmap` arbitrary `ap` return[] ) ]
 
             go i = oneof [
-                             do 
+                             do
                               x1 <- arbitrary
                               return (Var x1)
-                                     
-                           , arbNum NumberLitTerm 
-                             
-                                     
-                           , do 
+
+                           , arbNum NumberLitTerm
+
+
+                           , do
                               x1 <- arbPrintable
                               return (DistinctObjectTerm x1)
-                                     
-                           , do 
+
+                           , do
                               x1 <- arbitrary
-                              args <- argsFreq 
+                              args <- argsFreq
                                 (\nargs -> do
                                    parti <- arbPartition nargs (i-1)
                                    mapM (flip resize arbitrary) parti
                                 )
-                                                
+
                               return (FunApp x1 args)
                            ]
 
@@ -482,31 +485,31 @@
                        go 0 = oneof [ fmap GWord arbitrary
                                     , fmap GVar arbitrary
                                     ]
-                    
-                       go i = 
-                           oneof 
+
+                       go i =
+                           oneof
                            [
                             GWord <$> arbitrary
-                                            
+
                            ,do
                               x1 <- arbLowerWord
-                              args <- argsFreq 
+                              args <- argsFreq
                                          (\nargs -> do
                                             parti <- arbPartition nargs (i-1)
                                             mapM (flip resize arbitrary) parti
                                          ) `suchThat` ((/=) [])
-                                          
+
                               return (GApp (AtomicWord x1) args)
-                                     
+
                            ,GVar <$> arbitrary
-                           ,arbNum GNumber 
-                                 
+                           ,arbNum GNumber
+
                            ,GDistinctObject <$> arbPrintable
                            ,GFormulaData `fmap` ((:) '$' `fmap` arbLowerWord) `ap` (sized (\n -> resize (n `div` 2) arbitrary))
                            ]
 
-                                 
-                                 
+
+
 instance Arbitrary GTerm
     where arbitrary = sized go
 
@@ -515,46 +518,46 @@
 
                 go i =
                     oneof [
-                            do  
+                            do
                                   ileft <- choose(0,i-1)
                                   x1 <- resize ileft arbitrary
                                   x2 <- resize (i-1-ileft) arbitrary
                                   return (ColonSep x1 x2)
-                                         
+
                           , do
                                   x1 <- arbitrary
                                   return (GTerm x1)
-                                            
+
                           , do
-                                  args <- argsFreq 
+                                  args <- argsFreq
                                            (\nargs -> do
                                               parti <- arbPartition nargs (i-1)
                                               mapM (flip resize arbitrary) parti
                                            ) `suchThat` (/= [])
-                              
+
                                   return (GList args)
                        ]
-                            
--- | TPTP constant symbol\/predicate symbol\/function symbol identifiers (they are output in single quotes unless they are /lower_word/s). 
--- 
--- Tip: Use the @-XOverloadedStrings@ compiler flag if you don't want to have to type /AtomicWord/ to construct an 'AtomicWord' 
+
+-- | TPTP constant symbol\/predicate symbol\/function symbol identifiers (they are output in single quotes unless they are /lower_word/s).
+--
+-- Tip: Use the @-XOverloadedStrings@ compiler flag if you don't want to have to type /AtomicWord/ to construct an 'AtomicWord'
 newtype AtomicWord = AtomicWord String
     deriving (Eq,Ord,Show,Data,Typeable,Read,Monoid,IsString)
-                                         
+
 instance Arbitrary AtomicWord where
     arbitrary = frequency [  (5, AtomicWord <$> arbLowerWord)
                             ,(1, AtomicWord <$> arbPrintable)
                           ]
-                
+
 -- | Variable names
 newtype V = V String
     deriving (Eq,Ord,Show,Data,Typeable,Read,Monoid,IsString)
-                                         
+
 instance Arbitrary V where
     arbitrary = V <$> arbVar
-        
+
 -- * Fixed-point style decorated formulae and terms
-             
+
 -- | Formulae whose subexpressions are wrapped in the given type constructor @c@.
 --
 -- For example:
@@ -563,19 +566,19 @@
 --
 -- - @c = 'Maybe'@: Formulae that may contain \"holes\"
 --
--- - @c = 'IORef'@: (Mutable) formulae with mutable subexpressions 
+-- - @c = 'IORef'@: (Mutable) formulae with mutable subexpressions
 newtype F c = F { runF :: c (Formula0 (T c) (F c)) }
-    
+
 -- | Terms whose subterms are wrapped in the given type constructor @c@
 newtype T c = T { runT :: c (Term0 (T c)) }
-             
+
 #define DI(X) deriving instance (X (c (Term0 (T c)))) => X (T c); deriving instance (X (c (Formula0 (T c) (F c)))) => X (F c)
-    
+
 DI(Eq)
 DI(Ord)
 DI(Show)
 DI(Read)
-  
+
 #if MIN_VERSION_base(4,7,0)
 deriving instance Typeable F
 deriving instance Typeable T
@@ -585,14 +588,14 @@
 #else
 instance Typeable1 c => Typeable (F c) where
     typeOf = mkTypeOfForRank2Kind "Codec.TPTP.Base" "F"
-    
+
 instance Typeable1 c => Typeable (T c) where
     typeOf = mkTypeOfForRank2Kind "Codec.TPTP.Base" "T"
 
 deriving instance (Typeable1 c, Data (c (Term0 (T c)))) => Data (T c)
 deriving instance (Typeable1 c, Data (c (Formula0 (T c) (F c)))) => Data (F c)
 #endif
-  
+
 -- * Utility functions
 
 unwrapF ::
@@ -619,7 +622,7 @@
       BinOp x y z -> kbinop x y z
       InfixPred x y z -> kinfix x y z
       PredApp x y -> kpredapp x y
-                      
+
 foldTerm0 ::
                (String -> r)
              -> (Rational -> r)
@@ -644,7 +647,7 @@
          -> (T t -> InfixPred -> T t -> r) -- ^ Handle equality/inequality
          -> (AtomicWord -> [T t] -> r) -- ^ Handle predicate symbol application
          -> (F t -> r) -- ^ Handle formula
-         
+
 foldF kneg kquant kbinop kinfix kpredapp f = foldFormula0 kneg kquant kbinop kinfix kpredapp (unwrapF f)
 
 -- | Eliminate terms
diff --git a/Codec/TPTP/Diff.hs b/Codec/TPTP/Diff.hs
--- a/Codec/TPTP/Diff.hs
+++ b/Codec/TPTP/Diff.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE NoMonomorphismRestriction, RecordWildCards
+{-# LANGUAGE CPP, NoMonomorphismRestriction, RecordWildCards
   , StandaloneDeriving, MultiParamTypeClasses, FunctionalDependencies
   , TypeSynonymInstances, FlexibleInstances, FlexibleContexts
   , UndecidableInstances, DeriveDataTypeable, GeneralizedNewtypeDeriving
@@ -7,132 +7,136 @@
 {-# OPTIONS -Wall #-}
 
 module Codec.TPTP.Diff(Diffable(..),DiffResult(..),T0Diff,F0Diff,isSame,diffGenF,diffGenT,printSampleDiffs) where
-    
-    
+
+
 -- Warning: This module is a MESS (but it seems to work :)).
-    
+
+#if MIN_VERSION_base(4,8,0)
+import Prelude hiding ((<$>))
+#endif
+
 import Data.Generics
 import Test.QuickCheck hiding((.&.))
 import Codec.TPTP.Base
 import Codec.TPTP.Pretty
 import Text.PrettyPrint.ANSI.Leijen
 import Control.Monad.Identity
-    
-    
-    
 
-data DiffResult d = 
-          Same -- ^ Both arguments are the same. 
-        | SameHead d -- ^ The arguments are recursive expressions of the same form, but their subterms differ. Return a \"decorated\" term that shows where the differences are 
+
+
+
+data DiffResult d =
+          Same -- ^ Both arguments are the same.
+        | SameHead d -- ^ The arguments are recursive expressions of the same form, but their subterms differ. Return a \"decorated\" term that shows where the differences are
         | Differ d d -- ^ The arguments differ and are not of similar form (don't recurse)
         | DontCare
     deriving (Eq,Ord,Show,Data,Typeable,Read)
-                  
+
 isSame :: forall t. DiffResult t -> Bool
 isSame Same = True
 isSame _ = False
-             
+
 -- | Abstraction for diff'ing [predicate symbol|function symbol|gdata] applications
 -- Suggestive variable names for the case of function symbol applications
-handleAppExpr :: (Eq str) => 
-                (term -> term -> termfix DiffResult) -- ^ the diff function 
-                
-              -> (DiffResult a -> termfix DiffResult) -- ^ newtype wrapper 
+handleAppExpr :: (Eq str) =>
+                (term -> term -> termfix DiffResult) -- ^ the diff function
+
+              -> (DiffResult a -> termfix DiffResult) -- ^ newtype wrapper
               -> (termfix DiffResult -> DiffResult a) -- ^ newtype unwrapper
-                
+
               -> (str -> [termfix DiffResult] -> b) -- ^ Application expression constructor
-                
+
               -> str -- ^ First funsym
               -> [term] -- ^ First args
-                
+
               -> str -- ^ Second funsum
               -> [term] -- ^ Second args
-                
+
               -> DiffResult b
 handleAppExpr recFun newtypewrapper newtypeunwrapper constr x1 args1 x2 args2 =
                  -- recurse if heads and arities agree
                  case (x1==x2 && length args1 == length args2) of
-                   True -> 
+                   True ->
                        let
                            rec' = zipWith recFun args1 args2
                        in
                          case all (isSame . newtypeunwrapper) rec' of
                            True -> Same
-                           False -> SameHead (constr x1 rec') 
-                                  
-                   False -> 
+                           False -> SameHead (constr x1 rec')
+
+                   False ->
                        Differ (constr x1 (fmap (const . newtypewrapper $ DontCare) args1))
                               (constr x2 (fmap (const . newtypewrapper $ DontCare) args2))
-                              
-handleBinExpr :: 
+
+handleBinExpr ::
                  (Eq op) =>
                  (term -> term -> termfix DiffResult)
-                 
+
                  -> (DiffResult a -> termfix DiffResult) -- ^ NT wrapper
                  -> (termfix DiffResult -> DiffResult a) -- ^ NT unwrapepr
-                   
+
                  -> (termfix DiffResult -> op -> termfix DiffResult -> b) -- ^ constructor
-                   
+
                  -> term
                  -> op
                  -> term
-                   
+
                  -> term
                  -> op
                  -> term
-                   
+
                  -> DiffResult b
 handleBinExpr recFun newtypewrapper newtypeunwrapper constr l1 op1 r1 l2 op2 r2 =
     case op1==op2 of
-      True -> 
-          let 
+      True ->
+          let
               recl = recFun l1 l2
               recr = recFun r1 r2
           in
             case (newtypeunwrapper recl,newtypeunwrapper recr) of
               (Same,Same) -> Same
               (_,_)       -> SameHead (constr recl op1 recr)
-                            
+
       False ->
-          let dc = newtypewrapper DontCare 
-                   
+          let dc = newtypewrapper DontCare
+
           in Differ (constr dc op1 dc)
                     (constr dc op2 dc)
-                         
-handleUnary :: 
+
+handleUnary ::
                  (term -> term -> termfix DiffResult)
-                 
+
                  -> (DiffResult a -> termfix DiffResult) -- ^ NT wrapper
                  -> (termfix DiffResult -> DiffResult a) -- ^ NT unwrapepr
-                   
+
                  -> (termfix DiffResult -> b) -- ^ constructor
-                   
+
                  -> term
-                   
+
                  -> term
-                   
+
                  -> DiffResult b
-                   
+
 handleUnary recFun _ newtypeunwrapper constr r1 r2 =
-          let 
+          let
               rec' = recFun r1 r2
           in
             case newtypeunwrapper rec' of
               Same -> Same
               _    -> SameHead (constr rec')
-                            
 
-                 
-handleLeaf :: 
+
+
+handleLeaf ::
               (Eq a) =>
               (a -> d) -> a -> a -> DiffResult d
-handleLeaf constr x1 x2 = 
-    if x1==x2 
-    then Same 
+handleLeaf constr x1 x2 =
+    if x1==x2
+    then Same
     else Differ (constr x1) (constr x2)
-                   
-                   
-             
+
+
+
 -- runDiffTerm :: Term
 --                -> Term
 --                -> DiffResult (Term0 (T DiffResult))
@@ -141,19 +145,19 @@
 diffTerm :: Term -> Term -> T DiffResult
 diffTerm (T (Identity t1)) (T (Identity t2)) = T $
     case (t1,t2) of
-      (FunApp x1 args1,FunApp x2 args2) -> handleAppExpr diffTerm T runT FunApp x1 args1 x2 args2 
+      (FunApp x1 args1,FunApp x2 args2) -> handleAppExpr diffTerm T runT FunApp x1 args1 x2 args2
       (Var x1,Var x2) -> handleLeaf Var x1 x2
       (DistinctObjectTerm x1, DistinctObjectTerm x2) -> handleLeaf DistinctObjectTerm x1 x2
       (NumberLitTerm x1, NumberLitTerm x2) -> handleLeaf NumberLitTerm x1 x2
       _ -> let plug=plugSubterms (T DontCare) in Differ (plug t1) (plug t2)
-          
+
 plugSubterms :: forall a a1. a -> Term0 a1 -> Term0 a
 plugSubterms p t = case t of
                             FunApp x1 args -> FunApp x1 (fmap (const p) args)
                             DistinctObjectTerm x1 -> DistinctObjectTerm x1
                             NumberLitTerm x1 -> NumberLitTerm x1
                             Var x1 -> Var x1
-                                     
+
 plugSubformulae :: forall a formula a1 t.
                    a -> formula -> Formula0 a1 t -> Formula0 a formula
 plugSubformulae pt pf f = case f of
@@ -162,33 +166,33 @@
                                BinOp _ b _ -> BinOp pf b pf
                                InfixPred _ b _ -> InfixPred pt b pt
                                (:~:) _ -> (:~:) pf
-                                                                  
-                                   
-          
+
+
+
 diffFormula :: Formula -> Formula -> F DiffResult
 diffFormula (F (Identity f1)) (F (Identity f2)) = F $
     case (f1,f2) of
       ( Quant q1 vars1 g1
-       ,Quant q2 vars2 g2) -> 
+       ,Quant q2 vars2 g2) ->
           case (q1==q2, vars1==vars2) of
-            (True,True) -> handleUnary diffFormula F runF (Quant q1 vars1) g1 g2   
-            _ -> Differ (Quant q1 vars1 (F DontCare)) 
-                       (Quant q2 vars2 (F DontCare)) 
-                           
+            (True,True) -> handleUnary diffFormula F runF (Quant q1 vars1) g1 g2
+            _ -> Differ (Quant q1 vars1 (F DontCare))
+                       (Quant q2 vars2 (F DontCare))
 
+
       ( BinOp l1 op1 r1
        ,BinOp l2 op2 r2 ) -> handleBinExpr diffFormula F runF BinOp l1 op1 r1 l2 op2 r2
-                                         
+
       ( InfixPred l1 op1 r1
        ,InfixPred l2 op2 r2 ) -> handleBinExpr diffTerm T runT InfixPred l1 op1 r1 l2 op2 r2
-                 
+
       ( (:~:) g1
        ,(:~:) g2 ) -> handleUnary diffFormula F runF (:~:) g1 g2
 
-      
+
       ( PredApp x1 args1
-       ,PredApp x2 args2 ) -> handleAppExpr diffTerm T runT PredApp x1 args1 x2 args2 
-                       
+       ,PredApp x2 args2 ) -> handleAppExpr diffTerm T runT PredApp x1 args1 x2 args2
+
       _ -> let plug=plugSubformulae (T DontCare) (F DontCare) in Differ (plug f1) (plug f2)
 
 
@@ -197,25 +201,25 @@
 
 instance Show (F DiffResult) where
     show (F f) = show f
-         
+
 type T0Diff = DiffResult (Term0 (T DiffResult))
 type F0Diff = DiffResult (Formula0 (T DiffResult) (F DiffResult))
-    
 
+
 wildcard :: AtomicWord
 wildcard = "_"
-                            
+
 instance Pretty (WithEnclosing T0Diff) where
     pretty = prettyHelper --(plugSubterms (fApp wildcard []))
- 
+
 instance Pretty (WithEnclosing F0Diff) where
     pretty = prettyHelper --(plugSubformulae (fApp wildcard []) (pApp wildcard []))
-       
+
 prettyHelper :: forall t.
                 (Pretty (WithEnclosing t)) =>
                 WithEnclosing (DiffResult t) -> Doc
-prettyHelper (WithEnclosing _ d) = 
-        let 
+prettyHelper (WithEnclosing _ d) =
+        let
             pwe = pretty . WithEnclosing EnclNothing
         in
           case d of
@@ -224,63 +228,63 @@
                  SameHead x -> blue . encloseSep (text "{ SameHead ") (text "}") semi $
                               [  pwe x
                               ]
-                                               
 
-                              
+
+
                  Differ x y -> red . encloseSep (text "{ Differ ") rbrace (text "; ") $
 
-                              [ pwe x 
+                              [ pwe x
                               , pwe y
                               ]
-                                                         
+
 deriving instance Pretty (T DiffResult)
 
 deriving instance Pretty (F DiffResult)
-         
+
 instance Pretty (WithEnclosing (T DiffResult)) where
-    pretty (WithEnclosing x (T y)) = pretty (WithEnclosing x y) 
-                                           
+    pretty (WithEnclosing x (T y)) = pretty (WithEnclosing x y)
+
 instance Pretty (WithEnclosing (F DiffResult)) where
-    pretty (WithEnclosing x (F y)) = pretty (WithEnclosing x y) 
-                                              
+    pretty (WithEnclosing x (F y)) = pretty (WithEnclosing x y)
+
 instance Pretty (T0Diff) where
     pretty = pretty . WithEnclosing EnclNothing
-    
+
 instance Pretty (F0Diff) where
     pretty = pretty . WithEnclosing EnclNothing
 
 -- instance Pretty (DiffResult (T DiffResult)) where
 --     pretty = pretty . WithEnclosing EnclNothing . T
-    
+
 -- instance Pretty (DiffResult (T DiffResult) (F DiffResult)) where
 --     pretty = pretty . WithEnclosing EnclNothing . F
-                                              
-                                  
+
+
 -- runFormulaDiff :: Formula
 --                   -> Formula
 --                   -> DiffResult
 --                        (Formula0 (T DiffResult) (F DiffResult))
 -- runFormulaDiff a b = runF (diffFormula a b)
-                     
+
 -- | Less random generator for generating formulae suitable for testing diff
 diffGenF :: Gen Formula
 diffGenF = sized go
             where
               go 0 = return $ pApp "Truth" []
-              go i = oneof 
+              go i = oneof
                   [
                    do
                      ileft <- choose (0,i-1)
                      liftM2 (.&.) (resize ileft diffGenF) (resize (i-1-ileft) diffGenF)
                   , let a=diffGenT in fmap (.=.) a `ap` a
                   ]
-           
+
 diffGenT :: Gen Term
 diffGenT = sized go
             where
               go 0 = elements[var "Z",fApp "1" []]
-                  
-              go i = oneof 
+
+              go i = oneof
                   [
                     let a=resize (i`div`3) diffGenT in fmap (fApp "g") (sequence [a,a,a])
                   , do
@@ -288,20 +292,20 @@
                      fmap (fApp "f") (sequence [resize ileft diffGenT,
                                                 resize (i-1-ileft) diffGenT])
                   ]
-             
-                     
+
+
 printSampleDiffs :: IO ()
 printSampleDiffs = do
   xs <- sample' diffGenF
   ys <- sample' diffGenF
 
-  let item x y = text (replicate 50 '=') 
+  let item x y = text (replicate 50 '=')
                  <$> pretty x
                  <$> text (replicate 40 '-')
                  <$> pretty y
                  <$> text (replicate 40 '-')
                  <$> pretty (diffFormula x y)
-  
+
   mapM_ (putStrLn . prettySimple . uncurry item) (zip xs ys)
 
 -- prop0 :: Formula -> Formula -> Property
@@ -311,10 +315,10 @@
 --                                   (pApp "foo" [] .&. f2)
 
 --               in collect res $ True
-                 
+
 --                  -- case res of
---                  --   SameHead ((F Same) :&: 
---                  --            (F (Differ f1  
+--                  --   SameHead ((F Same) :&:
+--                  --            (F (Differ f1
 
 instance Functor DiffResult where
     fmap f d = case d of
diff --git a/Codec/TPTP/Export.hs b/Codec/TPTP/Export.hs
--- a/Codec/TPTP/Export.hs
+++ b/Codec/TPTP/Export.hs
@@ -6,33 +6,33 @@
   #-}
 {-# OPTIONS -Wall #-}
 module Codec.TPTP.Export(toTPTP',ToTPTP(..),isLowerWord) where
-    
+
 import Codec.TPTP.Base
 import Control.Monad.Identity
 import Data.Ratio
-    
+
 -- | Convenient wrapper for 'toTPTP'
 toTPTP' :: forall a. (ToTPTP a) => a -> String
 toTPTP' = ($"") . toTPTP
-    
+
 s :: String -> String -> String
 s = showString
-    
+
 comma :: String -> String
 comma = s ","
-        
+
 commaSepMap :: forall a.
                (a -> String -> String) -> [a] -> String -> String
 commaSepMap _ [] = s ""
-commaSepMap f (y:ys) = f y . foldr (\x xs -> comma . f x . xs) id ys 
-                       
+commaSepMap f (y:ys) = f y . foldr (\x xs -> comma . f x . xs) id ys
 
-        
-    
+
+
+
 class ToTPTP a where
     -- | Convert to TPTP
     toTPTP :: a -> ShowS
-             
+
 instance ToTPTP [TPTP_Input] where
     toTPTP = foldr (\x xs -> toTPTP x . s "\n" . xs) id
 
@@ -40,21 +40,21 @@
     toTPTP AFormula{..} =
         s "fof(" . toTPTP name . comma . toTPTP role . comma .
           toTPTP formula . toTPTP annotations . s ")."
-                 
+
     toTPTP (Comment x) =
-        s x -- % included in x 
-                           
-    toTPTP (Include x sel) = s "include" . s "(" . showString (tptpSQuote x) . 
+        s x -- % included in x
 
-                             case sel of { [] -> id; _ -> s ",[" . commaSepMap toTPTP sel . s "]" } . 
+    toTPTP (Include x sel) = s "include" . s "(" . showString (tptpSQuote x) .
 
+                             case sel of { [] -> id; _ -> s ",[" . commaSepMap toTPTP sel . s "]" } .
 
-                             s ")."  
-                   
 
+                             s ")."
+
+
 instance ToTPTP Role where
     toTPTP (Role x) = s x
-                      
+
 instance ToTPTP Quant where
     toTPTP All = s "!"
     toTPTP Exists = s "?"
@@ -76,43 +76,43 @@
         (:<~>:) -> s "<~>"
 
 instance (ToTPTP f, ToTPTP t) => ToTPTP (Formula0 t f) where
-    toTPTP formu = 
+    toTPTP formu =
       let
         result =
            case formu of
-               Quant q vars f    -> 
+               Quant q vars f    ->
                    let par = True in
 
-                   toTPTP q 
-                      . s " [" 
-                      . commaSepMap toTPTP vars 
-                      . s "] : " 
+                   toTPTP q
+                      . s " ["
+                      . commaSepMap toTPTP vars
+                      . s "] : "
                       . showParen par (toTPTP f)
-                          
+
                PredApp p [] -> toTPTP p
-               PredApp p args -> toTPTP p . s "(" . commaSepMap toTPTP args . s ")" 
+               PredApp p args -> toTPTP p . s "(" . commaSepMap toTPTP args . s ")"
                (:~:) f -> s "~ " . showParen True (toTPTP f)
-                         
-               BinOp x op y -> showParen True $ 
+
+               BinOp x op y -> showParen True $
                    (toTPTP x) . s " " . toTPTP op . s " " . (toTPTP y)
-                   
-               InfixPred x op y -> showParen True $ 
+
+               InfixPred x op y -> showParen True $
                    (toTPTP x) . s " " . toTPTP op . s " " . (toTPTP y)
       in
         result
-        
+
 instance ToTPTP t => ToTPTP (Term0 t) where
     toTPTP term =
-         
-             case term of 
+
+             case term of
                Var x -> toTPTP x
                NumberLitTerm d -> showsRational d
                DistinctObjectTerm x -> showString (tptpQuote x)
                FunApp f [] -> toTPTP f
                FunApp f args -> toTPTP f . s "(" . commaSepMap toTPTP args . s ")"
-                        
 
-deriving instance (ToTPTP a) => (ToTPTP (Identity a))         
+
+deriving instance (ToTPTP a) => (ToTPTP (Identity a))
 deriving instance ToTPTP Formula
 deriving instance ToTPTP Term
 
@@ -130,10 +130,10 @@
                   GTerm x -> toTPTP x
                   ColonSep x y -> toTPTP x . s ":" . toTPTP y
                   GList xs -> s "[" . commaSepMap toTPTP xs . s "]"
-                             
+
 instance ToTPTP AtomicWord where
-    toTPTP (AtomicWord x) = s $ if isLowerWord x then x else tptpSQuote x      
-          
+    toTPTP (AtomicWord x) = s $ if isLowerWord x then x else tptpSQuote x
+
 instance ToTPTP GData where
  toTPTP gd = case gd of
    GWord x -> toTPTP x
@@ -141,8 +141,8 @@
    GVar x -> toTPTP x
    GNumber x -> showsRational x
    GDistinctObject x -> showString (tptpQuote x)
-   GFormulaData str formu -> s str . s "(" . toTPTP formu . s ")" 
- 
+   GFormulaData str formu -> s str . s "(" . toTPTP formu . s ")"
+
 tptpQuote :: [Char] -> [Char]
 tptpQuote x = "\"" ++ concatMap go x ++ "\""
     where
@@ -158,13 +158,13 @@
       go c = [c]
 
 
-             
+
 isBetween :: forall a. (Ord a) => a -> a -> a -> Bool
 isBetween a x b = a <= x && x <= b
-             
+
 isReallyAlnum :: Char -> Bool
-isReallyAlnum x = isBetween 'a' x 'z' || isBetween 'A' x 'Z' || isBetween '0' x '9' || x=='_'  
-             
+isReallyAlnum x = isBetween 'a' x 'z' || isBetween 'A' x 'Z' || isBetween '0' x '9' || x=='_'
+
 isLowerWord :: [Char] -> Bool
 isLowerWord str = case str of
                                (x:xs) | isBetween 'a' x 'z' && all isReallyAlnum xs -> True
@@ -175,4 +175,4 @@
 
 
 showsRational :: Rational -> ShowS
-showsRational q = shows (numerator q) . showChar '/' . shows (denominator q) 
+showsRational q = shows (numerator q) . showChar '/' . shows (denominator q)
diff --git a/Codec/TPTP/Import.hs b/Codec/TPTP/Import.hs
--- a/Codec/TPTP/Import.hs
+++ b/Codec/TPTP/Import.hs
@@ -22,4 +22,3 @@
 
 parseWithCommentFile :: FilePath -> IO [TPTP_Input_C]
 parseWithCommentFile x = parseWithComment `fmap` readFile x
-
diff --git a/Codec/TPTP/Pretty.hs b/Codec/TPTP/Pretty.hs
--- a/Codec/TPTP/Pretty.hs
+++ b/Codec/TPTP/Pretty.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE NoMonomorphismRestriction, RecordWildCards
+{-# LANGUAGE CPP, NoMonomorphismRestriction, RecordWildCards
   , StandaloneDeriving
   , TypeSynonymInstances, FlexibleInstances, FlexibleContexts
   , UndecidableInstances, DeriveDataTypeable, GeneralizedNewtypeDeriving
@@ -9,6 +9,10 @@
 
 -- | Mainly just 'Pretty' instances
 module Codec.TPTP.Pretty(prettySimple,WithEnclosing(..),Enclosing(..)) where
+
+#if MIN_VERSION_base(4,8,0)
+import Prelude hiding ((<$>))
+#endif
 
 import Codec.TPTP.Base
 import Codec.TPTP.Export
diff --git a/Codec/TPTP/QuickCheck.hs b/Codec/TPTP/QuickCheck.hs
--- a/Codec/TPTP/QuickCheck.hs
+++ b/Codec/TPTP/QuickCheck.hs
@@ -6,7 +6,7 @@
   #-}
 {-# OPTIONS -Wall #-}
 module Codec.TPTP.QuickCheck where
-    
+
 import Test.QuickCheck
 import Control.Monad
 import Control.Applicative
@@ -23,10 +23,10 @@
                         , (2 ,f 4)
                         , (1, f 15)
                         ]
-              
+
 arbVar :: Gen [Char]
-arbVar = liftM2 (:) (elements "WXZY") (show <$> choose(1::Int,3))  
-        
+arbVar = liftM2 (:) (elements "WXZY") (show <$> choose(1::Int,3))
+
 -- sorry I don't feel like calculating this distribution deductively at the moment ;)
 -- | Return random partition of n items into the given number of buckets if buckets>0
 --
@@ -41,14 +41,14 @@
         do arrr <- newArray (1,buckets) 0
            forM_ choices (\bucket -> writeArray arrr bucket . succ =<< readArray arrr bucket)
            return arrr
-  return $ elems uarray 
+  return $ elems uarray
 
 arbPrintable :: Gen [Char]
 arbPrintable = listOf (arbitrary `suchThat` printable)
-               
+
 printable :: Char -> Bool
 printable x = isAscii x && isPrint x --isDigit x || isLetter x || x `elem` " _+!@#$%^&*()[]{}-=?.,;'\":/\\"
-    
+
 arbLowerWord :: Gen String
 arbLowerWord = (:) `fmap` elements ['a'..'z'] `ap` listOf (elements (['a'..'z']++['A'..'Z']++"_"))
 
@@ -56,7 +56,7 @@
 arbUpperWord :: Gen String
 arbUpperWord = (:) `fmap` elements ['A'..'Z'] `ap` listOf (elements (['a'..'z']++['A'..'Z']++"_"))
 
-               
+
 arbNum :: forall a a1. (Arbitrary a, Num a) => (a -> a1) -> Gen a1
 arbNum f =
     frequency [(1,fmap f arbitrary)
diff --git a/Parser.y b/Parser.y
--- a/Parser.y
+++ b/Parser.y
@@ -1,6 +1,6 @@
 {
 module Parser where
-    
+
 import Data.Char
 import Data.Data
 import Data.Ratio
@@ -16,8 +16,8 @@
 
 %name parseTPTP
 %tokentype { Token }
-%error { 
-          
+%error {
+
           ((\xs -> case xs of
                     xs -> error ("Parse error, pos: "++show (take 25 xs))))
        }
@@ -67,32 +67,32 @@
 
  comment            { CommentToken $$ }
 
-     
-%% 
 
+%%
+
 TPTP_file  :: {[TPTP_Input_ c]}
 TPTP_file  : {[]} | TPTP_input TPTP_file  {$1 : $2}
-           
+
 TPTP_input  :: {TPTP_Input_ c}
-TPTP_input  : annotated_formula  {$1} 
+TPTP_input  : annotated_formula  {$1}
              | include  { $1 }
              | comment { Comment $1 }
 
 annotated_formula  :: {TPTP_Input_ c}
-annotated_formula  :  fof_annotated  {$1} 
+annotated_formula  :  fof_annotated  {$1}
                     | cnf_annotated  {$1}
 
 fof_annotated  :: {TPTP_Input_ c}
 fof_annotated  : fof lp name  comma formula_role  comma fof_formula  annotations  rp dot
        { AFormula        $3               $5                $7           $8 }
-                
+
 cnf_annotated  :: {TPTP_Input_ c}
 cnf_annotated  : cnf lp name  comma formula_role  comma cnf_formula  annotations  rp dot
        { AFormula          $3              $5  (univquant_free_vars $7) $8 }
-       
-       
+
+
 annotations  :: { Annotations }
-annotations  :  comma source optional_info  { Annotations $2 $3 } 
+annotations  :  comma source optional_info  { Annotations $2 $3 }
     | { NoAnnotations }
 
 formula_role  :: {Role}
@@ -102,44 +102,44 @@
 fof_formula  :: {F c}
 fof_formula  : binary_formula  { $1 }
               | unitary_formula  { $1 }
-      
+
 binary_formula  :: {F c}
 binary_formula  : nonassoc_binary  {$1}
                  | assoc_binary  {$1}
-                 
+
 nonassoc_binary  :: {F c}
-nonassoc_binary  : unitary_formula  binary_connective  unitary_formula 
+nonassoc_binary  : unitary_formula  binary_connective  unitary_formula
                   { $2 $1 $3 }
 
-                  
+
 assoc_binary  :: {F c}
 assoc_binary  : or_formula  { $1 }
                | and_formula  { $1 }
-    
-                 
+
+
 or_formula  :: {F c}
 or_formula  : unitary_formula   vline  unitary_formula  more_or_formula
                { L.foldl (.|.) ($1 .|. $3) $4 }
-             
+
 more_or_formula  :: {[F c]}
-more_or_formula  : {[]} | vline  unitary_formula more_or_formula 
+more_or_formula  : {[]} | vline  unitary_formula more_or_formula
                   { $2 : $3 }
-                  
+
 and_formula  :: {F c}
 and_formula  : unitary_formula  ampersand unitary_formula  more_and_formula
                { L.foldl (.&.) ($1 .&. $3) $4 }
 
 
 more_and_formula  :: {[F c]}
-more_and_formula  : {[]} | ampersand unitary_formula more_and_formula 
+more_and_formula  : {[]} | ampersand unitary_formula more_and_formula
                    { $2 : $3 }
-                   
+
 unitary_formula  :: {Formula}
 unitary_formula  :  quantified_formula  {$1}
                   | unary_formula       {$1}
                   | atomic_formula      {$1}
                   | lp fof_formula  rp  {$2}
-                   
+
 quantified_formula  :: {F c}
 quantified_formula  : quantifier  lbra variable_list  rbra colon unitary_formula
                      { $1 $3 $6 }
@@ -151,10 +151,10 @@
 unary_formula  :: {F c}
 unary_formula  : unary_connective  unitary_formula  { $1 $2 }
                 | fol_infix_unary  { $1 }
-   
 
 
 
+
 -- cnf_formula :: {Formula}
 -- cnf_formula : assoc_binary {$1}
 --             | lp assoc_binary rp {$2}
@@ -163,20 +163,20 @@
 cnf_formula  :  lp disjunction  rp  { $2 }
               | disjunction  { $1 }
 
-                
+
 disjunction  :: {F c}
-disjunction  : literal  more_disjunction 
+disjunction  : literal  more_disjunction
               { L.foldl (.|.) $1 $2 }
-              
+
 more_disjunction  :: {[F c]}
-more_disjunction  :  {[]} | vline  literal more_disjunction 
+more_disjunction  :  {[]} | vline  literal more_disjunction
                    { $2 : $3 }
 
 literal  :: {Formula}
-literal  : atomic_formula  {$1} 
-          | tilde atomic_formula  { (.~.) $2} 
+literal  : atomic_formula  {$1}
+          | tilde atomic_formula  { (.~.) $2}
           | fol_infix_unary  {$1}
-          
+
 fol_infix_unary  :: {F c}
 fol_infix_unary  : term  infix_inequality  term  { $2 $1 $3 }
 
@@ -191,94 +191,94 @@
                     | nor  { (.~|.) }
                     | nand { (.~&.) }
 
---- assoc_connective  : vline  
+--- assoc_connective  : vline
 ---                    | ampersand
-                   
+
 unary_connective  :: {Formula -> Formula}
 unary_connective  : tilde { (.~.) }
 
--- defined_type  :== atomic_defined_word 
+-- defined_type  :== atomic_defined_word
 
 -- defined_type  :== $oType | $o | $iType | $i | $tType | $real | $int
--- system_type  :== atomic_system_word 
+-- system_type  :== atomic_system_word
 
-atomic_formula  :: {F c} 
+atomic_formula  :: {F c}
 atomic_formula  :  plain_atomic_formula    {$1}
                  | defined_atomic_formula  {$1}
                  | system_atomic_formula   {$1}
-                 
 
+
 plain_atomic_formula  :: {F c}
 plain_atomic_formula  : plain_term  { fApp2pApp $1 }
 
--- plain_atomic_formula  :== proposition  | predicate  lp arguments  rp 
--- proposition  :== predicate 
--- predicate  :== atomic_word 
+-- plain_atomic_formula  :== proposition  | predicate  lp arguments  rp
+-- proposition  :== predicate
+-- predicate  :== atomic_word
 
 defined_atomic_formula  :: {F c}
-defined_atomic_formula  :  defined_plain_formula  {$1} 
+defined_atomic_formula  :  defined_plain_formula  {$1}
                          | defined_infix_formula  {$1}
-                         
+
 defined_plain_formula  :: {F c}
 defined_plain_formula  : defined_plain_term  {fApp2pApp $1}
-                        
---defined_plain_formula  :== defined_prop  | defined_pred  lp arguments  rp 
---defined_prop  :== atomic_defined_word 
+
+--defined_plain_formula  :== defined_prop  | defined_pred  lp arguments  rp
+--defined_prop  :== atomic_defined_word
 --defined_prop  :== $true | $false
---defined_pred  :== atomic_defined_word 
+--defined_pred  :== atomic_defined_word
 --defined_pred  :== $equal
 
 
 defined_infix_formula  :: {F c}
 defined_infix_formula  : term  defined_infix_pred  term  { $2 $1 $3 }
-                        
-defined_infix_pred :: { T c -> T c -> F c } 
+
+defined_infix_pred :: { T c -> T c -> F c }
 defined_infix_pred  : infix_equality  { $1 }
 
 infix_equality  :: { Term -> Term -> Formula }
 infix_equality  : equals { (.=.) }
-                
+
 infix_inequality  :: { Term -> Term -> Formula }
 infix_inequality  : nequals { (.!=.) }
 
-system_atomic_formula  :: {F c} 
+system_atomic_formula  :: {F c}
 system_atomic_formula  : system_term  {fApp2pApp $1}
 
-term  :: {Term}                        
+term  :: {Term}
 term  :  function_term  {$1}
        | variable       {var $1}
-       
-function_term  :: {Term}                        
-function_term  : plain_term {$1} 
+
+function_term  :: {Term}
+function_term  : plain_term {$1}
                 | defined_term  {$1}
                 | system_term {$1}
 
-plain_term  :: {Term}                        
+plain_term  :: {Term}
 plain_term  :  constant                  {fApp $1 []}
              | functor  lp arguments  rp {fApp $1 $3}
-              
+
 constant  :: {AtomicWord}
 constant  : functor {$1}
 
 functor  :: {AtomicWord}
 functor  : atomic_word {$1}
 
-defined_term  :: {Term}                        
-defined_term  : defined_atom {$1} 
+defined_term  :: {Term}
+defined_term  : defined_atom {$1}
                | defined_atomic_term {$1}
-               
 
-defined_atom  :: {Term}                        
-defined_atom  : number {numberLitTerm $1} 
+
+defined_atom  :: {Term}
+defined_atom  : number {numberLitTerm $1}
                | distinct_object {distinctObjectTerm (stripQuotes '"' $1)}
-                 
-defined_atomic_term :: {Term}                
+
+defined_atomic_term :: {Term}
 defined_atomic_term  : defined_plain_term {$1}
-                      
-defined_plain_term  :: {Term}                        
-defined_plain_term  : defined_constant {fApp (AtomicWord $1) []} 
-                     | defined_functor  lp arguments  rp {fApp (AtomicWord $1) $3} 
 
+defined_plain_term  :: {Term}
+defined_plain_term  : defined_constant {fApp (AtomicWord $1) []}
+                     | defined_functor  lp arguments  rp {fApp (AtomicWord $1) $3}
+
 defined_constant  :: {String}
 defined_constant  : defined_functor {$1}
 -- defined_constant  :==
@@ -287,16 +287,16 @@
 defined_functor  : atomic_defined_word {$1}
 -- defined_functor  :==
 
-system_term  :: {Term} 
+system_term  :: {Term}
 system_term  :  system_constant  {fApp (AtomicWord $1) []}
-              | system_functor  lp arguments  rp {fApp (AtomicWord $1) $3} 
+              | system_functor  lp arguments  rp {fApp (AtomicWord $1) $3}
 
-system_constant  :: {String}                
+system_constant  :: {String}
 system_constant  : system_functor  {$1}
 
-system_functor  :: {String}                
+system_functor  :: {String}
 system_functor  : atomic_system_word {$1}
-                 
+
 variable  :: {V}
 variable  : upper_word {V $1}
 
@@ -304,111 +304,111 @@
 arguments  : term  {[$1]}
             | term  comma arguments  { $1 : $3 }
 
-source  :: {GTerm} 
+source  :: {GTerm}
 source  : general_term  {$1}
 
 -- source  :== dag_source  | internal_source  | external_source  | unknown
 
--- dag_source  :== name  | inference_record 
+-- dag_source  :== name  | inference_record
 
--- inference_record  :== inference lp inference_rule  comma useful_info  comma  [parent_list ] rp 
--- inference_rule  :== atomic_word 
--- parent_list  :== parent_info  | parent_info  comma parent_list 
--- parent_info  :== source parent_details 
--- parent_details  :== :general_list  | null 
--- internal_source  :== introduced lp intro_type optional_info  rp 
+-- inference_record  :== inference lp inference_rule  comma useful_info  comma  [parent_list ] rp
+-- inference_rule  :== atomic_word
+-- parent_list  :== parent_info  | parent_info  comma parent_list
+-- parent_info  :== source parent_details
+-- parent_details  :== :general_list  | null
+-- internal_source  :== introduced lp intro_type optional_info  rp
 -- intro_type  :== definition | axiom_of_choice | tautology | assumption
--- external_source  :== file_source  | theory  | creator_source 
--- file_source  :== file lp file_name file_info  rp 
--- file_info  :==  comma name  | null 
--- theory  :== theory lp theory_name optional_info  rp 
+-- external_source  :== file_source  | theory  | creator_source
+-- file_source  :== file lp file_name file_info  rp
+-- file_info  :==  comma name  | null
+-- theory  :== theory lp theory_name optional_info  rp
 -- theory_name  :== equality | ac
--- creator_source  :== creator lp creator_name optional_info  rp 
--- creator_name  :== atomic_word 
+-- creator_source  :== creator lp creator_name optional_info  rp
+-- creator_name  :== atomic_word
 
-optional_info  :: {UsefulInfo} 
+optional_info  :: {UsefulInfo}
 optional_info  :  comma useful_info  {$2} |  {NoUsefulInfo}
-    
+
 useful_info  :: { UsefulInfo }
 useful_info  : general_list  {UsefulInfo $1}
 
 -- useful_info  :== [] | [info_items ]
--- info_items  :== info_item  | info_item  comma info_items 
--- info_item  :== formula_item  | inference_item  | general_function 
--- formula_item  :== description_item  | iquote_item 
--- description_item  :== description lp atomic_word  rp 
--- iquote_item  :== iquote lp atomic_word  rp 
--- inference_item  :== inference_status  | assumptions_record  | refutation 
--- inference_status  :== status lp status_value  rp  | inference_info 
+-- info_items  :== info_item  | info_item  comma info_items
+-- info_item  :== formula_item  | inference_item  | general_function
+-- formula_item  :== description_item  | iquote_item
+-- description_item  :== description lp atomic_word  rp
+-- iquote_item  :== iquote lp atomic_word  rp
+-- inference_item  :== inference_status  | assumptions_record  | refutation
+-- inference_status  :== status lp status_value  rp  | inference_info
 -- status_value  :== suc | unp | sap | esa | sat | fsa | thm | eqv | tac | wec | eth | tau | wtc | wth | cax | sca | tca | wca |cup | csp | ecs | csa | cth | ceq | unc | wcc | ect | fun | uns | wuc | wct | scc | uca | noc
 
--- inference_info  :== inference_rule  lp atomic_word  comma general_list  rp 
--- assumptions_record  :== assumptions lp [name_list ] rp 
--- refutation  :== refutation lp file_source  rp 
+-- inference_info  :== inference_rule  lp atomic_word  comma general_list  rp
+-- assumptions_record  :== assumptions lp [name_list ] rp
+-- refutation  :== refutation lp file_source  rp
 
 include :: {TPTP_Input}
-include  : include_ lp file_name formula_selection  rp dot { Include $3 $4 } 
+include  : include_ lp file_name formula_selection  rp dot { Include $3 $4 }
 
 formula_selection  :: {[AtomicWord]}
-formula_selection  :  comma lbra name_list  rbra { $3 } 
+formula_selection  :  comma lbra name_list  rbra { $3 }
                     |   { [] }
 
 name_list  :: {[AtomicWord]}
 name_list  : name  {[$1]}
             | name  comma name_list  { $1 : $3 }
 
-              
+
 general_term  :: {GTerm}
-general_term  :  general_data  {GTerm $1} 
-               | general_data colon general_term  {ColonSep $1 $3} 
-               | general_list {GList $1} 
+general_term  :  general_data  {GTerm $1}
+               | general_data colon general_term  {ColonSep $1 $3}
+               | general_list {GList $1}
 
 general_data  :: {GData}
-general_data  :  atomic_word  { GWord $1 } 
-               | atomic_word  lp general_terms  rp { GApp $1 $3 }  
+general_data  :  atomic_word  { GWord $1 }
+               | atomic_word  lp general_terms  rp { GApp $1 $3 }
                | variable  { GVar $1 }
                | number  { GNumber $1 }
                | distinct_object { GDistinctObject (stripQuotes '"' $1) }
                | formula_data  { $1 }
-               
+
 formula_data :: {GData}
 formula_data  : dollar_word lp fof_formula  rp { GFormulaData $1 $3 }
               -- too ambiguous | dollar_word lp cnf_formula  rp { GFormulaData $1 $3 }
-                
+
 general_list  :: {[GTerm]}
 general_list  : lbra rbra {[]}
                | lbra general_terms  rbra {$2}
-               
+
 general_terms  :: {[GTerm]}
-general_terms  :  general_term  {[$1]} 
+general_terms  :  general_term  {[$1]}
                 | general_term  comma general_terms  {$1 : $3}
 
 name  :: {AtomicWord}
 name  : atomic_word  {$1}
        | unsigned_integer {AtomicWord(show $1)}
-         
-atomic_word  :: {AtomicWord}       
+
+atomic_word  :: {AtomicWord}
 atomic_word  : lower_word_ {AtomicWord $1}
               | single_quoted{AtomicWord (stripQuotes '\'' $1)}
-                
-atomic_defined_word  :: {String}              
+
+atomic_defined_word  :: {String}
 atomic_defined_word  : dollar_word{$1}
-                      
-atomic_system_word  :: {String}              
+
+atomic_system_word  :: {String}
 atomic_system_word  : dollar_dollar_word{$1}
 
 number  :: {Rational} -- maybe keep track of the number type that was actually parsed
-number  : integer {fromIntegral $1} | rational {$1} | real {$1}  
+number  : integer {fromIntegral $1} | rational {$1} | real {$1}
 
 integer :: {Integer}
 integer : signed_integer {$1} | unsigned_integer {$1}
 
-rational :: {Rational} 
-rational : integer tok_slash unsigned_integer {$1 % $3} 
-    
-file_name  :: {String}              
+rational :: {Rational}
+rational : integer tok_slash unsigned_integer {$1 % $3}
+
+file_name  :: {String}
 file_name  : single_quoted {stripQuotes '\'' $1}
-            
+
 lower_word_ :: {String}
 lower_word_ : lower_word {$1} | fof {"fof"} | cnf {"cnf"} | include_ {"include"} -- "fof" is a perfectly cromulent lower_word, but it is interpreted as a "fof" token
 
@@ -489,7 +489,7 @@
 
 comment_list :: {[String]}
 comment_list : {[]} | comment comment_list { $1 : $2 }
-       
+
 {
 
 stripQuotes which (x:xs) = go xs
@@ -498,7 +498,6 @@
                         go ('\\':'\\':xs) = '\\':go xs
                         go ('\\':which:xs) = which:go xs
                         go (x:xs) = x:go xs
-                     
-fApp2pApp (T (Identity (FunApp x args))) = (F (Identity (PredApp x args))) 
-}
 
+fApp2pApp (T (Identity (FunApp x args))) = (F (Identity (PredApp x args)))
+}
diff --git a/ParserC.y b/ParserC.y
--- a/ParserC.y
+++ b/ParserC.y
@@ -1,6 +1,6 @@
 {
 module ParserC where
-    
+
 import Data.Char
 import Data.Data
 import Data.Ratio
@@ -17,8 +17,8 @@
 
 %name parseTPTPwithComment
 %tokentype { Token }
-%error { 
-          
+%error {
+
           ((\xs -> case xs of
                     xs -> error ("Parse error, pos: "++show (take 25 xs))))
        }
@@ -68,32 +68,32 @@
 
  comment            { CommentToken $$ }
 
-     
-%% 
 
+%%
+
 TPTP_file  :: {[TPTP_Input_ c]}
 TPTP_file  : {[]} | TPTP_input TPTP_file  {$1 : $2}
-           
+
 TPTP_input  :: {TPTP_Input_ c}
-TPTP_input  : annotated_formula  {$1} 
+TPTP_input  : annotated_formula  {$1}
              | include  { $1 }
              | comment { Comment $1 }
 
 annotated_formula  :: {TPTP_Input_ c}
-annotated_formula  :  fof_annotated  {$1} 
+annotated_formula  :  fof_annotated  {$1}
                     | cnf_annotated  {$1}
 
 fof_annotated  :: {TPTP_Input_ c}
 fof_annotated  : fof lp name  comma formula_role  comma fof_formula  annotations  rp dot
        { AFormula        $3               $5                $7           $8 }
-                
+
 cnf_annotated  :: {TPTP_Input}
 cnf_annotated  : cnf lp name  comma formula_role  comma cnf_formula  annotations  rp dot
        { AFormula          $3              $5  (univquant_free_vars $7) $8 }
-       
-       
+
+
 annotations  :: { Annotations }
-annotations  :  comma source optional_info  { Annotations $2 $3 } 
+annotations  :  comma source optional_info  { Annotations $2 $3 }
     | { NoAnnotations }
 
 formula_role  :: {Role}
@@ -103,44 +103,44 @@
 fof_formula  :: {F c}
 fof_formula  : binary_formula  { $1 }
               | unitary_formula  { $1 }
-      
+
 binary_formula  :: {F c}
 binary_formula  : nonassoc_binary  {$1}
                  | assoc_binary  {$1}
-                 
+
 nonassoc_binary  :: {F c}
-nonassoc_binary  : unitary_formula  binary_connective  unitary_formula 
+nonassoc_binary  : unitary_formula  binary_connective  unitary_formula
                   { $2 $1 $3 }
 
-                  
+
 assoc_binary  :: {F c}
 assoc_binary  : or_formula  { $1 }
                | and_formula  { $1 }
-    
-                 
+
+
 or_formula  :: {F c}
 or_formula  : unitary_formula   vline  unitary_formula  more_or_formula
                { L.foldl (.|.) ($1 .|. $3) $4 }
-             
+
 more_or_formula  :: {[F c]}
-more_or_formula  : {[]} | vline  unitary_formula more_or_formula 
+more_or_formula  : {[]} | vline  unitary_formula more_or_formula
                   { $2 : $3 }
-                  
+
 and_formula  :: {F c}
 and_formula  : unitary_formula  ampersand unitary_formula  more_and_formula
                { L.foldl (.&.) ($1 .&. $3) $4 }
 
 
 more_and_formula  :: {[F c]}
-more_and_formula  : {[]} | ampersand unitary_formula more_and_formula 
+more_and_formula  : {[]} | ampersand unitary_formula more_and_formula
                    { $2 : $3 }
-                   
+
 unitary_formula  :: {FormulaC}
 unitary_formula  :  quantified_formula  {$1}
                   | unary_formula       {$1}
                   | atomic_formula      {$1}
                   | lp fof_formula  rp  {$2}
-                   
+
 quantified_formula  :: {F c}
 quantified_formula  : quantifier  lbra variable_list  rbra colon unitary_formula
                      { $1 $3 $6 `withComments` comm $5 }
@@ -152,10 +152,10 @@
 unary_formula  :: {F c}
 unary_formula  : unary_connective  unitary_formula  { $1 $2 }
                 | fol_infix_unary  { $1 }
-   
 
 
 
+
 -- cnf_formula :: {Formula}
 -- cnf_formula : assoc_binary {$1}
 --             | lp assoc_binary rp {$2}
@@ -164,20 +164,20 @@
 cnf_formula  :  lp disjunction  rp  { $2 }
               | disjunction  { $1 }
 
-                
+
 disjunction  :: {F c}
-disjunction  : literal  more_disjunction 
+disjunction  : literal  more_disjunction
               { L.foldl (.|.) $1 $2 }
-              
+
 more_disjunction  :: {[F c]}
-more_disjunction  :  {[]} | vline  literal more_disjunction 
+more_disjunction  :  {[]} | vline  literal more_disjunction
                    { $2 : $3 }
 
 literal  :: {FormulaC}
-literal  : atomic_formula  {$1} 
-          | tilde atomic_formula  { (.~.) $2} 
+literal  : atomic_formula  {$1}
+          | tilde atomic_formula  { (.~.) $2}
           | fol_infix_unary  {$1}
-          
+
 fol_infix_unary  :: {F c}
 fol_infix_unary  : term  infix_inequality  term  { $2 $1 $3 }
 
@@ -192,94 +192,94 @@
                     | nor  { (.~|.) }
                     | nand { (.~&.) }
 
---- assoc_connective  : vline  
+--- assoc_connective  : vline
 ---                    | ampersand
-                   
+
 unary_connective  :: {FormulaC -> FormulaC}
 unary_connective  : tilde { (.~.) }
 
--- defined_type  :== atomic_defined_word 
+-- defined_type  :== atomic_defined_word
 
 -- defined_type  :== $oType | $o | $iType | $i | $tType | $real | $int
--- system_type  :== atomic_system_word 
+-- system_type  :== atomic_system_word
 
-atomic_formula  :: {F c} 
+atomic_formula  :: {F c}
 atomic_formula  :  plain_atomic_formula    {$1}
                  | defined_atomic_formula  {$1}
                  | system_atomic_formula   {$1}
-                 
 
+
 plain_atomic_formula  :: {F c}
 plain_atomic_formula  : plain_term  { fApp2pApp $1 }
 
--- plain_atomic_formula  :== proposition  | predicate  lp arguments  rp 
--- proposition  :== predicate 
--- predicate  :== atomic_word 
+-- plain_atomic_formula  :== proposition  | predicate  lp arguments  rp
+-- proposition  :== predicate
+-- predicate  :== atomic_word
 
 defined_atomic_formula  :: {F c}
-defined_atomic_formula  :  defined_plain_formula  {$1} 
+defined_atomic_formula  :  defined_plain_formula  {$1}
                          | defined_infix_formula  {$1}
-                         
+
 defined_plain_formula  :: {F c}
 defined_plain_formula  : defined_plain_term  {fApp2pApp $1}
-                        
---defined_plain_formula  :== defined_prop  | defined_pred  lp arguments  rp 
---defined_prop  :== atomic_defined_word 
+
+--defined_plain_formula  :== defined_prop  | defined_pred  lp arguments  rp
+--defined_prop  :== atomic_defined_word
 --defined_prop  :== $true | $false
---defined_pred  :== atomic_defined_word 
+--defined_pred  :== atomic_defined_word
 --defined_pred  :== $equal
 
 
 defined_infix_formula  :: {F c}
 defined_infix_formula  : term  defined_infix_pred  term  { $2 $1 $3 }
-                        
-defined_infix_pred :: { T c -> T c -> F c } 
+
+defined_infix_pred :: { T c -> T c -> F c }
 defined_infix_pred  : infix_equality  { $1 }
 
 infix_equality  :: { TermC -> TermC -> FormulaC }
 infix_equality  : equals { (.=.) }
-                
+
 infix_inequality  :: { TermC -> TermC -> FormulaC }
 infix_inequality  : nequals { (.!=.) }
 
-system_atomic_formula  :: {F c} 
+system_atomic_formula  :: {F c}
 system_atomic_formula  : system_term  {fApp2pApp $1}
 
-term  :: {TermC}                        
+term  :: {TermC}
 term  :  function_term  {$1}
        | variable       {var $1}
-       
+
 function_term  :: {TermC}
-function_term  : plain_term {$1} 
+function_term  : plain_term {$1}
                 | defined_term  {$1}
                 | system_term {$1}
 
-plain_term  :: {TermC}                        
+plain_term  :: {TermC}
 plain_term  :  constant                  {fApp $1 []}
              | functor  lp arguments  rp {fApp $1 $3}
-              
+
 constant  :: {AtomicWord}
 constant  : functor {$1}
 
 functor  :: {AtomicWord}
 functor  : atomic_word {$1}
 
-defined_term  :: {TermC}                        
-defined_term  : defined_atom {$1} 
+defined_term  :: {TermC}
+defined_term  : defined_atom {$1}
                | defined_atomic_term {$1}
-               
 
-defined_atom  :: {TermC}                        
-defined_atom  : number {numberLitTerm $1} 
+
+defined_atom  :: {TermC}
+defined_atom  : number {numberLitTerm $1}
                | distinct_object {distinctObjectTerm (stripQuotes '"' $1)}
-                 
-defined_atomic_term :: {T c}                
+
+defined_atomic_term :: {T c}
 defined_atomic_term  : defined_plain_term {$1}
-                      
-defined_plain_term  :: {TermC}                        
-defined_plain_term  : defined_constant {fApp (AtomicWord $1) []} 
-                     | defined_functor  lp arguments  rp {fApp (AtomicWord $1) $3} 
 
+defined_plain_term  :: {TermC}
+defined_plain_term  : defined_constant {fApp (AtomicWord $1) []}
+                     | defined_functor  lp arguments  rp {fApp (AtomicWord $1) $3}
+
 defined_constant  :: {String}
 defined_constant  : defined_functor {$1}
 -- defined_constant  :==
@@ -288,16 +288,16 @@
 defined_functor  : atomic_defined_word {$1}
 -- defined_functor  :==
 
-system_term  :: {TermC} 
+system_term  :: {TermC}
 system_term  :  system_constant  {fApp (AtomicWord $1) []}
-              | system_functor  lp arguments  rp {fApp (AtomicWord $1) $3} 
+              | system_functor  lp arguments  rp {fApp (AtomicWord $1) $3}
 
-system_constant  :: {String}                
+system_constant  :: {String}
 system_constant  : system_functor  {$1}
 
-system_functor  :: {String}                
+system_functor  :: {String}
 system_functor  : atomic_system_word {$1}
-                 
+
 variable  :: {V}
 variable  : upper_word {V $1}
 
@@ -305,111 +305,111 @@
 arguments  : term  {[$1]}
             | term  comma arguments  { $1 : $3 }
 
-source  :: {GTerm} 
+source  :: {GTerm}
 source  : general_term  {$1}
 
 -- source  :== dag_source  | internal_source  | external_source  | unknown
 
--- dag_source  :== name  | inference_record 
+-- dag_source  :== name  | inference_record
 
--- inference_record  :== inference lp inference_rule  comma useful_info  comma  [parent_list ] rp 
--- inference_rule  :== atomic_word 
--- parent_list  :== parent_info  | parent_info  comma parent_list 
--- parent_info  :== source parent_details 
--- parent_details  :== :general_list  | null 
--- internal_source  :== introduced lp intro_type optional_info  rp 
+-- inference_record  :== inference lp inference_rule  comma useful_info  comma  [parent_list ] rp
+-- inference_rule  :== atomic_word
+-- parent_list  :== parent_info  | parent_info  comma parent_list
+-- parent_info  :== source parent_details
+-- parent_details  :== :general_list  | null
+-- internal_source  :== introduced lp intro_type optional_info  rp
 -- intro_type  :== definition | axiom_of_choice | tautology | assumption
--- external_source  :== file_source  | theory  | creator_source 
--- file_source  :== file lp file_name file_info  rp 
--- file_info  :==  comma name  | null 
--- theory  :== theory lp theory_name optional_info  rp 
+-- external_source  :== file_source  | theory  | creator_source
+-- file_source  :== file lp file_name file_info  rp
+-- file_info  :==  comma name  | null
+-- theory  :== theory lp theory_name optional_info  rp
 -- theory_name  :== equality | ac
--- creator_source  :== creator lp creator_name optional_info  rp 
--- creator_name  :== atomic_word 
+-- creator_source  :== creator lp creator_name optional_info  rp
+-- creator_name  :== atomic_word
 
-optional_info  :: {UsefulInfo} 
+optional_info  :: {UsefulInfo}
 optional_info  :  comma useful_info  {$2} |  {NoUsefulInfo}
-    
+
 useful_info  :: { UsefulInfo }
 useful_info  : general_list  {UsefulInfo $1}
 
 -- useful_info  :== [] | [info_items ]
--- info_items  :== info_item  | info_item  comma info_items 
--- info_item  :== formula_item  | inference_item  | general_function 
--- formula_item  :== description_item  | iquote_item 
--- description_item  :== description lp atomic_word  rp 
--- iquote_item  :== iquote lp atomic_word  rp 
--- inference_item  :== inference_status  | assumptions_record  | refutation 
--- inference_status  :== status lp status_value  rp  | inference_info 
+-- info_items  :== info_item  | info_item  comma info_items
+-- info_item  :== formula_item  | inference_item  | general_function
+-- formula_item  :== description_item  | iquote_item
+-- description_item  :== description lp atomic_word  rp
+-- iquote_item  :== iquote lp atomic_word  rp
+-- inference_item  :== inference_status  | assumptions_record  | refutation
+-- inference_status  :== status lp status_value  rp  | inference_info
 -- status_value  :== suc | unp | sap | esa | sat | fsa | thm | eqv | tac | wec | eth | tau | wtc | wth | cax | sca | tca | wca |cup | csp | ecs | csa | cth | ceq | unc | wcc | ect | fun | uns | wuc | wct | scc | uca | noc
 
--- inference_info  :== inference_rule  lp atomic_word  comma general_list  rp 
--- assumptions_record  :== assumptions lp [name_list ] rp 
--- refutation  :== refutation lp file_source  rp 
+-- inference_info  :== inference_rule  lp atomic_word  comma general_list  rp
+-- assumptions_record  :== assumptions lp [name_list ] rp
+-- refutation  :== refutation lp file_source  rp
 
 include :: {TPTP_Input_ c}
-include  : include_ lp file_name formula_selection  rp dot { Include $3 $4 } 
+include  : include_ lp file_name formula_selection  rp dot { Include $3 $4 }
 
 formula_selection  :: {[AtomicWord]}
-formula_selection  :  comma lbra name_list  rbra { $3 } 
+formula_selection  :  comma lbra name_list  rbra { $3 }
                     |   { [] }
 
 name_list  :: {[AtomicWord]}
 name_list  : name  {[$1]}
             | name  comma name_list  { $1 : $3 }
 
-              
+
 general_term  :: {GTerm}
-general_term  :  general_data  {GTerm $1} 
-               | general_data colon general_term  {ColonSep $1 $3} 
-               | general_list {GList $1} 
+general_term  :  general_data  {GTerm $1}
+               | general_data colon general_term  {ColonSep $1 $3}
+               | general_list {GList $1}
 
 general_data  :: {GData}
-general_data  :  atomic_word  { GWord $1 } 
-               | atomic_word  lp general_terms  rp { GApp $1 $3 }  
+general_data  :  atomic_word  { GWord $1 }
+               | atomic_word  lp general_terms  rp { GApp $1 $3 }
                | variable  { GVar $1 }
                | number  { GNumber $1 }
                | distinct_object { GDistinctObject (stripQuotes '"' $1) }
                | formula_data  { $1 }
-               
+
 formula_data :: {GData}
 formula_data  : dollar_word lp fof_formula  rp { GFormulaData $1 $3 }
               -- too ambiguous | dollar_word lp cnf_formula  rp { GFormulaData $1 $3 }
-                
+
 general_list  :: {[GTerm]}
 general_list  : lbra rbra {[]}
                | lbra general_terms  rbra {$2}
-               
+
 general_terms  :: {[GTerm]}
-general_terms  :  general_term  {[$1]} 
+general_terms  :  general_term  {[$1]}
                 | general_term  comma general_terms  {$1 : $3}
 
 name  :: {AtomicWord}
 name  : atomic_word  {$1}
        | unsigned_integer {AtomicWord(show $1)}
-         
-atomic_word  :: {AtomicWord}       
+
+atomic_word  :: {AtomicWord}
 atomic_word  : lower_word_ {AtomicWord $1}
               | single_quoted{AtomicWord (stripQuotes '\'' $1)}
-                
-atomic_defined_word  :: {String}              
+
+atomic_defined_word  :: {String}
 atomic_defined_word  : dollar_word{$1}
-                      
-atomic_system_word  :: {String}              
+
+atomic_system_word  :: {String}
 atomic_system_word  : dollar_dollar_word{$1}
 
 number  :: {Rational} -- maybe keep track of the number type that was actually parsed
-number  : integer {fromIntegral $1} | rational {$1} | real {$1}  
+number  : integer {fromIntegral $1} | rational {$1} | real {$1}
 
 integer :: {Integer}
 integer : signed_integer {$1} | unsigned_integer {$1}
 
-rational :: {Rational} 
-rational : integer tok_slash unsigned_integer {$1 % $3} 
-    
-file_name  :: {String}              
+rational :: {Rational}
+rational : integer tok_slash unsigned_integer {$1 % $3}
+
+file_name  :: {String}
 file_name  : single_quoted {stripQuotes '\'' $1}
-            
+
 lower_word_ :: {String}
 lower_word_ : lower_word {$1} | fof {"fof"} | cnf {"cnf"} | include_ {"include"} -- "fof" is a perfectly cromulent lower_word, but it is interpreted as a "fof" token
 
@@ -490,7 +490,7 @@
 
 comment_list :: {[String]}
 comment_list : {[]} | comment comment_list { $1 : $2 }
-       
+
 {
 data AToken = AToken { tok :: Token, comm :: [String] }
 
@@ -514,4 +514,3 @@
 fApp2pApp (T mf) = F $ do FunApp x args <- mf
                           return $ PredApp x args
 }
-
diff --git a/Util.hs b/Util.hs
--- a/Util.hs
+++ b/Util.hs
@@ -26,6 +26,6 @@
 mkTypeOfForRank2Kind :: forall x c. Typeable1 c => String -> String -> x c -> TypeRep
 mkTypeOfForRank2Kind moduleName typeName = const tr
     where
-        tc = mkTyCon3 packageName moduleName typeName  
+        tc = mkTyCon3 packageName moduleName typeName
         tr = mkTyConApp tc [getTyRep1 (undefined :: c ())]
 #endif
diff --git a/changelog.markdown b/changelog.markdown
new file mode 100644
--- /dev/null
+++ b/changelog.markdown
@@ -0,0 +1,8 @@
+## 0.4.3.0
+
+* GHC 7.10.1 compatibility (Thanks to @agomezl)
+
+## 0.4.2.0
+
+* For transformers < 0.4.0.0, use the Eq/Ord/Show/Read Data.Functor.Identity orphan instances
+  from transformers-compat instead of defining our own
diff --git a/dist/build/Lexer.hs b/dist/build/Lexer.hs
deleted file mode 100644
--- a/dist/build/Lexer.hs
+++ /dev/null
@@ -1,463 +0,0 @@
-{-# LANGUAGE CPP,MagicHash #-}
-{-# LINE 1 "Lexer.x" #-}
-
-{-# OPTIONS -fno-warn-missing-signatures #-}
-{-# OPTIONS -fno-warn-unused-matches #-}
-{-# OPTIONS -fno-warn-name-shadowing #-}
-{-# OPTIONS -fno-warn-incomplete-patterns #-}
-
-module Lexer where
-import Data.Ratio
-
-#if __GLASGOW_HASKELL__ >= 603
-#include "ghcconfig.h"
-#elif defined(__GLASGOW_HASKELL__)
-#include "config.h"
-#endif
-#if __GLASGOW_HASKELL__ >= 503
-import Data.Array
-import Data.Char (ord)
-import Data.Array.Base (unsafeAt)
-#else
-import Array
-import Char (ord)
-#endif
-#if __GLASGOW_HASKELL__ >= 503
-import GHC.Exts
-#else
-import GlaExts
-#endif
-{-# LINE 1 "templates/wrappers.hs" #-}
-{-# LINE 1 "templates/wrappers.hs" #-}
-{-# LINE 1 "<command-line>" #-}
-{-# LINE 1 "templates/wrappers.hs" #-}
--- -----------------------------------------------------------------------------
--- Alex wrapper code.
---
--- This code is in the PUBLIC DOMAIN; you may copy it freely and use
--- it for any purpose whatsoever.
-
-import Data.Word (Word8)
-{-# LINE 22 "templates/wrappers.hs" #-}
-
-import qualified Data.Bits
-
--- | Encode a Haskell String to a list of Word8 values, in UTF8 format.
-utf8Encode :: Char -> [Word8]
-utf8Encode = map fromIntegral . go . ord
- where
-  go oc
-   | oc <= 0x7f       = [oc]
-
-   | oc <= 0x7ff      = [ 0xc0 + (oc `Data.Bits.shiftR` 6)
-                        , 0x80 + oc Data.Bits..&. 0x3f
-                        ]
-
-   | oc <= 0xffff     = [ 0xe0 + (oc `Data.Bits.shiftR` 12)
-                        , 0x80 + ((oc `Data.Bits.shiftR` 6) Data.Bits..&. 0x3f)
-                        , 0x80 + oc Data.Bits..&. 0x3f
-                        ]
-   | otherwise        = [ 0xf0 + (oc `Data.Bits.shiftR` 18)
-                        , 0x80 + ((oc `Data.Bits.shiftR` 12) Data.Bits..&. 0x3f)
-                        , 0x80 + ((oc `Data.Bits.shiftR` 6) Data.Bits..&. 0x3f)
-                        , 0x80 + oc Data.Bits..&. 0x3f
-                        ]
-
-
-
-type Byte = Word8
-
--- -----------------------------------------------------------------------------
--- The input type
-
-
-type AlexInput = (AlexPosn,     -- current position,
-                  Char,         -- previous char
-                  [Byte],       -- pending bytes on current char
-                  String)       -- current input string
-
-ignorePendingBytes :: AlexInput -> AlexInput
-ignorePendingBytes (p,c,ps,s) = (p,c,[],s)
-
-alexInputPrevChar :: AlexInput -> Char
-alexInputPrevChar (p,c,bs,s) = c
-
-alexGetByte :: AlexInput -> Maybe (Byte,AlexInput)
-alexGetByte (p,c,(b:bs),s) = Just (b,(p,c,bs,s))
-alexGetByte (p,c,[],[]) = Nothing
-alexGetByte (p,_,[],(c:s))  = let p' = alexMove p c 
-                                  (b:bs) = utf8Encode c
-                              in p' `seq`  Just (b, (p', c, bs, s))
-
-
-{-# LINE 92 "templates/wrappers.hs" #-}
-
-{-# LINE 106 "templates/wrappers.hs" #-}
-
-{-# LINE 121 "templates/wrappers.hs" #-}
-
--- -----------------------------------------------------------------------------
--- Token positions
-
--- `Posn' records the location of a token in the input text.  It has three
--- fields: the address (number of chacaters preceding the token), line number
--- and column of a token within the file. `start_pos' gives the position of the
--- start of the file and `eof_pos' a standard encoding for the end of file.
--- `move_pos' calculates the new position after traversing a given character,
--- assuming the usual eight character tab stops.
-
-
-data AlexPosn = AlexPn !Int !Int !Int
-        deriving (Eq,Show)
-
-alexStartPos :: AlexPosn
-alexStartPos = AlexPn 0 1 1
-
-alexMove :: AlexPosn -> Char -> AlexPosn
-alexMove (AlexPn a l c) '\t' = AlexPn (a+1)  l     (((c+7) `div` 8)*8+1)
-alexMove (AlexPn a l c) '\n' = AlexPn (a+1) (l+1)   1
-alexMove (AlexPn a l c) _    = AlexPn (a+1)  l     (c+1)
-
-
--- -----------------------------------------------------------------------------
--- Default monad
-
-{-# LINE 242 "templates/wrappers.hs" #-}
-
-
--- -----------------------------------------------------------------------------
--- Monad (with ByteString input)
-
-{-# LINE 333 "templates/wrappers.hs" #-}
-
-
--- -----------------------------------------------------------------------------
--- Basic wrapper
-
-{-# LINE 360 "templates/wrappers.hs" #-}
-
-
--- -----------------------------------------------------------------------------
--- Basic wrapper, ByteString version
-
-{-# LINE 378 "templates/wrappers.hs" #-}
-
-{-# LINE 392 "templates/wrappers.hs" #-}
-
-
--- -----------------------------------------------------------------------------
--- Posn wrapper
-
--- Adds text positions to the basic model.
-
-
---alexScanTokens :: String -> [token]
-alexScanTokens str = go (alexStartPos,'\n',[],str)
-  where go inp@(pos,_,_,str) =
-          case alexScan inp 0 of
-                AlexEOF -> []
-                AlexError ((AlexPn _ line column),_,_,_) -> error $ "lexical error at line " ++ (show line) ++ ", column " ++ (show column)
-                AlexSkip  inp' len     -> go inp'
-                AlexToken inp' len act -> act pos (take len str) : go inp'
-
-
-
--- -----------------------------------------------------------------------------
--- Posn wrapper, ByteString version
-
-{-# LINE 424 "templates/wrappers.hs" #-}
-
-
--- -----------------------------------------------------------------------------
--- GScan wrapper
-
--- For compatibility with previous versions of Alex, and because we can.
-
-alex_base :: AlexAddr
-alex_base = AlexA# "\xf8\xff\xff\xff\xd6\xff\xff\xff\x09\x00\x00\x00\xff\x00\x00\x00\xa9\x00\x00\x00\x00\x01\x00\x00\x7f\x01\x00\x00\xfe\x00\x00\x00\xff\x01\x00\x00\x7f\x02\x00\x00\xff\x02\x00\x00\x7f\x03\x00\x00\xff\x03\x00\x00\x7f\x04\x00\x00\xf0\x04\x00\x00\x00\x00\x00\x00\x70\x05\x00\x00\x00\x00\x00\x00\xe1\x05\x00\x00\x00\x00\x00\x00\x52\x06\x00\x00\x00\x00\x00\x00\x93\x06\x00\x00\x00\x00\x00\x00\xd4\x06\x00\x00\x00\x00\x00\x00\x15\x07\x00\x00\x15\x08\x00\x00\xd5\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x08\x00\x00\x46\x09\x00\x00\x1f\x01\x00\x00\x06\x09\x00\x00\x00\x00\x00\x00\x06\x0a\x00\x00\xc6\x09\x00\x00\x00\x00\x00\x00\x9c\x0a\x00\x00\x00\x00\x00\x00\x08\x0a\x00\x00\xd7\xff\xff\xff\x48\x00\x00\x00\xf7\x00\x00\x00\x01\x01\x00\x00\x92\x0b\x00\x00\x92\x0c\x00\x00\x52\x0c\x00\x00\x00\x00\x00\x00\xc8\xff\xff\xff\x32\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd4\xff\xff\xff\x00\x00\x00\x00\xd8\xff\xff\xff\x77\x0b\x00\x00\x00\x00\x00\x00\x48\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x93\x0b\x00\x00\x23\x0d\x00\x00\x18\x0e\x00\x00\x63\x0e\x00\x00\x00\x00\x00\x00\x12\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x0b\x00\x00\xd8\x0a\x00\x00\x8a\x0b\x00\x00\xb0\x0e\x00\x00\x8b\x0b\x00\x00\xc6\x0e\x00\x00\xe8\xff\xff\xff"#
-
-alex_table :: AlexAddr
-alex_table = AlexA# "\x00\x00\x33\x00\x33\x00\x33\x00\x33\x00\x33\x00\x3a\x00\x4c\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x3a\x00\x27\x00\x3b\x00\x00\x00\x00\x00\x3a\x00\x00\x00\x33\x00\x39\x00\x2e\x00\x3e\x00\x05\x00\x3e\x00\x3a\x00\x03\x00\x34\x00\x37\x00\x46\x00\x47\x00\x38\x00\x2a\x00\x3d\x00\x50\x00\x4e\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x3a\x00\x02\x00\x01\x00\x3b\x00\x48\x00\x3a\x00\x3f\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x35\x00\x32\x00\x36\x00\x00\x00\x00\x00\x00\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x2d\x00\x3a\x00\x2d\x00\x3c\x00\x00\x00\x49\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1c\x00\x0b\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x16\x00\x10\x00\x0f\x00\x0f\x00\x0f\x00\x0e\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\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x04\x00\x03\x00\x40\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x49\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x33\x00\x33\x00\x33\x00\x33\x00\x33\x00\x00\x00\x2e\x00\x4c\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x2e\x00\x00\x00\x00\x00\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x25\x00\x09\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x1a\x00\x0c\x00\x13\x00\x13\x00\x13\x00\x14\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\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x06\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x24\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x26\x00\x20\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x1b\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x09\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x0a\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x16\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0b\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x18\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1a\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1c\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\xff\xff\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x30\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\xff\xff\xff\xff\xff\xff\xff\xff\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1b\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1d\x00\x1c\x00\x0b\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x15\x00\x16\x00\x10\x00\x0f\x00\x0f\x00\x0f\x00\x0e\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\x3a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x4a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x41\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x00\x00\x00\x00\x2b\x00\x2b\x00\x00\x00\x00\x00\x2b\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x21\x00\x2b\x00\x2b\x00\x00\x00\x42\x00\x3a\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x42\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x23\x00\x22\x00\x0a\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x17\x00\x18\x00\x0d\x00\x11\x00\x11\x00\x11\x00\x12\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x43\x00\x00\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x43\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2f\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x31\x00\x30\x00\x06\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x28\x00\x29\x00\x08\x00\x1e\x00\x1e\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x44\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x45\x00\x00\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x45\x00\x2c\x00\x00\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x4d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x2b\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\x00\x4f\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\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-
-alex_check :: AlexAddr
-alex_check = AlexA# "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x3e\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3d\x00\x2a\x00\x3d\x00\xff\xff\xff\xff\x3e\x00\xff\xff\x20\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\x2d\x00\x2e\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\x2a\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x2f\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\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\x7e\x00\x5d\x00\xff\xff\xff\xff\xff\xff\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\x2b\x00\x7c\x00\x2d\x00\x7e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\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\x24\x00\x27\x00\x27\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\x22\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\x5c\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\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\x5c\x00\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\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\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\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\x2d\x00\x2e\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\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\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\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\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\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\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\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\x2d\x00\x2e\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\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\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\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\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\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\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\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\x2d\x00\x2e\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\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\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\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\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2a\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x26\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\x22\x00\xff\xff\xff\xff\xff\xff\x2e\x00\x2e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\x45\x00\x45\x00\xff\xff\xff\xff\x65\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\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\x5c\x00\x65\x00\x65\x00\xff\xff\x5f\x00\x7c\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\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\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\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\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\x2d\x00\x2e\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\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\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\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\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x0a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\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\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\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\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\xf7\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\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\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\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\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\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\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\xff\xff\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\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x45\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x45\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x65\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\x65\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\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
-
-alex_deflt :: AlexAddr
-alex_deflt = AlexA# "\xff\xff\xff\xff\x27\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\x15\x00\xff\xff\x17\x00\x17\x00\x19\x00\x19\x00\x1d\x00\x1d\x00\x23\x00\x23\x00\x26\x00\x26\x00\x27\x00\x27\x00\x27\x00\x28\x00\x28\x00\x2e\x00\xff\xff\x2e\x00\x2e\x00\x03\x00\x03\x00\x03\x00\x27\x00\x31\x00\x31\x00\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x3e\x00\x3e\x00\x3e\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\x3e\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"#
-
-alex_accept = listArray (0::Int,80) [AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccSkip,AlexAcc (alex_action_1),AlexAcc (alex_action_2),AlexAcc (alex_action_3),AlexAcc (alex_action_4),AlexAcc (alex_action_5),AlexAcc (alex_action_6),AlexAcc (alex_action_6),AlexAcc (alex_action_6),AlexAcc (alex_action_6),AlexAcc (alex_action_7),AlexAcc (alex_action_8),AlexAcc (alex_action_9),AlexAcc (alex_action_10),AlexAcc (alex_action_11),AlexAcc (alex_action_12),AlexAcc (alex_action_13),AlexAcc (alex_action_14),AlexAcc (alex_action_15),AlexAcc (alex_action_16),AlexAcc (alex_action_17),AlexAcc (alex_action_18),AlexAcc (alex_action_19),AlexAcc (alex_action_19),AlexAcc (alex_action_19),AlexAcc (alex_action_20),AlexAcc (alex_action_20),AlexAcc (alex_action_21),AlexAcc (alex_action_21),AlexAcc (alex_action_22)]
-{-# LINE 69 "Lexer.x" #-}
-
--- Each action has type :: String -> Token
-
-withPos f pos s = (pos, f s)
-
--- The token type:
-data Token = 
-           LP 
-         | RP 
-         | Comma 
-         | Dot 
-         | Lbrack 
-         | Rbrack
-         | Oper String
-         | SingleQuoted String
-         | DoubleQuoted String
-         | DollarWord String 
-         | DollarDollarWord String
-         | UpperWord String
-         | LowerWord String
-         | Star
-         | Plus
-         | Rangle
-         | SignedInt Integer
-         | UnsignedInt Integer
-         | Real Rational
-         | CommentToken String
-         | Slash
-	deriving (Eq,Ord,Show)
-
--- alex defines: alexScanTokens
-
-stripPlus :: String -> String
-stripPlus ('+':xs) = xs
-stripPlus xs = xs
-
-
-readDecimalFraction :: String -> Rational
-readDecimalFraction ('-':cs) = -(readUnsignedDecimalFraction cs)
-readDecimalFraction cs = readUnsignedDecimalFraction cs
-
-readInteger :: String -> Integer
-readInteger = read
-
-
-readUnsignedDecimalFraction :: String -> Rational
-readUnsignedDecimalFraction cs = 
-    case break (=='.') cs of
-         (_,"") -> case breakExponent cs of
-                        (cs2,_:cs2') -> readIntegerRat cs2 * readExponent cs2' 
-
-         (cs1,_:cs1') -> case breakExponent cs1' of
-                            (_,"") -> readIntegerRat cs1 + readFraction cs1'
-                            (cs2,_:cs2') -> (readIntegerRat cs1 + readFraction cs2) * readExponent cs2' 
-  where
-    breakExponent = break (`elem` "Ee")
-
-    readExponent :: String -> Rational
-    readExponent = (10^^) . readInteger . stripPlus
-
-    readFraction :: String -> Rational
-    readFraction cs = readInteger cs % (10^(length cs))
-
-    readIntegerRat :: String -> Rational
-    readIntegerRat = fromIntegral . readInteger
-                    
-
-
-
-alex_action_1 =  withPos $ const LP 
-alex_action_2 =  withPos $ const Lbrack 
-alex_action_3 =  withPos $ const Rbrack 
-alex_action_4 =  withPos $ const RP 
-alex_action_5 =  withPos $ const Comma 
-alex_action_6 =  withPos $ Oper 
-alex_action_7 =  withPos $ const Dot 
-alex_action_8 =  withPos $ CommentToken 
-alex_action_9 =  withPos $ CommentToken 
-alex_action_10 =  withPos SingleQuoted 
-alex_action_11 =  withPos DoubleQuoted 
-alex_action_12 =  withPos DollarDollarWord 
-alex_action_13 =  withPos DollarWord 
-alex_action_14 =  withPos UpperWord 
-alex_action_15 =  withPos LowerWord 
-alex_action_16 =  withPos $ const Star 
-alex_action_17 =  withPos $ const Plus 
-alex_action_18 =  withPos $ const Rangle 
-alex_action_19 =  withPos (Real . readDecimalFraction . stripPlus) 
-alex_action_20 =  withPos (SignedInt . readInteger . stripPlus) 
-alex_action_21 =  withPos (UnsignedInt . readInteger . stripPlus) 
-alex_action_22 =  withPos $ const Slash 
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
-{-# LINE 1 "<command-line>" #-}
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
--- -----------------------------------------------------------------------------
--- ALEX TEMPLATE
---
--- This code is in the PUBLIC DOMAIN; you may copy it freely and use
--- it for any purpose whatsoever.
-
--- -----------------------------------------------------------------------------
--- INTERNALS and main scanner engine
-
-{-# LINE 21 "templates/GenericTemplate.hs" #-}
-
-
-
-
-
--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
-#if __GLASGOW_HASKELL__ > 706
-#define GTE(n,m) (tagToEnum# (n >=# m))
-#define EQ(n,m) (tagToEnum# (n ==# m))
-#else
-#define GTE(n,m) (n >=# m)
-#define EQ(n,m) (n ==# m)
-#endif
-{-# LINE 51 "templates/GenericTemplate.hs" #-}
-
-
-data AlexAddr = AlexA# Addr#
--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
-#if __GLASGOW_HASKELL__ < 503
-uncheckedShiftL# = shiftL#
-#endif
-
-{-# INLINE alexIndexInt16OffAddr #-}
-alexIndexInt16OffAddr (AlexA# arr) off =
-#ifdef WORDS_BIGENDIAN
-  narrow16Int# i
-  where
-        i    = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)
-        high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))
-        low  = int2Word# (ord# (indexCharOffAddr# arr off'))
-        off' = off *# 2#
-#else
-  indexInt16OffAddr# arr off
-#endif
-
-
-
-
-
-{-# INLINE alexIndexInt32OffAddr #-}
-alexIndexInt32OffAddr (AlexA# arr) off = 
-#ifdef WORDS_BIGENDIAN
-  narrow32Int# i
-  where
-   i    = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`
-		     (b2 `uncheckedShiftL#` 16#) `or#`
-		     (b1 `uncheckedShiftL#` 8#) `or#` b0)
-   b3   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))
-   b2   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))
-   b1   = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))
-   b0   = int2Word# (ord# (indexCharOffAddr# arr off'))
-   off' = off *# 4#
-#else
-  indexInt32OffAddr# arr off
-#endif
-
-
-
-
-
-
-#if __GLASGOW_HASKELL__ < 503
-quickIndex arr i = arr ! i
-#else
--- GHC >= 503, unsafeAt is available from Data.Array.Base.
-quickIndex = unsafeAt
-#endif
-
-
-
-
--- -----------------------------------------------------------------------------
--- Main lexing routines
-
-data AlexReturn a
-  = AlexEOF
-  | AlexError  !AlexInput
-  | AlexSkip   !AlexInput !Int
-  | AlexToken  !AlexInput !Int a
-
--- alexScan :: AlexInput -> StartCode -> AlexReturn a
-alexScan input (I# (sc))
-  = alexScanUser undefined input (I# (sc))
-
-alexScanUser user input (I# (sc))
-  = case alex_scan_tkn user input 0# input sc AlexNone of
-	(AlexNone, input') ->
-		case alexGetByte input of
-			Nothing -> 
-
-
-
-				   AlexEOF
-			Just _ ->
-
-
-
-				   AlexError input'
-
-	(AlexLastSkip input'' len, _) ->
-
-
-
-		AlexSkip input'' len
-
-	(AlexLastAcc k input''' len, _) ->
-
-
-
-		AlexToken input''' len k
-
-
--- Push the input through the DFA, remembering the most recent accepting
--- state it encountered.
-
-alex_scan_tkn user orig_input len input s last_acc =
-  input `seq` -- strict in the input
-  let 
-	new_acc = (check_accs (alex_accept `quickIndex` (I# (s))))
-  in
-  new_acc `seq`
-  case alexGetByte input of
-     Nothing -> (new_acc, input)
-     Just (c, new_input) -> 
-
-
-
-      case fromIntegral c of { (I# (ord_c)) ->
-        let
-                base   = alexIndexInt32OffAddr alex_base s
-                offset = (base +# ord_c)
-                check  = alexIndexInt16OffAddr alex_check offset
-		
-                new_s = if GTE(offset,0#) && EQ(check,ord_c)
-			  then alexIndexInt16OffAddr alex_table offset
-			  else alexIndexInt16OffAddr alex_deflt s
-	in
-        case new_s of
-	    -1# -> (new_acc, input)
-		-- on an error, we want to keep the input *before* the
-		-- character that failed, not after.
-    	    _ -> alex_scan_tkn user orig_input (if c < 0x80 || c >= 0xC0 then (len +# 1#) else len)
-                                                -- note that the length is increased ONLY if this is the 1st byte in a char encoding)
-			new_input new_s new_acc
-      }
-  where
-	check_accs (AlexAccNone) = last_acc
-	check_accs (AlexAcc a  ) = AlexLastAcc a input (I# (len))
-	check_accs (AlexAccSkip) = AlexLastSkip  input (I# (len))
-{-# LINE 198 "templates/GenericTemplate.hs" #-}
-
-data AlexLastAcc a
-  = AlexNone
-  | AlexLastAcc a !AlexInput !Int
-  | AlexLastSkip  !AlexInput !Int
-
-instance Functor AlexLastAcc where
-    fmap f AlexNone = AlexNone
-    fmap f (AlexLastAcc x y z) = AlexLastAcc (f x) y z
-    fmap f (AlexLastSkip x y) = AlexLastSkip x y
-
-data AlexAcc a user
-  = AlexAccNone
-  | AlexAcc a
-  | AlexAccSkip
-{-# LINE 242 "templates/GenericTemplate.hs" #-}
-
--- used by wrappers
-iUnbox (I# (i)) = i
diff --git a/dist/build/Parser.hs b/dist/build/Parser.hs
deleted file mode 100644
--- a/dist/build/Parser.hs
+++ /dev/null
@@ -1,2566 +0,0 @@
-{-# OPTIONS_GHC -w #-}
-{-# OPTIONS -fglasgow-exts -cpp #-}
-module Parser where
-    
-import Data.Char
-import Data.Data
-import Data.Ratio
-import Control.Monad
-import Data.List as L
-import Lexer
-import Data.Set as S
-import Codec.TPTP.Base
-import System.IO
-import System.IO.Unsafe
-import Control.Monad.Identity
-import qualified Data.Array as Happy_Data_Array
-import qualified GHC.Exts as Happy_GHC_Exts
-
--- parser produced by Happy Version 1.19.3
-
-newtype HappyAbsSyn  = HappyAbsSyn HappyAny
-#if __GLASGOW_HASKELL__ >= 607
-type HappyAny = Happy_GHC_Exts.Any
-#else
-type HappyAny = forall a . a
-#endif
-happyIn4 :: ([TPTP_Input_ c]) -> (HappyAbsSyn )
-happyIn4 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn4 #-}
-happyOut4 :: (HappyAbsSyn ) -> ([TPTP_Input_ c])
-happyOut4 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut4 #-}
-happyIn5 :: (TPTP_Input_ c) -> (HappyAbsSyn )
-happyIn5 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn5 #-}
-happyOut5 :: (HappyAbsSyn ) -> (TPTP_Input_ c)
-happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut5 #-}
-happyIn6 :: (TPTP_Input_ c) -> (HappyAbsSyn )
-happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn6 #-}
-happyOut6 :: (HappyAbsSyn ) -> (TPTP_Input_ c)
-happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut6 #-}
-happyIn7 :: (TPTP_Input_ c) -> (HappyAbsSyn )
-happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn7 #-}
-happyOut7 :: (HappyAbsSyn ) -> (TPTP_Input_ c)
-happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut7 #-}
-happyIn8 :: (TPTP_Input_ c) -> (HappyAbsSyn )
-happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn8 #-}
-happyOut8 :: (HappyAbsSyn ) -> (TPTP_Input_ c)
-happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut8 #-}
-happyIn9 :: (Annotations) -> (HappyAbsSyn )
-happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn9 #-}
-happyOut9 :: (HappyAbsSyn ) -> (Annotations)
-happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut9 #-}
-happyIn10 :: (Role) -> (HappyAbsSyn )
-happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn10 #-}
-happyOut10 :: (HappyAbsSyn ) -> (Role)
-happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut10 #-}
-happyIn11 :: (F c) -> (HappyAbsSyn )
-happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn11 #-}
-happyOut11 :: (HappyAbsSyn ) -> (F c)
-happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut11 #-}
-happyIn12 :: (F c) -> (HappyAbsSyn )
-happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn12 #-}
-happyOut12 :: (HappyAbsSyn ) -> (F c)
-happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut12 #-}
-happyIn13 :: (F c) -> (HappyAbsSyn )
-happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn13 #-}
-happyOut13 :: (HappyAbsSyn ) -> (F c)
-happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut13 #-}
-happyIn14 :: (F c) -> (HappyAbsSyn )
-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn14 #-}
-happyOut14 :: (HappyAbsSyn ) -> (F c)
-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut14 #-}
-happyIn15 :: (F c) -> (HappyAbsSyn )
-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn15 #-}
-happyOut15 :: (HappyAbsSyn ) -> (F c)
-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut15 #-}
-happyIn16 :: ([F c]) -> (HappyAbsSyn )
-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn16 #-}
-happyOut16 :: (HappyAbsSyn ) -> ([F c])
-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut16 #-}
-happyIn17 :: (F c) -> (HappyAbsSyn )
-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn17 #-}
-happyOut17 :: (HappyAbsSyn ) -> (F c)
-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut17 #-}
-happyIn18 :: ([F c]) -> (HappyAbsSyn )
-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn18 #-}
-happyOut18 :: (HappyAbsSyn ) -> ([F c])
-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut18 #-}
-happyIn19 :: (Formula) -> (HappyAbsSyn )
-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn19 #-}
-happyOut19 :: (HappyAbsSyn ) -> (Formula)
-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut19 #-}
-happyIn20 :: (F c) -> (HappyAbsSyn )
-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn20 #-}
-happyOut20 :: (HappyAbsSyn ) -> (F c)
-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut20 #-}
-happyIn21 :: ([V]) -> (HappyAbsSyn )
-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn21 #-}
-happyOut21 :: (HappyAbsSyn ) -> ([V])
-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut21 #-}
-happyIn22 :: (F c) -> (HappyAbsSyn )
-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn22 #-}
-happyOut22 :: (HappyAbsSyn ) -> (F c)
-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut22 #-}
-happyIn23 :: (F c) -> (HappyAbsSyn )
-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn23 #-}
-happyOut23 :: (HappyAbsSyn ) -> (F c)
-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut23 #-}
-happyIn24 :: (F c) -> (HappyAbsSyn )
-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn24 #-}
-happyOut24 :: (HappyAbsSyn ) -> (F c)
-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut24 #-}
-happyIn25 :: ([F c]) -> (HappyAbsSyn )
-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn25 #-}
-happyOut25 :: (HappyAbsSyn ) -> ([F c])
-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut25 #-}
-happyIn26 :: (Formula) -> (HappyAbsSyn )
-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn26 #-}
-happyOut26 :: (HappyAbsSyn ) -> (Formula)
-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut26 #-}
-happyIn27 :: (F c) -> (HappyAbsSyn )
-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn27 #-}
-happyOut27 :: (HappyAbsSyn ) -> (F c)
-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut27 #-}
-happyIn28 :: ([V] -> Formula -> Formula) -> (HappyAbsSyn )
-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn28 #-}
-happyOut28 :: (HappyAbsSyn ) -> ([V] -> Formula -> Formula)
-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut28 #-}
-happyIn29 :: (Formula -> Formula -> Formula) -> (HappyAbsSyn )
-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn29 #-}
-happyOut29 :: (HappyAbsSyn ) -> (Formula -> Formula -> Formula)
-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut29 #-}
-happyIn30 :: (Formula -> Formula) -> (HappyAbsSyn )
-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn30 #-}
-happyOut30 :: (HappyAbsSyn ) -> (Formula -> Formula)
-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut30 #-}
-happyIn31 :: (F c) -> (HappyAbsSyn )
-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn31 #-}
-happyOut31 :: (HappyAbsSyn ) -> (F c)
-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut31 #-}
-happyIn32 :: (F c) -> (HappyAbsSyn )
-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn32 #-}
-happyOut32 :: (HappyAbsSyn ) -> (F c)
-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut32 #-}
-happyIn33 :: (F c) -> (HappyAbsSyn )
-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn33 #-}
-happyOut33 :: (HappyAbsSyn ) -> (F c)
-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut33 #-}
-happyIn34 :: (F c) -> (HappyAbsSyn )
-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn34 #-}
-happyOut34 :: (HappyAbsSyn ) -> (F c)
-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut34 #-}
-happyIn35 :: (F c) -> (HappyAbsSyn )
-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn35 #-}
-happyOut35 :: (HappyAbsSyn ) -> (F c)
-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut35 #-}
-happyIn36 :: (T c -> T c -> F c) -> (HappyAbsSyn )
-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn36 #-}
-happyOut36 :: (HappyAbsSyn ) -> (T c -> T c -> F c)
-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut36 #-}
-happyIn37 :: (Term -> Term -> Formula) -> (HappyAbsSyn )
-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn37 #-}
-happyOut37 :: (HappyAbsSyn ) -> (Term -> Term -> Formula)
-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut37 #-}
-happyIn38 :: (Term -> Term -> Formula) -> (HappyAbsSyn )
-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn38 #-}
-happyOut38 :: (HappyAbsSyn ) -> (Term -> Term -> Formula)
-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut38 #-}
-happyIn39 :: (F c) -> (HappyAbsSyn )
-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn39 #-}
-happyOut39 :: (HappyAbsSyn ) -> (F c)
-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut39 #-}
-happyIn40 :: (Term) -> (HappyAbsSyn )
-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn40 #-}
-happyOut40 :: (HappyAbsSyn ) -> (Term)
-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut40 #-}
-happyIn41 :: (Term) -> (HappyAbsSyn )
-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn41 #-}
-happyOut41 :: (HappyAbsSyn ) -> (Term)
-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut41 #-}
-happyIn42 :: (Term) -> (HappyAbsSyn )
-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn42 #-}
-happyOut42 :: (HappyAbsSyn ) -> (Term)
-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut42 #-}
-happyIn43 :: (AtomicWord) -> (HappyAbsSyn )
-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn43 #-}
-happyOut43 :: (HappyAbsSyn ) -> (AtomicWord)
-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut43 #-}
-happyIn44 :: (AtomicWord) -> (HappyAbsSyn )
-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn44 #-}
-happyOut44 :: (HappyAbsSyn ) -> (AtomicWord)
-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut44 #-}
-happyIn45 :: (Term) -> (HappyAbsSyn )
-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn45 #-}
-happyOut45 :: (HappyAbsSyn ) -> (Term)
-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut45 #-}
-happyIn46 :: (Term) -> (HappyAbsSyn )
-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn46 #-}
-happyOut46 :: (HappyAbsSyn ) -> (Term)
-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut46 #-}
-happyIn47 :: (Term) -> (HappyAbsSyn )
-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn47 #-}
-happyOut47 :: (HappyAbsSyn ) -> (Term)
-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut47 #-}
-happyIn48 :: (Term) -> (HappyAbsSyn )
-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn48 #-}
-happyOut48 :: (HappyAbsSyn ) -> (Term)
-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut48 #-}
-happyIn49 :: (String) -> (HappyAbsSyn )
-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn49 #-}
-happyOut49 :: (HappyAbsSyn ) -> (String)
-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut49 #-}
-happyIn50 :: (String) -> (HappyAbsSyn )
-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn50 #-}
-happyOut50 :: (HappyAbsSyn ) -> (String)
-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut50 #-}
-happyIn51 :: (Term) -> (HappyAbsSyn )
-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn51 #-}
-happyOut51 :: (HappyAbsSyn ) -> (Term)
-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut51 #-}
-happyIn52 :: (String) -> (HappyAbsSyn )
-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn52 #-}
-happyOut52 :: (HappyAbsSyn ) -> (String)
-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut52 #-}
-happyIn53 :: (String) -> (HappyAbsSyn )
-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn53 #-}
-happyOut53 :: (HappyAbsSyn ) -> (String)
-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut53 #-}
-happyIn54 :: (V) -> (HappyAbsSyn )
-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn54 #-}
-happyOut54 :: (HappyAbsSyn ) -> (V)
-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut54 #-}
-happyIn55 :: ([T c]) -> (HappyAbsSyn )
-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn55 #-}
-happyOut55 :: (HappyAbsSyn ) -> ([T c])
-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut55 #-}
-happyIn56 :: (GTerm) -> (HappyAbsSyn )
-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn56 #-}
-happyOut56 :: (HappyAbsSyn ) -> (GTerm)
-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut56 #-}
-happyIn57 :: (UsefulInfo) -> (HappyAbsSyn )
-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn57 #-}
-happyOut57 :: (HappyAbsSyn ) -> (UsefulInfo)
-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut57 #-}
-happyIn58 :: (UsefulInfo) -> (HappyAbsSyn )
-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn58 #-}
-happyOut58 :: (HappyAbsSyn ) -> (UsefulInfo)
-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut58 #-}
-happyIn59 :: (TPTP_Input) -> (HappyAbsSyn )
-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn59 #-}
-happyOut59 :: (HappyAbsSyn ) -> (TPTP_Input)
-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut59 #-}
-happyIn60 :: ([AtomicWord]) -> (HappyAbsSyn )
-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn60 #-}
-happyOut60 :: (HappyAbsSyn ) -> ([AtomicWord])
-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut60 #-}
-happyIn61 :: ([AtomicWord]) -> (HappyAbsSyn )
-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn61 #-}
-happyOut61 :: (HappyAbsSyn ) -> ([AtomicWord])
-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut61 #-}
-happyIn62 :: (GTerm) -> (HappyAbsSyn )
-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn62 #-}
-happyOut62 :: (HappyAbsSyn ) -> (GTerm)
-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut62 #-}
-happyIn63 :: (GData) -> (HappyAbsSyn )
-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn63 #-}
-happyOut63 :: (HappyAbsSyn ) -> (GData)
-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut63 #-}
-happyIn64 :: (GData) -> (HappyAbsSyn )
-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn64 #-}
-happyOut64 :: (HappyAbsSyn ) -> (GData)
-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut64 #-}
-happyIn65 :: ([GTerm]) -> (HappyAbsSyn )
-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn65 #-}
-happyOut65 :: (HappyAbsSyn ) -> ([GTerm])
-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut65 #-}
-happyIn66 :: ([GTerm]) -> (HappyAbsSyn )
-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn66 #-}
-happyOut66 :: (HappyAbsSyn ) -> ([GTerm])
-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut66 #-}
-happyIn67 :: (AtomicWord) -> (HappyAbsSyn )
-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn67 #-}
-happyOut67 :: (HappyAbsSyn ) -> (AtomicWord)
-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut67 #-}
-happyIn68 :: (AtomicWord) -> (HappyAbsSyn )
-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn68 #-}
-happyOut68 :: (HappyAbsSyn ) -> (AtomicWord)
-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut68 #-}
-happyIn69 :: (String) -> (HappyAbsSyn )
-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn69 #-}
-happyOut69 :: (HappyAbsSyn ) -> (String)
-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut69 #-}
-happyIn70 :: (String) -> (HappyAbsSyn )
-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn70 #-}
-happyOut70 :: (HappyAbsSyn ) -> (String)
-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut70 #-}
-happyIn71 :: (Rational) -> (HappyAbsSyn )
-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn71 #-}
-happyOut71 :: (HappyAbsSyn ) -> (Rational)
-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut71 #-}
-happyIn72 :: (Integer) -> (HappyAbsSyn )
-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn72 #-}
-happyOut72 :: (HappyAbsSyn ) -> (Integer)
-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut72 #-}
-happyIn73 :: (Rational) -> (HappyAbsSyn )
-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn73 #-}
-happyOut73 :: (HappyAbsSyn ) -> (Rational)
-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut73 #-}
-happyIn74 :: (String) -> (HappyAbsSyn )
-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn74 #-}
-happyOut74 :: (HappyAbsSyn ) -> (String)
-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut74 #-}
-happyIn75 :: (String) -> (HappyAbsSyn )
-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn75 #-}
-happyOut75 :: (HappyAbsSyn ) -> (String)
-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut75 #-}
-happyIn76 :: (Token) -> (HappyAbsSyn )
-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn76 #-}
-happyOut76 :: (HappyAbsSyn ) -> (Token)
-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut76 #-}
-happyIn77 :: (Token) -> (HappyAbsSyn )
-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn77 #-}
-happyOut77 :: (HappyAbsSyn ) -> (Token)
-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut77 #-}
-happyIn78 :: (Token) -> (HappyAbsSyn )
-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn78 #-}
-happyOut78 :: (HappyAbsSyn ) -> (Token)
-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut78 #-}
-happyIn79 :: (Token) -> (HappyAbsSyn )
-happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn79 #-}
-happyOut79 :: (HappyAbsSyn ) -> (Token)
-happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut79 #-}
-happyIn80 :: (Token) -> (HappyAbsSyn )
-happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn80 #-}
-happyOut80 :: (HappyAbsSyn ) -> (Token)
-happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut80 #-}
-happyIn81 :: (Token) -> (HappyAbsSyn )
-happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn81 #-}
-happyOut81 :: (HappyAbsSyn ) -> (Token)
-happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut81 #-}
-happyIn82 :: (Token) -> (HappyAbsSyn )
-happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn82 #-}
-happyOut82 :: (HappyAbsSyn ) -> (Token)
-happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut82 #-}
-happyIn83 :: (Token) -> (HappyAbsSyn )
-happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn83 #-}
-happyOut83 :: (HappyAbsSyn ) -> (Token)
-happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut83 #-}
-happyIn84 :: (Token) -> (HappyAbsSyn )
-happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn84 #-}
-happyOut84 :: (HappyAbsSyn ) -> (Token)
-happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut84 #-}
-happyIn85 :: (Token) -> (HappyAbsSyn )
-happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn85 #-}
-happyOut85 :: (HappyAbsSyn ) -> (Token)
-happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut85 #-}
-happyIn86 :: (Token) -> (HappyAbsSyn )
-happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn86 #-}
-happyOut86 :: (HappyAbsSyn ) -> (Token)
-happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut86 #-}
-happyIn87 :: (Token) -> (HappyAbsSyn )
-happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn87 #-}
-happyOut87 :: (HappyAbsSyn ) -> (Token)
-happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut87 #-}
-happyIn88 :: (Token) -> (HappyAbsSyn )
-happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn88 #-}
-happyOut88 :: (HappyAbsSyn ) -> (Token)
-happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut88 #-}
-happyIn89 :: (Token) -> (HappyAbsSyn )
-happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn89 #-}
-happyOut89 :: (HappyAbsSyn ) -> (Token)
-happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut89 #-}
-happyIn90 :: (Token) -> (HappyAbsSyn )
-happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn90 #-}
-happyOut90 :: (HappyAbsSyn ) -> (Token)
-happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut90 #-}
-happyIn91 :: (Token) -> (HappyAbsSyn )
-happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn91 #-}
-happyOut91 :: (HappyAbsSyn ) -> (Token)
-happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut91 #-}
-happyIn92 :: (Token) -> (HappyAbsSyn )
-happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn92 #-}
-happyOut92 :: (HappyAbsSyn ) -> (Token)
-happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut92 #-}
-happyIn93 :: (Token) -> (HappyAbsSyn )
-happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn93 #-}
-happyOut93 :: (HappyAbsSyn ) -> (Token)
-happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut93 #-}
-happyIn94 :: (Token) -> (HappyAbsSyn )
-happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn94 #-}
-happyOut94 :: (HappyAbsSyn ) -> (Token)
-happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut94 #-}
-happyIn95 :: (Token) -> (HappyAbsSyn )
-happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn95 #-}
-happyOut95 :: (HappyAbsSyn ) -> (Token)
-happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut95 #-}
-happyIn96 :: (Token) -> (HappyAbsSyn )
-happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn96 #-}
-happyOut96 :: (HappyAbsSyn ) -> (Token)
-happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut96 #-}
-happyIn97 :: (Token) -> (HappyAbsSyn )
-happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn97 #-}
-happyOut97 :: (HappyAbsSyn ) -> (Token)
-happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut97 #-}
-happyIn98 :: (Token) -> (HappyAbsSyn )
-happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn98 #-}
-happyOut98 :: (HappyAbsSyn ) -> (Token)
-happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut98 #-}
-happyIn99 :: (Token) -> (HappyAbsSyn )
-happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn99 #-}
-happyOut99 :: (HappyAbsSyn ) -> (Token)
-happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut99 #-}
-happyIn100 :: (Token) -> (HappyAbsSyn )
-happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn100 #-}
-happyOut100 :: (HappyAbsSyn ) -> (Token)
-happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut100 #-}
-happyIn101 :: (Token) -> (HappyAbsSyn )
-happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn101 #-}
-happyOut101 :: (HappyAbsSyn ) -> (Token)
-happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut101 #-}
-happyIn102 :: (String) -> (HappyAbsSyn )
-happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn102 #-}
-happyOut102 :: (HappyAbsSyn ) -> (String)
-happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut102 #-}
-happyIn103 :: (String) -> (HappyAbsSyn )
-happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn103 #-}
-happyOut103 :: (HappyAbsSyn ) -> (String)
-happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut103 #-}
-happyIn104 :: (String) -> (HappyAbsSyn )
-happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn104 #-}
-happyOut104 :: (HappyAbsSyn ) -> (String)
-happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut104 #-}
-happyIn105 :: (String) -> (HappyAbsSyn )
-happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn105 #-}
-happyOut105 :: (HappyAbsSyn ) -> (String)
-happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut105 #-}
-happyIn106 :: (String) -> (HappyAbsSyn )
-happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn106 #-}
-happyOut106 :: (HappyAbsSyn ) -> (String)
-happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut106 #-}
-happyIn107 :: (String) -> (HappyAbsSyn )
-happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn107 #-}
-happyOut107 :: (HappyAbsSyn ) -> (String)
-happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut107 #-}
-happyIn108 :: (Integer) -> (HappyAbsSyn )
-happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn108 #-}
-happyOut108 :: (HappyAbsSyn ) -> (Integer)
-happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut108 #-}
-happyIn109 :: (Integer) -> (HappyAbsSyn )
-happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn109 #-}
-happyOut109 :: (HappyAbsSyn ) -> (Integer)
-happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut109 #-}
-happyIn110 :: (Rational) -> (HappyAbsSyn )
-happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn110 #-}
-happyOut110 :: (HappyAbsSyn ) -> (Rational)
-happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut110 #-}
-happyIn111 :: ([String]) -> (HappyAbsSyn )
-happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn111 #-}
-happyOut111 :: (HappyAbsSyn ) -> ([String])
-happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut111 #-}
-happyInTok :: (Token) -> (HappyAbsSyn )
-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyInTok #-}
-happyOutTok :: (HappyAbsSyn ) -> (Token)
-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOutTok #-}
-
-
-happyActOffsets :: HappyAddr
-happyActOffsets = HappyA# "\xe7\x00\x00\x00\x3f\x02\xe7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x4a\x02\x4a\x02\x22\x02\x22\x02\x22\x02\x00\x00\x00\x00\x22\x02\x00\x00\x00\x00\x2d\x02\x21\x02\x93\x00\x93\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x02\x1e\x02\x1e\x02\x2e\x02\x00\x00\x2e\x02\x00\x00\x00\x00\x30\x02\x2c\x02\x09\x02\xde\x00\x00\x00\x00\x00\x00\x00\xde\x00\x28\x02\x00\x00\x28\x02\x00\x00\x93\x00\x07\x02\x16\x02\xd3\x01\x00\x00\x00\x00\xd3\x01\x00\x00\xf3\x01\xf1\x01\x08\x02\xb0\x01\xf1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x03\x00\x00\x00\x00\x00\x00\xec\x01\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x89\x00\x00\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x87\x00\x00\x00\xe9\x01\x84\x00\x00\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x01\x00\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xe4\x01\x00\x00\xc1\x01\x00\x00\x00\x00\x06\x03\xf2\x01\x93\x00\x00\x00\xc2\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x01\xc4\x01\x00\x00\x06\x03\xa0\x01\xbe\x01\xbf\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x01\x97\x01\xf2\x01\xf2\x01\xf2\x01\xf2\x01\x00\x00\xf2\x01\x00\x00\x00\x00\x93\x01\x93\x01\x00\x00\x98\x01\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x01\xb0\x01\x91\x01\x91\x01\x91\x01\x91\x01\x91\x01\x91\x01\x91\x01\xb2\x01\xaf\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x01\x9b\x01\x00\x00\xae\x01\xaa\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x01\xac\x01\xac\x01\xac\x01\x00\x00\x00\x00\x00\x00\xa8\x01\x00\x00\x92\x01\x00\x00\x00\x00\x8f\x01\x00\x00\x63\x02\x00\x00\x8f\x01\x95\x01\x00\x00\x84\x01\x00\x00\x00\x00\x00\x00\xb0\x01\x8e\x01\x8b\x01\x00\x00\xbf\x02\xbf\x02\x69\x01\x00\x00\x8a\x01\x00\x00\x00\x00\x00\x00\xf2\x01\x6c\x01\x71\x01\x00\x00\xb0\x01\x00\x00\xb0\x01\x00\x00\x64\x01\x62\x01\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\xbf\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-
-happyGotoOffsets :: HappyAddr
-happyGotoOffsets = HappyA# "\x48\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x01\x27\x01\x10\x01\x0a\x01\x06\x01\x05\x01\x00\x00\x00\x00\x03\x01\x00\x00\x00\x00\xcd\xff\xfc\x00\xe9\x03\x92\x03\x00\x00\x18\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\xf1\x00\xef\x00\x0f\x01\x00\x00\xe4\xff\x00\x00\x00\x00\x0e\x01\x0c\x01\xee\x00\xae\x00\x00\x00\x00\x00\x00\x00\x50\x00\x09\x01\x00\x00\x07\x01\x00\x00\x81\x06\xe9\x00\x04\x01\xd5\x00\x00\x00\x00\x00\xd4\x00\x00\x00\xf3\x00\xe8\x00\x9e\x03\xc2\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x01\x00\x00\x00\x00\x00\x00\xed\x00\x46\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\x00\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x00\x00\x00\x00\x00\xd1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\xb4\x00\xb0\x00\xaf\x00\xad\x00\xac\x00\xab\x00\xa9\x00\xa8\x00\x06\x00\x00\x00\xf3\xff\x00\x00\x00\x00\xf5\x03\x9a\x04\x70\x06\x00\x00\xa7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\xc7\x00\x00\x00\x4a\x04\xa6\x00\xbf\x00\x30\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x92\x00\x46\x05\x1b\x05\xf0\x04\x9c\x05\x00\x00\x71\x05\x00\x00\x00\x00\x8f\x00\x8e\x00\x00\x00\xec\x00\xea\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x02\x32\x02\x79\x00\x78\x00\x77\x00\x70\x00\x6d\x00\x6b\x00\x65\x00\x8c\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x35\x00\x00\x00\x83\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x69\x00\x5b\x00\x2e\x00\x00\x00\x00\x00\x00\x00\xe5\xff\x00\x00\x02\x00\x00\x00\x00\x00\x2c\x00\x00\x00\xd5\x05\x00\x00\x29\x00\x22\x00\x00\x00\xf1\xff\x00\x00\x00\x00\x00\x00\xfa\xff\x05\x00\x04\x00\x00\x00\x1c\x06\x63\x06\xdc\xff\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xc5\x04\xa5\x00\xdd\xff\x00\x00\xd6\x01\x00\x00\x7a\x01\x00\x00\x0f\x00\x24\x00\x1e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\x00\x00\xe9\x05\xef\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-
-happyDefActions :: HappyAddr
-happyDefActions = HappyA# "\xfe\xff\x00\x00\x00\x00\xfe\xff\xfc\xff\xf9\xff\xf8\xff\xfb\xff\x00\x00\x00\x00\x00\x00\x5a\xff\x5a\xff\x5a\xff\xfa\xff\x64\xff\x5a\xff\x65\xff\x66\xff\x00\x00\x5a\xff\x00\x00\x00\x00\xfd\xff\x00\x00\x8e\xff\x8c\xff\x80\xff\x7f\xff\x7e\xff\x8b\xff\x81\xff\x8d\xff\x5a\xff\x5a\xff\x5a\xff\x00\x00\x7d\xff\x9f\xff\x82\xff\x59\xff\x00\x00\x00\x00\x5a\xff\x00\x00\x5c\xff\x5e\xff\x63\xff\x00\x00\x00\x00\xf3\xff\x00\x00\x79\xff\x00\x00\x5a\xff\x00\x00\x5a\xff\x7c\xff\xa1\xff\x5a\xff\x7b\xff\x00\x00\x9e\xff\x00\x00\x00\x00\xf4\xff\xf2\xff\xf0\xff\xef\xff\xed\xff\xec\xff\xf1\xff\xe5\xff\xe4\xff\xdd\xff\x00\x00\x00\x00\xe3\xff\xca\xff\xc9\xff\xc6\xff\xc5\xff\xc8\xff\x00\x00\xbe\xff\xc7\xff\xb9\xff\xb7\xff\xbb\xff\xb5\xff\xb4\xff\xc4\xff\xb0\xff\xae\xff\xbf\xff\xac\xff\xaa\xff\xbd\xff\xb6\xff\xad\xff\xa9\xff\xb3\xff\x88\xff\x87\xff\x00\x00\xd3\xff\xd2\xff\xcb\xff\xb2\xff\x8a\xff\x89\xff\xa8\xff\x85\xff\x84\xff\x86\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\xf4\xff\xdb\xff\xd9\xff\xd5\xff\xd7\xff\x00\x00\x00\x00\x00\x00\xa0\xff\x5a\xff\x78\xff\x7a\xff\x9d\xff\xd6\xff\x00\x00\x00\x00\xda\xff\x00\x00\x5a\xff\x00\x00\x00\x00\x5b\xff\x5d\xff\x5f\xff\x60\xff\x61\xff\x62\xff\x67\xff\x6a\xff\x6b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\xff\x00\x00\xc1\xff\xc0\xff\x5a\xff\x5a\xff\xde\xff\x00\x00\x00\x00\xd1\xff\xd0\xff\xce\xff\xcd\xff\xcc\xff\xcf\xff\x00\x00\x00\x00\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x00\x00\x00\x00\x69\xff\x6e\xff\x6f\xff\x70\xff\x71\xff\x72\xff\x73\xff\xea\xff\xe7\xff\xee\xff\x00\x00\xe0\xff\x6c\xff\x6d\xff\xd4\xff\xbc\xff\xb1\xff\xba\xff\xc3\xff\xa7\xff\x00\x00\x00\x00\x00\x00\x83\xff\xe2\xff\x97\xff\xa3\xff\xa5\xff\x9c\xff\x94\xff\x9a\xff\x99\xff\x96\xff\x00\x00\x95\xff\x00\x00\x00\x00\x68\xff\xd9\xff\xdc\xff\xd8\xff\xf6\xff\x00\x00\x90\xff\x00\x00\x92\xff\x00\x00\x00\x00\x5a\xff\xf5\xff\x00\x00\xab\xff\xaf\xff\xb8\xff\x00\x00\x00\x00\x00\x00\xe8\xff\x00\x00\xeb\xff\x00\x00\xf7\xff\xea\xff\xe7\xff\x00\x00\xdf\xff\xa6\xff\xa4\xff\xa2\xff\x74\xff\x9b\xff\x00\x00\x91\xff\x00\x00\x00\x00\x93\xff\x8f\xff\x98\xff\xe1\xff\xe6\xff\xe9\xff"#
-
-happyCheck :: HappyAddr
-happyCheck = HappyA# "\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x15\x00\x0d\x00\x15\x00\x0f\x00\x10\x00\x05\x00\x12\x00\x20\x00\x21\x00\x22\x00\x05\x00\x17\x00\x18\x00\x46\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x35\x00\x0c\x00\x38\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x0c\x00\x51\x00\x62\x00\x4c\x00\x4c\x00\x0e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x49\x00\x36\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x3d\x00\x47\x00\x48\x00\x0e\x00\x49\x00\x58\x00\x59\x00\x6b\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x4a\x00\x5d\x00\x4b\x00\x5d\x00\x4c\x00\x4c\x00\x51\x00\x5a\x00\x5b\x00\x06\x00\x4c\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\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x37\x00\x0d\x00\x5d\x00\x0f\x00\x10\x00\x4d\x00\x12\x00\x48\x00\x20\x00\x21\x00\x48\x00\x17\x00\x18\x00\x49\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x5d\x00\x37\x00\x5c\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x5c\x00\x5f\x00\x60\x00\x61\x00\x11\x00\x12\x00\x47\x00\x11\x00\x12\x00\x11\x00\x12\x00\x11\x00\x12\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x49\x00\x47\x00\x48\x00\x5f\x00\x60\x00\x61\x00\x58\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x5f\x00\x60\x00\x61\x00\x49\x00\x20\x00\x06\x00\x22\x00\x11\x00\x67\x00\x5a\x00\x5b\x00\x4c\x00\x4c\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\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x4b\x00\x0d\x00\x6b\x00\x0f\x00\x10\x00\x4d\x00\x12\x00\x49\x00\x6b\x00\x32\x00\x6b\x00\x17\x00\x18\x00\x6b\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x6b\x00\x6b\x00\x6b\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x47\x00\x18\x00\x19\x00\x1a\x00\x6b\x00\x6b\x00\x69\x00\x49\x00\x11\x00\x20\x00\x18\x00\x19\x00\x1a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x49\x00\x47\x00\x48\x00\x66\x00\x25\x00\x5f\x00\x60\x00\x61\x00\x49\x00\x6b\x00\x6b\x00\x6b\x00\x6b\x00\x67\x00\x6b\x00\x6b\x00\x6b\x00\x48\x00\x6b\x00\x6b\x00\x5a\x00\x5b\x00\x32\x00\x6b\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\x0f\x00\x10\x00\x19\x00\x12\x00\x6b\x00\x48\x00\x48\x00\x4c\x00\x17\x00\x18\x00\x4a\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x4b\x00\x6b\x00\x6b\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x4d\x00\x66\x00\x4c\x00\x6b\x00\x4c\x00\x4a\x00\x49\x00\x48\x00\x6b\x00\x6b\x00\x4c\x00\x6b\x00\x6b\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x4c\x00\x47\x00\x48\x00\x6b\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x6b\x00\x48\x00\x6b\x00\x6b\x00\x5c\x00\x5d\x00\x48\x00\x6b\x00\x02\x00\x15\x00\x5a\x00\x5b\x00\x16\x00\x0a\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\x0f\x00\x10\x00\x1f\x00\x12\x00\x03\x00\x25\x00\x04\x00\x01\x00\x17\x00\x18\x00\x05\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x16\x00\x06\x00\x0a\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x05\x00\x02\x00\x05\x00\x15\x00\x01\x00\x04\x00\x16\x00\x02\x00\x06\x00\x25\x00\x1f\x00\x25\x00\x22\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x02\x00\x47\x00\x48\x00\x13\x00\x14\x00\x25\x00\x02\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x5a\x00\x5b\x00\x11\x00\x16\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\x0f\x00\x10\x00\x25\x00\x12\x00\x05\x00\x01\x00\x25\x00\x24\x00\x17\x00\x18\x00\x03\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x05\x00\x04\x00\x25\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x01\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x06\x00\x47\x00\x48\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x25\x00\x05\x00\x25\x00\x03\x00\x5a\x00\x5b\x00\x02\x00\x05\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\x0f\x00\x10\x00\x25\x00\x12\x00\x05\x00\x25\x00\x25\x00\x1b\x00\x17\x00\x18\x00\x01\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x26\x00\x03\x00\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\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\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\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\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\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\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\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\x5a\x00\x5b\x00\xff\xff\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\x13\x00\x14\x00\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\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\x14\x00\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\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\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\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\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\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\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\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x32\x00\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\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\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x32\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x32\x00\x47\x00\x34\x00\xff\xff\x4a\x00\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\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\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x32\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x39\x00\x47\x00\xff\xff\xff\xff\x4a\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3f\x00\x40\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x47\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff"#
-
-happyTable :: HappyAddr
-happyTable = HappyA# "\x00\x00\x04\x01\x42\x00\x43\x00\x44\x00\x45\x00\xe2\x00\x46\x00\x8c\x00\x47\x00\x48\x00\x8f\x00\x49\x00\x9f\x00\xa0\x00\xa1\x00\xb8\x00\x4a\x00\x4b\x00\x26\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xeb\x00\x0a\x01\x29\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\xf5\x00\xfa\x00\x27\x00\x2a\x00\xec\x00\x09\x01\x17\x00\x03\x00\x04\x00\x05\x00\x06\x00\x05\x01\xfd\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xfe\x00\x1a\x00\x68\x00\xf3\x00\x07\x01\xa2\x00\xa3\x00\xff\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xdb\x00\x8d\x00\x02\x01\x8d\x00\x03\x01\x90\x00\xe9\x00\x69\x00\x6a\x00\x31\x00\x90\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x9a\x00\x42\x00\x43\x00\x44\x00\x45\x00\x07\x00\x46\x00\xf6\x00\x47\x00\x48\x00\xe3\x00\x49\x00\xe4\x00\x9f\x00\xa0\x00\xe8\x00\x4a\x00\x4b\x00\xed\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xf6\x00\x07\x00\xf4\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\xf4\x00\x08\x00\x09\x00\x0a\x00\xba\xff\xba\xff\x32\x00\xb1\xff\xb1\xff\xbc\xff\xbc\xff\xa5\x00\xa6\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xee\x00\x1a\x00\x68\x00\x08\x00\x09\x00\x0a\x00\xa2\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\xef\x00\x23\x00\x33\x00\x24\x00\xfb\x00\x1f\x00\x69\x00\x6a\x00\xf0\x00\xf1\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xf2\x00\x46\x00\xba\x00\x47\x00\x48\x00\xf7\x00\x49\x00\xb9\x00\xbb\x00\xc5\x00\xbc\x00\x4a\x00\x4b\x00\xbd\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xbe\x00\xbf\x00\xc0\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\x32\x00\x0c\x00\x0d\x00\x0e\x00\xc6\x00\xc7\x00\xd1\x00\xd2\x00\xc4\x00\x23\x00\x0c\x00\x0d\x00\x0e\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xde\x00\x1a\x00\x68\x00\x6f\x00\x0f\x00\x1b\x00\x1c\x00\x1d\x00\xe1\x00\xdf\x00\x87\x00\x91\x00\x92\x00\x1f\x00\x93\x00\x94\x00\x95\x00\x9c\x00\x96\x00\x97\x00\x69\x00\x6a\x00\xc5\x00\x98\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x08\x01\x48\x00\xa8\x00\x49\x00\x99\x00\x9d\x00\x9e\x00\x83\x00\x4a\x00\x4b\x00\xa7\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x84\x00\x86\x00\x39\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\x3a\x00\x6f\x00\x3f\x00\x3c\x00\x40\x00\x35\x00\x37\x00\x13\x00\x34\x00\x2d\x00\x2c\x00\x2e\x00\x2f\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x30\x00\x1a\x00\x68\x00\x25\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\x28\x00\x15\x00\x0f\x00\x11\x00\xaf\x00\xb0\x00\x16\x00\x12\x00\x39\x00\xb8\x00\x69\x00\x6a\x00\x8f\x00\xeb\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xf8\x00\x48\x00\x7a\x00\x49\x00\x37\x00\x11\x00\x86\x00\x15\x00\x4a\x00\x4b\x00\x2c\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x8f\x00\x3c\x00\xeb\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\x2c\x00\x39\x00\x2c\x00\xb8\x00\x15\x00\x86\x00\x8f\x00\x39\x00\x3c\x00\x11\x00\x7a\x00\x11\x00\x24\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x39\x00\x1a\x00\x68\x00\x74\x00\x75\x00\x11\x00\x39\x00\x76\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x69\x00\x6a\x00\xa5\x00\x8f\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xf9\x00\x48\x00\x11\x00\x49\x00\x2c\x00\x15\x00\x11\x00\x9c\x00\x4a\x00\x4b\x00\x37\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x2c\x00\x86\x00\x11\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\x15\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x3c\x00\x1a\x00\x68\x00\x76\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x11\x00\x2c\x00\x11\x00\x37\x00\x69\x00\x6a\x00\x39\x00\x2c\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xc1\x00\x48\x00\x11\x00\x49\x00\x2c\x00\x11\x00\x11\x00\x22\x00\x4a\x00\x4b\x00\x15\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\xff\xff\x37\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x00\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xc2\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\x00\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x00\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xc3\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\x76\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xa6\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x80\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x82\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x8b\x00\x00\x00\x7e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x80\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\x24\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x82\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xe0\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x80\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x89\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x8a\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xfc\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xce\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xcf\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xd0\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\x00\xd6\x00\xd7\x00\xd8\x00\xe6\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\xd3\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\xe7\x00\x00\x00\x00\x00\xe5\x00\xd6\x00\xd7\x00\xd8\x00\x06\x01\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\x00\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\xd3\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\xe5\x00\xd6\x00\xd7\x00\xd8\x00\x01\x01\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\xd3\x00\x1a\x00\xd4\x00\x00\x00\xdb\x00\x00\x00\x00\x00\x00\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\x00\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\xd3\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x01\xd6\x00\xd7\x00\xd8\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\x88\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\x00\x00\x3e\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x19\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\x1a\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00"#
-
-happyReduceArr = Happy_Data_Array.array (1, 166) [
-	(1 , happyReduce_1),
-	(2 , happyReduce_2),
-	(3 , happyReduce_3),
-	(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)
-	]
-
-happy_n_terms = 39 :: Int
-happy_n_nonterms = 108 :: Int
-
-happyReduce_1 = happySpecReduce_0  0# happyReduction_1
-happyReduction_1  =  happyIn4
-		 ([]
-	)
-
-happyReduce_2 = happySpecReduce_2  0# happyReduction_2
-happyReduction_2 happy_x_2
-	happy_x_1
-	 =  case happyOut5 happy_x_1 of { happy_var_1 -> 
-	case happyOut4 happy_x_2 of { happy_var_2 -> 
-	happyIn4
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_3 = happySpecReduce_1  1# happyReduction_3
-happyReduction_3 happy_x_1
-	 =  case happyOut6 happy_x_1 of { happy_var_1 -> 
-	happyIn5
-		 (happy_var_1
-	)}
-
-happyReduce_4 = happySpecReduce_1  1# happyReduction_4
-happyReduction_4 happy_x_1
-	 =  case happyOut59 happy_x_1 of { happy_var_1 -> 
-	happyIn5
-		 (happy_var_1
-	)}
-
-happyReduce_5 = happySpecReduce_1  1# happyReduction_5
-happyReduction_5 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (CommentToken happy_var_1) -> 
-	happyIn5
-		 (Comment happy_var_1
-	)}
-
-happyReduce_6 = happySpecReduce_1  2# happyReduction_6
-happyReduction_6 happy_x_1
-	 =  case happyOut7 happy_x_1 of { happy_var_1 -> 
-	happyIn6
-		 (happy_var_1
-	)}
-
-happyReduce_7 = happySpecReduce_1  2# happyReduction_7
-happyReduction_7 happy_x_1
-	 =  case happyOut8 happy_x_1 of { happy_var_1 -> 
-	happyIn6
-		 (happy_var_1
-	)}
-
-happyReduce_8 = happyReduce 10# 3# happyReduction_8
-happyReduction_8 (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 happyOut67 happy_x_3 of { happy_var_3 -> 
-	case happyOut10 happy_x_5 of { happy_var_5 -> 
-	case happyOut11 happy_x_7 of { happy_var_7 -> 
-	case happyOut9 happy_x_8 of { happy_var_8 -> 
-	happyIn7
-		 (AFormula        happy_var_3               happy_var_5                happy_var_7           happy_var_8
-	) `HappyStk` happyRest}}}}
-
-happyReduce_9 = happyReduce 10# 4# happyReduction_9
-happyReduction_9 (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 happyOut67 happy_x_3 of { happy_var_3 -> 
-	case happyOut10 happy_x_5 of { happy_var_5 -> 
-	case happyOut23 happy_x_7 of { happy_var_7 -> 
-	case happyOut9 happy_x_8 of { happy_var_8 -> 
-	happyIn8
-		 (AFormula          happy_var_3              happy_var_5  (univquant_free_vars happy_var_7) happy_var_8
-	) `HappyStk` happyRest}}}}
-
-happyReduce_10 = happySpecReduce_3  5# happyReduction_10
-happyReduction_10 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut56 happy_x_2 of { happy_var_2 -> 
-	case happyOut57 happy_x_3 of { happy_var_3 -> 
-	happyIn9
-		 (Annotations happy_var_2 happy_var_3
-	)}}
-
-happyReduce_11 = happySpecReduce_0  5# happyReduction_11
-happyReduction_11  =  happyIn9
-		 (NoAnnotations
-	)
-
-happyReduce_12 = happySpecReduce_1  6# happyReduction_12
-happyReduction_12 happy_x_1
-	 =  case happyOut75 happy_x_1 of { happy_var_1 -> 
-	happyIn10
-		 (Role happy_var_1
-	)}
-
-happyReduce_13 = happySpecReduce_1  7# happyReduction_13
-happyReduction_13 happy_x_1
-	 =  case happyOut12 happy_x_1 of { happy_var_1 -> 
-	happyIn11
-		 (happy_var_1
-	)}
-
-happyReduce_14 = happySpecReduce_1  7# happyReduction_14
-happyReduction_14 happy_x_1
-	 =  case happyOut19 happy_x_1 of { happy_var_1 -> 
-	happyIn11
-		 (happy_var_1
-	)}
-
-happyReduce_15 = happySpecReduce_1  8# happyReduction_15
-happyReduction_15 happy_x_1
-	 =  case happyOut13 happy_x_1 of { happy_var_1 -> 
-	happyIn12
-		 (happy_var_1
-	)}
-
-happyReduce_16 = happySpecReduce_1  8# happyReduction_16
-happyReduction_16 happy_x_1
-	 =  case happyOut14 happy_x_1 of { happy_var_1 -> 
-	happyIn12
-		 (happy_var_1
-	)}
-
-happyReduce_17 = happySpecReduce_3  9# happyReduction_17
-happyReduction_17 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut19 happy_x_1 of { happy_var_1 -> 
-	case happyOut29 happy_x_2 of { happy_var_2 -> 
-	case happyOut19 happy_x_3 of { happy_var_3 -> 
-	happyIn13
-		 (happy_var_2 happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_18 = happySpecReduce_1  10# happyReduction_18
-happyReduction_18 happy_x_1
-	 =  case happyOut15 happy_x_1 of { happy_var_1 -> 
-	happyIn14
-		 (happy_var_1
-	)}
-
-happyReduce_19 = happySpecReduce_1  10# happyReduction_19
-happyReduction_19 happy_x_1
-	 =  case happyOut17 happy_x_1 of { happy_var_1 -> 
-	happyIn14
-		 (happy_var_1
-	)}
-
-happyReduce_20 = happyReduce 4# 11# happyReduction_20
-happyReduction_20 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut19 happy_x_1 of { happy_var_1 -> 
-	case happyOut19 happy_x_3 of { happy_var_3 -> 
-	case happyOut16 happy_x_4 of { happy_var_4 -> 
-	happyIn15
-		 (L.foldl (.|.) (happy_var_1 .|. happy_var_3) happy_var_4
-	) `HappyStk` happyRest}}}
-
-happyReduce_21 = happySpecReduce_0  12# happyReduction_21
-happyReduction_21  =  happyIn16
-		 ([]
-	)
-
-happyReduce_22 = happySpecReduce_3  12# happyReduction_22
-happyReduction_22 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut19 happy_x_2 of { happy_var_2 -> 
-	case happyOut16 happy_x_3 of { happy_var_3 -> 
-	happyIn16
-		 (happy_var_2 : happy_var_3
-	)}}
-
-happyReduce_23 = happyReduce 4# 13# happyReduction_23
-happyReduction_23 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut19 happy_x_1 of { happy_var_1 -> 
-	case happyOut19 happy_x_3 of { happy_var_3 -> 
-	case happyOut18 happy_x_4 of { happy_var_4 -> 
-	happyIn17
-		 (L.foldl (.&.) (happy_var_1 .&. happy_var_3) happy_var_4
-	) `HappyStk` happyRest}}}
-
-happyReduce_24 = happySpecReduce_0  14# happyReduction_24
-happyReduction_24  =  happyIn18
-		 ([]
-	)
-
-happyReduce_25 = happySpecReduce_3  14# happyReduction_25
-happyReduction_25 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut19 happy_x_2 of { happy_var_2 -> 
-	case happyOut18 happy_x_3 of { happy_var_3 -> 
-	happyIn18
-		 (happy_var_2 : happy_var_3
-	)}}
-
-happyReduce_26 = happySpecReduce_1  15# happyReduction_26
-happyReduction_26 happy_x_1
-	 =  case happyOut20 happy_x_1 of { happy_var_1 -> 
-	happyIn19
-		 (happy_var_1
-	)}
-
-happyReduce_27 = happySpecReduce_1  15# happyReduction_27
-happyReduction_27 happy_x_1
-	 =  case happyOut22 happy_x_1 of { happy_var_1 -> 
-	happyIn19
-		 (happy_var_1
-	)}
-
-happyReduce_28 = happySpecReduce_1  15# happyReduction_28
-happyReduction_28 happy_x_1
-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> 
-	happyIn19
-		 (happy_var_1
-	)}
-
-happyReduce_29 = happySpecReduce_3  15# happyReduction_29
-happyReduction_29 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut11 happy_x_2 of { happy_var_2 -> 
-	happyIn19
-		 (happy_var_2
-	)}
-
-happyReduce_30 = happyReduce 6# 16# happyReduction_30
-happyReduction_30 (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 happyOut28 happy_x_1 of { happy_var_1 -> 
-	case happyOut21 happy_x_3 of { happy_var_3 -> 
-	case happyOut19 happy_x_6 of { happy_var_6 -> 
-	happyIn20
-		 (happy_var_1 happy_var_3 happy_var_6
-	) `HappyStk` happyRest}}}
-
-happyReduce_31 = happySpecReduce_1  17# happyReduction_31
-happyReduction_31 happy_x_1
-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> 
-	happyIn21
-		 ([happy_var_1]
-	)}
-
-happyReduce_32 = happySpecReduce_3  17# happyReduction_32
-happyReduction_32 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> 
-	case happyOut21 happy_x_3 of { happy_var_3 -> 
-	happyIn21
-		 (happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_33 = happySpecReduce_2  18# happyReduction_33
-happyReduction_33 happy_x_2
-	happy_x_1
-	 =  case happyOut30 happy_x_1 of { happy_var_1 -> 
-	case happyOut19 happy_x_2 of { happy_var_2 -> 
-	happyIn22
-		 (happy_var_1 happy_var_2
-	)}}
-
-happyReduce_34 = happySpecReduce_1  18# happyReduction_34
-happyReduction_34 happy_x_1
-	 =  case happyOut27 happy_x_1 of { happy_var_1 -> 
-	happyIn22
-		 (happy_var_1
-	)}
-
-happyReduce_35 = happySpecReduce_3  19# happyReduction_35
-happyReduction_35 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut24 happy_x_2 of { happy_var_2 -> 
-	happyIn23
-		 (happy_var_2
-	)}
-
-happyReduce_36 = happySpecReduce_1  19# happyReduction_36
-happyReduction_36 happy_x_1
-	 =  case happyOut24 happy_x_1 of { happy_var_1 -> 
-	happyIn23
-		 (happy_var_1
-	)}
-
-happyReduce_37 = happySpecReduce_2  20# happyReduction_37
-happyReduction_37 happy_x_2
-	happy_x_1
-	 =  case happyOut26 happy_x_1 of { happy_var_1 -> 
-	case happyOut25 happy_x_2 of { happy_var_2 -> 
-	happyIn24
-		 (L.foldl (.|.) happy_var_1 happy_var_2
-	)}}
-
-happyReduce_38 = happySpecReduce_0  21# happyReduction_38
-happyReduction_38  =  happyIn25
-		 ([]
-	)
-
-happyReduce_39 = happySpecReduce_3  21# happyReduction_39
-happyReduction_39 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut26 happy_x_2 of { happy_var_2 -> 
-	case happyOut25 happy_x_3 of { happy_var_3 -> 
-	happyIn25
-		 (happy_var_2 : happy_var_3
-	)}}
-
-happyReduce_40 = happySpecReduce_1  22# happyReduction_40
-happyReduction_40 happy_x_1
-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> 
-	happyIn26
-		 (happy_var_1
-	)}
-
-happyReduce_41 = happySpecReduce_2  22# happyReduction_41
-happyReduction_41 happy_x_2
-	happy_x_1
-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> 
-	happyIn26
-		 ((.~.) happy_var_2
-	)}
-
-happyReduce_42 = happySpecReduce_1  22# happyReduction_42
-happyReduction_42 happy_x_1
-	 =  case happyOut27 happy_x_1 of { happy_var_1 -> 
-	happyIn26
-		 (happy_var_1
-	)}
-
-happyReduce_43 = happySpecReduce_3  23# happyReduction_43
-happyReduction_43 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut40 happy_x_1 of { happy_var_1 -> 
-	case happyOut38 happy_x_2 of { happy_var_2 -> 
-	case happyOut40 happy_x_3 of { happy_var_3 -> 
-	happyIn27
-		 (happy_var_2 happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_44 = happySpecReduce_1  24# happyReduction_44
-happyReduction_44 happy_x_1
-	 =  happyIn28
-		 (for_all
-	)
-
-happyReduce_45 = happySpecReduce_1  24# happyReduction_45
-happyReduction_45 happy_x_1
-	 =  happyIn28
-		 (exists
-	)
-
-happyReduce_46 = happySpecReduce_1  25# happyReduction_46
-happyReduction_46 happy_x_1
-	 =  happyIn29
-		 ((.<=>.)
-	)
-
-happyReduce_47 = happySpecReduce_1  25# happyReduction_47
-happyReduction_47 happy_x_1
-	 =  happyIn29
-		 ((.=>.)
-	)
-
-happyReduce_48 = happySpecReduce_1  25# happyReduction_48
-happyReduction_48 happy_x_1
-	 =  happyIn29
-		 ((.<=.)
-	)
-
-happyReduce_49 = happySpecReduce_1  25# happyReduction_49
-happyReduction_49 happy_x_1
-	 =  happyIn29
-		 ((.<~>.)
-	)
-
-happyReduce_50 = happySpecReduce_1  25# happyReduction_50
-happyReduction_50 happy_x_1
-	 =  happyIn29
-		 ((.~|.)
-	)
-
-happyReduce_51 = happySpecReduce_1  25# happyReduction_51
-happyReduction_51 happy_x_1
-	 =  happyIn29
-		 ((.~&.)
-	)
-
-happyReduce_52 = happySpecReduce_1  26# happyReduction_52
-happyReduction_52 happy_x_1
-	 =  happyIn30
-		 ((.~.)
-	)
-
-happyReduce_53 = happySpecReduce_1  27# happyReduction_53
-happyReduction_53 happy_x_1
-	 =  case happyOut32 happy_x_1 of { happy_var_1 -> 
-	happyIn31
-		 (happy_var_1
-	)}
-
-happyReduce_54 = happySpecReduce_1  27# happyReduction_54
-happyReduction_54 happy_x_1
-	 =  case happyOut33 happy_x_1 of { happy_var_1 -> 
-	happyIn31
-		 (happy_var_1
-	)}
-
-happyReduce_55 = happySpecReduce_1  27# happyReduction_55
-happyReduction_55 happy_x_1
-	 =  case happyOut39 happy_x_1 of { happy_var_1 -> 
-	happyIn31
-		 (happy_var_1
-	)}
-
-happyReduce_56 = happySpecReduce_1  28# happyReduction_56
-happyReduction_56 happy_x_1
-	 =  case happyOut42 happy_x_1 of { happy_var_1 -> 
-	happyIn32
-		 (fApp2pApp happy_var_1
-	)}
-
-happyReduce_57 = happySpecReduce_1  29# happyReduction_57
-happyReduction_57 happy_x_1
-	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
-	happyIn33
-		 (happy_var_1
-	)}
-
-happyReduce_58 = happySpecReduce_1  29# happyReduction_58
-happyReduction_58 happy_x_1
-	 =  case happyOut35 happy_x_1 of { happy_var_1 -> 
-	happyIn33
-		 (happy_var_1
-	)}
-
-happyReduce_59 = happySpecReduce_1  30# happyReduction_59
-happyReduction_59 happy_x_1
-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> 
-	happyIn34
-		 (fApp2pApp happy_var_1
-	)}
-
-happyReduce_60 = happySpecReduce_3  31# happyReduction_60
-happyReduction_60 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut40 happy_x_1 of { happy_var_1 -> 
-	case happyOut36 happy_x_2 of { happy_var_2 -> 
-	case happyOut40 happy_x_3 of { happy_var_3 -> 
-	happyIn35
-		 (happy_var_2 happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_61 = happySpecReduce_1  32# happyReduction_61
-happyReduction_61 happy_x_1
-	 =  case happyOut37 happy_x_1 of { happy_var_1 -> 
-	happyIn36
-		 (happy_var_1
-	)}
-
-happyReduce_62 = happySpecReduce_1  33# happyReduction_62
-happyReduction_62 happy_x_1
-	 =  happyIn37
-		 ((.=.)
-	)
-
-happyReduce_63 = happySpecReduce_1  34# happyReduction_63
-happyReduction_63 happy_x_1
-	 =  happyIn38
-		 ((.!=.)
-	)
-
-happyReduce_64 = happySpecReduce_1  35# happyReduction_64
-happyReduction_64 happy_x_1
-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
-	happyIn39
-		 (fApp2pApp happy_var_1
-	)}
-
-happyReduce_65 = happySpecReduce_1  36# happyReduction_65
-happyReduction_65 happy_x_1
-	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
-	happyIn40
-		 (happy_var_1
-	)}
-
-happyReduce_66 = happySpecReduce_1  36# happyReduction_66
-happyReduction_66 happy_x_1
-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> 
-	happyIn40
-		 (var happy_var_1
-	)}
-
-happyReduce_67 = happySpecReduce_1  37# happyReduction_67
-happyReduction_67 happy_x_1
-	 =  case happyOut42 happy_x_1 of { happy_var_1 -> 
-	happyIn41
-		 (happy_var_1
-	)}
-
-happyReduce_68 = happySpecReduce_1  37# happyReduction_68
-happyReduction_68 happy_x_1
-	 =  case happyOut45 happy_x_1 of { happy_var_1 -> 
-	happyIn41
-		 (happy_var_1
-	)}
-
-happyReduce_69 = happySpecReduce_1  37# happyReduction_69
-happyReduction_69 happy_x_1
-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
-	happyIn41
-		 (happy_var_1
-	)}
-
-happyReduce_70 = happySpecReduce_1  38# happyReduction_70
-happyReduction_70 happy_x_1
-	 =  case happyOut43 happy_x_1 of { happy_var_1 -> 
-	happyIn42
-		 (fApp happy_var_1 []
-	)}
-
-happyReduce_71 = happyReduce 4# 38# happyReduction_71
-happyReduction_71 (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 happyOut55 happy_x_3 of { happy_var_3 -> 
-	happyIn42
-		 (fApp happy_var_1 happy_var_3
-	) `HappyStk` happyRest}}
-
-happyReduce_72 = happySpecReduce_1  39# happyReduction_72
-happyReduction_72 happy_x_1
-	 =  case happyOut44 happy_x_1 of { happy_var_1 -> 
-	happyIn43
-		 (happy_var_1
-	)}
-
-happyReduce_73 = happySpecReduce_1  40# happyReduction_73
-happyReduction_73 happy_x_1
-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> 
-	happyIn44
-		 (happy_var_1
-	)}
-
-happyReduce_74 = happySpecReduce_1  41# happyReduction_74
-happyReduction_74 happy_x_1
-	 =  case happyOut46 happy_x_1 of { happy_var_1 -> 
-	happyIn45
-		 (happy_var_1
-	)}
-
-happyReduce_75 = happySpecReduce_1  41# happyReduction_75
-happyReduction_75 happy_x_1
-	 =  case happyOut47 happy_x_1 of { happy_var_1 -> 
-	happyIn45
-		 (happy_var_1
-	)}
-
-happyReduce_76 = happySpecReduce_1  42# happyReduction_76
-happyReduction_76 happy_x_1
-	 =  case happyOut71 happy_x_1 of { happy_var_1 -> 
-	happyIn46
-		 (numberLitTerm happy_var_1
-	)}
-
-happyReduce_77 = happySpecReduce_1  42# happyReduction_77
-happyReduction_77 happy_x_1
-	 =  case happyOut103 happy_x_1 of { happy_var_1 -> 
-	happyIn46
-		 (distinctObjectTerm (stripQuotes '"' happy_var_1)
-	)}
-
-happyReduce_78 = happySpecReduce_1  43# happyReduction_78
-happyReduction_78 happy_x_1
-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> 
-	happyIn47
-		 (happy_var_1
-	)}
-
-happyReduce_79 = happySpecReduce_1  44# happyReduction_79
-happyReduction_79 happy_x_1
-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> 
-	happyIn48
-		 (fApp (AtomicWord happy_var_1) []
-	)}
-
-happyReduce_80 = happyReduce 4# 44# happyReduction_80
-happyReduction_80 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut50 happy_x_1 of { happy_var_1 -> 
-	case happyOut55 happy_x_3 of { happy_var_3 -> 
-	happyIn48
-		 (fApp (AtomicWord happy_var_1) happy_var_3
-	) `HappyStk` happyRest}}
-
-happyReduce_81 = happySpecReduce_1  45# happyReduction_81
-happyReduction_81 happy_x_1
-	 =  case happyOut50 happy_x_1 of { happy_var_1 -> 
-	happyIn49
-		 (happy_var_1
-	)}
-
-happyReduce_82 = happySpecReduce_1  46# happyReduction_82
-happyReduction_82 happy_x_1
-	 =  case happyOut69 happy_x_1 of { happy_var_1 -> 
-	happyIn50
-		 (happy_var_1
-	)}
-
-happyReduce_83 = happySpecReduce_1  47# happyReduction_83
-happyReduction_83 happy_x_1
-	 =  case happyOut52 happy_x_1 of { happy_var_1 -> 
-	happyIn51
-		 (fApp (AtomicWord happy_var_1) []
-	)}
-
-happyReduce_84 = happyReduce 4# 47# happyReduction_84
-happyReduction_84 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut53 happy_x_1 of { happy_var_1 -> 
-	case happyOut55 happy_x_3 of { happy_var_3 -> 
-	happyIn51
-		 (fApp (AtomicWord happy_var_1) happy_var_3
-	) `HappyStk` happyRest}}
-
-happyReduce_85 = happySpecReduce_1  48# happyReduction_85
-happyReduction_85 happy_x_1
-	 =  case happyOut53 happy_x_1 of { happy_var_1 -> 
-	happyIn52
-		 (happy_var_1
-	)}
-
-happyReduce_86 = happySpecReduce_1  49# happyReduction_86
-happyReduction_86 happy_x_1
-	 =  case happyOut70 happy_x_1 of { happy_var_1 -> 
-	happyIn53
-		 (happy_var_1
-	)}
-
-happyReduce_87 = happySpecReduce_1  50# happyReduction_87
-happyReduction_87 happy_x_1
-	 =  case happyOut106 happy_x_1 of { happy_var_1 -> 
-	happyIn54
-		 (V happy_var_1
-	)}
-
-happyReduce_88 = happySpecReduce_1  51# happyReduction_88
-happyReduction_88 happy_x_1
-	 =  case happyOut40 happy_x_1 of { happy_var_1 -> 
-	happyIn55
-		 ([happy_var_1]
-	)}
-
-happyReduce_89 = happySpecReduce_3  51# happyReduction_89
-happyReduction_89 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut40 happy_x_1 of { happy_var_1 -> 
-	case happyOut55 happy_x_3 of { happy_var_3 -> 
-	happyIn55
-		 (happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_90 = happySpecReduce_1  52# happyReduction_90
-happyReduction_90 happy_x_1
-	 =  case happyOut62 happy_x_1 of { happy_var_1 -> 
-	happyIn56
-		 (happy_var_1
-	)}
-
-happyReduce_91 = happySpecReduce_2  53# happyReduction_91
-happyReduction_91 happy_x_2
-	happy_x_1
-	 =  case happyOut58 happy_x_2 of { happy_var_2 -> 
-	happyIn57
-		 (happy_var_2
-	)}
-
-happyReduce_92 = happySpecReduce_0  53# happyReduction_92
-happyReduction_92  =  happyIn57
-		 (NoUsefulInfo
-	)
-
-happyReduce_93 = happySpecReduce_1  54# happyReduction_93
-happyReduction_93 happy_x_1
-	 =  case happyOut65 happy_x_1 of { happy_var_1 -> 
-	happyIn58
-		 (UsefulInfo happy_var_1
-	)}
-
-happyReduce_94 = happyReduce 6# 55# happyReduction_94
-happyReduction_94 (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 happyOut74 happy_x_3 of { happy_var_3 -> 
-	case happyOut60 happy_x_4 of { happy_var_4 -> 
-	happyIn59
-		 (Include happy_var_3 happy_var_4
-	) `HappyStk` happyRest}}
-
-happyReduce_95 = happyReduce 4# 56# happyReduction_95
-happyReduction_95 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut61 happy_x_3 of { happy_var_3 -> 
-	happyIn60
-		 (happy_var_3
-	) `HappyStk` happyRest}
-
-happyReduce_96 = happySpecReduce_0  56# happyReduction_96
-happyReduction_96  =  happyIn60
-		 ([]
-	)
-
-happyReduce_97 = happySpecReduce_1  57# happyReduction_97
-happyReduction_97 happy_x_1
-	 =  case happyOut67 happy_x_1 of { happy_var_1 -> 
-	happyIn61
-		 ([happy_var_1]
-	)}
-
-happyReduce_98 = happySpecReduce_3  57# happyReduction_98
-happyReduction_98 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut67 happy_x_1 of { happy_var_1 -> 
-	case happyOut61 happy_x_3 of { happy_var_3 -> 
-	happyIn61
-		 (happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_99 = happySpecReduce_1  58# happyReduction_99
-happyReduction_99 happy_x_1
-	 =  case happyOut63 happy_x_1 of { happy_var_1 -> 
-	happyIn62
-		 (GTerm happy_var_1
-	)}
-
-happyReduce_100 = happySpecReduce_3  58# happyReduction_100
-happyReduction_100 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut63 happy_x_1 of { happy_var_1 -> 
-	case happyOut62 happy_x_3 of { happy_var_3 -> 
-	happyIn62
-		 (ColonSep happy_var_1 happy_var_3
-	)}}
-
-happyReduce_101 = happySpecReduce_1  58# happyReduction_101
-happyReduction_101 happy_x_1
-	 =  case happyOut65 happy_x_1 of { happy_var_1 -> 
-	happyIn62
-		 (GList happy_var_1
-	)}
-
-happyReduce_102 = happySpecReduce_1  59# happyReduction_102
-happyReduction_102 happy_x_1
-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> 
-	happyIn63
-		 (GWord happy_var_1
-	)}
-
-happyReduce_103 = happyReduce 4# 59# happyReduction_103
-happyReduction_103 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut68 happy_x_1 of { happy_var_1 -> 
-	case happyOut66 happy_x_3 of { happy_var_3 -> 
-	happyIn63
-		 (GApp happy_var_1 happy_var_3
-	) `HappyStk` happyRest}}
-
-happyReduce_104 = happySpecReduce_1  59# happyReduction_104
-happyReduction_104 happy_x_1
-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> 
-	happyIn63
-		 (GVar happy_var_1
-	)}
-
-happyReduce_105 = happySpecReduce_1  59# happyReduction_105
-happyReduction_105 happy_x_1
-	 =  case happyOut71 happy_x_1 of { happy_var_1 -> 
-	happyIn63
-		 (GNumber happy_var_1
-	)}
-
-happyReduce_106 = happySpecReduce_1  59# happyReduction_106
-happyReduction_106 happy_x_1
-	 =  case happyOut103 happy_x_1 of { happy_var_1 -> 
-	happyIn63
-		 (GDistinctObject (stripQuotes '"' happy_var_1)
-	)}
-
-happyReduce_107 = happySpecReduce_1  59# happyReduction_107
-happyReduction_107 happy_x_1
-	 =  case happyOut64 happy_x_1 of { happy_var_1 -> 
-	happyIn63
-		 (happy_var_1
-	)}
-
-happyReduce_108 = happyReduce 4# 60# happyReduction_108
-happyReduction_108 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut104 happy_x_1 of { happy_var_1 -> 
-	case happyOut11 happy_x_3 of { happy_var_3 -> 
-	happyIn64
-		 (GFormulaData happy_var_1 happy_var_3
-	) `HappyStk` happyRest}}
-
-happyReduce_109 = happySpecReduce_2  61# happyReduction_109
-happyReduction_109 happy_x_2
-	happy_x_1
-	 =  happyIn65
-		 ([]
-	)
-
-happyReduce_110 = happySpecReduce_3  61# happyReduction_110
-happyReduction_110 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut66 happy_x_2 of { happy_var_2 -> 
-	happyIn65
-		 (happy_var_2
-	)}
-
-happyReduce_111 = happySpecReduce_1  62# happyReduction_111
-happyReduction_111 happy_x_1
-	 =  case happyOut62 happy_x_1 of { happy_var_1 -> 
-	happyIn66
-		 ([happy_var_1]
-	)}
-
-happyReduce_112 = happySpecReduce_3  62# happyReduction_112
-happyReduction_112 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut62 happy_x_1 of { happy_var_1 -> 
-	case happyOut66 happy_x_3 of { happy_var_3 -> 
-	happyIn66
-		 (happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_113 = happySpecReduce_1  63# happyReduction_113
-happyReduction_113 happy_x_1
-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> 
-	happyIn67
-		 (happy_var_1
-	)}
-
-happyReduce_114 = happySpecReduce_1  63# happyReduction_114
-happyReduction_114 happy_x_1
-	 =  case happyOut109 happy_x_1 of { happy_var_1 -> 
-	happyIn67
-		 (AtomicWord(show happy_var_1)
-	)}
-
-happyReduce_115 = happySpecReduce_1  64# happyReduction_115
-happyReduction_115 happy_x_1
-	 =  case happyOut75 happy_x_1 of { happy_var_1 -> 
-	happyIn68
-		 (AtomicWord happy_var_1
-	)}
-
-happyReduce_116 = happySpecReduce_1  64# happyReduction_116
-happyReduction_116 happy_x_1
-	 =  case happyOut102 happy_x_1 of { happy_var_1 -> 
-	happyIn68
-		 (AtomicWord (stripQuotes '\'' happy_var_1)
-	)}
-
-happyReduce_117 = happySpecReduce_1  65# happyReduction_117
-happyReduction_117 happy_x_1
-	 =  case happyOut104 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 (happy_var_1
-	)}
-
-happyReduce_118 = happySpecReduce_1  66# happyReduction_118
-happyReduction_118 happy_x_1
-	 =  case happyOut105 happy_x_1 of { happy_var_1 -> 
-	happyIn70
-		 (happy_var_1
-	)}
-
-happyReduce_119 = happySpecReduce_1  67# happyReduction_119
-happyReduction_119 happy_x_1
-	 =  case happyOut72 happy_x_1 of { happy_var_1 -> 
-	happyIn71
-		 (fromIntegral happy_var_1
-	)}
-
-happyReduce_120 = happySpecReduce_1  67# happyReduction_120
-happyReduction_120 happy_x_1
-	 =  case happyOut73 happy_x_1 of { happy_var_1 -> 
-	happyIn71
-		 (happy_var_1
-	)}
-
-happyReduce_121 = happySpecReduce_1  67# happyReduction_121
-happyReduction_121 happy_x_1
-	 =  case happyOut110 happy_x_1 of { happy_var_1 -> 
-	happyIn71
-		 (happy_var_1
-	)}
-
-happyReduce_122 = happySpecReduce_1  68# happyReduction_122
-happyReduction_122 happy_x_1
-	 =  case happyOut108 happy_x_1 of { happy_var_1 -> 
-	happyIn72
-		 (happy_var_1
-	)}
-
-happyReduce_123 = happySpecReduce_1  68# happyReduction_123
-happyReduction_123 happy_x_1
-	 =  case happyOut109 happy_x_1 of { happy_var_1 -> 
-	happyIn72
-		 (happy_var_1
-	)}
-
-happyReduce_124 = happySpecReduce_3  69# happyReduction_124
-happyReduction_124 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut72 happy_x_1 of { happy_var_1 -> 
-	case happyOut109 happy_x_3 of { happy_var_3 -> 
-	happyIn73
-		 (happy_var_1 % happy_var_3
-	)}}
-
-happyReduce_125 = happySpecReduce_1  70# happyReduction_125
-happyReduction_125 happy_x_1
-	 =  case happyOut102 happy_x_1 of { happy_var_1 -> 
-	happyIn74
-		 (stripQuotes '\'' happy_var_1
-	)}
-
-happyReduce_126 = happySpecReduce_1  71# happyReduction_126
-happyReduction_126 happy_x_1
-	 =  case happyOut107 happy_x_1 of { happy_var_1 -> 
-	happyIn75
-		 (happy_var_1
-	)}
-
-happyReduce_127 = happySpecReduce_1  71# happyReduction_127
-happyReduction_127 happy_x_1
-	 =  happyIn75
-		 ("fof"
-	)
-
-happyReduce_128 = happySpecReduce_1  71# happyReduction_128
-happyReduction_128 happy_x_1
-	 =  happyIn75
-		 ("cnf"
-	)
-
-happyReduce_129 = happySpecReduce_1  71# happyReduction_129
-happyReduction_129 happy_x_1
-	 =  happyIn75
-		 ("include"
-	)
-
-happyReduce_130 = happySpecReduce_2  72# happyReduction_130
-happyReduction_130 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn76
-		 (happy_var_1
-	)}
-
-happyReduce_131 = happySpecReduce_2  73# happyReduction_131
-happyReduction_131 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn77
-		 (happy_var_1
-	)}
-
-happyReduce_132 = happySpecReduce_2  74# happyReduction_132
-happyReduction_132 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn78
-		 (happy_var_1
-	)}
-
-happyReduce_133 = happySpecReduce_2  75# happyReduction_133
-happyReduction_133 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn79
-		 (happy_var_1
-	)}
-
-happyReduce_134 = happySpecReduce_2  76# happyReduction_134
-happyReduction_134 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn80
-		 (happy_var_1
-	)}
-
-happyReduce_135 = happySpecReduce_2  77# happyReduction_135
-happyReduction_135 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn81
-		 (happy_var_1
-	)}
-
-happyReduce_136 = happySpecReduce_2  78# happyReduction_136
-happyReduction_136 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn82
-		 (happy_var_1
-	)}
-
-happyReduce_137 = happySpecReduce_2  79# happyReduction_137
-happyReduction_137 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn83
-		 (happy_var_1
-	)}
-
-happyReduce_138 = happySpecReduce_2  80# happyReduction_138
-happyReduction_138 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn84
-		 (happy_var_1
-	)}
-
-happyReduce_139 = happySpecReduce_2  81# happyReduction_139
-happyReduction_139 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn85
-		 (happy_var_1
-	)}
-
-happyReduce_140 = happySpecReduce_2  82# happyReduction_140
-happyReduction_140 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn86
-		 (happy_var_1
-	)}
-
-happyReduce_141 = happySpecReduce_2  83# happyReduction_141
-happyReduction_141 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn87
-		 (happy_var_1
-	)}
-
-happyReduce_142 = happySpecReduce_2  84# happyReduction_142
-happyReduction_142 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn88
-		 (happy_var_1
-	)}
-
-happyReduce_143 = happySpecReduce_2  85# happyReduction_143
-happyReduction_143 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn89
-		 (happy_var_1
-	)}
-
-happyReduce_144 = happySpecReduce_2  86# happyReduction_144
-happyReduction_144 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn90
-		 (happy_var_1
-	)}
-
-happyReduce_145 = happySpecReduce_2  87# happyReduction_145
-happyReduction_145 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn91
-		 (happy_var_1
-	)}
-
-happyReduce_146 = happySpecReduce_2  88# happyReduction_146
-happyReduction_146 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn92
-		 (happy_var_1
-	)}
-
-happyReduce_147 = happySpecReduce_2  89# happyReduction_147
-happyReduction_147 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn93
-		 (happy_var_1
-	)}
-
-happyReduce_148 = happySpecReduce_2  90# happyReduction_148
-happyReduction_148 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn94
-		 (happy_var_1
-	)}
-
-happyReduce_149 = happySpecReduce_2  91# happyReduction_149
-happyReduction_149 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn95
-		 (happy_var_1
-	)}
-
-happyReduce_150 = happySpecReduce_2  92# happyReduction_150
-happyReduction_150 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn96
-		 (happy_var_1
-	)}
-
-happyReduce_151 = happySpecReduce_2  93# happyReduction_151
-happyReduction_151 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn97
-		 (happy_var_1
-	)}
-
-happyReduce_152 = happySpecReduce_2  94# happyReduction_152
-happyReduction_152 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn98
-		 (happy_var_1
-	)}
-
-happyReduce_153 = happySpecReduce_2  95# happyReduction_153
-happyReduction_153 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn99
-		 (happy_var_1
-	)}
-
-happyReduce_154 = happySpecReduce_2  96# happyReduction_154
-happyReduction_154 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn100
-		 (happy_var_1
-	)}
-
-happyReduce_155 = happySpecReduce_2  97# happyReduction_155
-happyReduction_155 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn101
-		 (happy_var_1
-	)}
-
-happyReduce_156 = happySpecReduce_2  98# happyReduction_156
-happyReduction_156 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (SingleQuoted happy_var_1) -> 
-	happyIn102
-		 (happy_var_1
-	)}
-
-happyReduce_157 = happySpecReduce_2  99# happyReduction_157
-happyReduction_157 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (DoubleQuoted happy_var_1) -> 
-	happyIn103
-		 (happy_var_1
-	)}
-
-happyReduce_158 = happySpecReduce_2  100# happyReduction_158
-happyReduction_158 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (DollarWord happy_var_1) -> 
-	happyIn104
-		 (happy_var_1
-	)}
-
-happyReduce_159 = happySpecReduce_2  101# happyReduction_159
-happyReduction_159 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (DollarDollarWord happy_var_1) -> 
-	happyIn105
-		 (happy_var_1
-	)}
-
-happyReduce_160 = happySpecReduce_2  102# happyReduction_160
-happyReduction_160 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (UpperWord happy_var_1) -> 
-	happyIn106
-		 (happy_var_1
-	)}
-
-happyReduce_161 = happySpecReduce_2  103# happyReduction_161
-happyReduction_161 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (LowerWord happy_var_1) -> 
-	happyIn107
-		 (happy_var_1
-	)}
-
-happyReduce_162 = happySpecReduce_2  104# happyReduction_162
-happyReduction_162 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (SignedInt happy_var_1) -> 
-	happyIn108
-		 (happy_var_1
-	)}
-
-happyReduce_163 = happySpecReduce_2  105# happyReduction_163
-happyReduction_163 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (UnsignedInt happy_var_1) -> 
-	happyIn109
-		 (happy_var_1
-	)}
-
-happyReduce_164 = happySpecReduce_2  106# happyReduction_164
-happyReduction_164 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Real happy_var_1) -> 
-	happyIn110
-		 (happy_var_1
-	)}
-
-happyReduce_165 = happySpecReduce_0  107# happyReduction_165
-happyReduction_165  =  happyIn111
-		 ([]
-	)
-
-happyReduce_166 = happySpecReduce_2  107# happyReduction_166
-happyReduction_166 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (CommentToken happy_var_1) -> 
-	case happyOut111 happy_x_2 of { happy_var_2 -> 
-	happyIn111
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyNewToken action sts stk [] =
-	happyDoAction 38# notHappyAtAll action sts stk []
-
-happyNewToken action sts stk (tk:tks) =
-	let cont i = happyDoAction i tk action sts stk tks in
-	case tk of {
-	LP -> cont 1#;
-	RP -> cont 2#;
-	Lbrack -> cont 3#;
-	Rbrack -> cont 4#;
-	Comma -> cont 5#;
-	Dot -> cont 6#;
-	Star -> cont 7#;
-	Plus -> cont 8#;
-	Rangle -> cont 9#;
-	Oper ":" -> cont 10#;
-	Oper "<=>" -> cont 11#;
-	Oper "=>" -> cont 12#;
-	Oper "<~>" -> cont 13#;
-	Oper "~|" -> cont 14#;
-	Oper "~&" -> cont 15#;
-	Oper "<=" -> cont 16#;
-	Oper "=" -> cont 17#;
-	Oper "!=" -> cont 18#;
-	Oper "!" -> cont 19#;
-	Oper "?" -> cont 20#;
-	Oper "&" -> cont 21#;
-	Oper "|" -> cont 22#;
-	Oper "~" -> cont 23#;
-	LowerWord "fof" -> cont 24#;
-	LowerWord "cnf" -> cont 25#;
-	LowerWord "include" -> cont 26#;
-	SingleQuoted happy_dollar_dollar -> cont 27#;
-	DoubleQuoted happy_dollar_dollar -> cont 28#;
-	DollarWord happy_dollar_dollar -> cont 29#;
-	DollarDollarWord happy_dollar_dollar -> cont 30#;
-	UpperWord happy_dollar_dollar -> cont 31#;
-	LowerWord happy_dollar_dollar -> cont 32#;
-	SignedInt happy_dollar_dollar -> cont 33#;
-	UnsignedInt happy_dollar_dollar -> cont 34#;
-	Real happy_dollar_dollar -> cont 35#;
-	Slash -> cont 36#;
-	CommentToken happy_dollar_dollar -> cont 37#;
-	_ -> happyError' (tk:tks)
-	}
-
-happyError_ 38# tk tks = happyError' tks
-happyError_ _ tk tks = happyError' (tk:tks)
-
-newtype HappyIdentity a = HappyIdentity a
-happyIdentity = HappyIdentity
-happyRunIdentity (HappyIdentity a) = a
-
-instance Monad HappyIdentity where
-    return = HappyIdentity
-    (HappyIdentity p) >>= q = q p
-
-happyThen :: () => HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
-happyThen = (>>=)
-happyReturn :: () => a -> HappyIdentity a
-happyReturn = (return)
-happyThen1 m k tks = (>>=) m (\a -> k a tks)
-happyReturn1 :: () => a -> b -> HappyIdentity a
-happyReturn1 = \a tks -> (return) a
-happyError' :: () => [(Token)] -> HappyIdentity a
-happyError' = HappyIdentity . ((\xs -> case xs of
-                    xs -> error ("Parse error, pos: "++show (take 25 xs))))
-
-parseTPTP tks = happyRunIdentity happySomeParser where
-  happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (happyOut4 x))
-
-happySeq = happyDontSeq
-
-
-stripQuotes which (x:xs) = go xs
-                      where
-                        go [x] = []
-                        go ('\\':'\\':xs) = '\\':go xs
-                        go ('\\':which:xs) = which:go xs
-                        go (x:xs) = x:go xs
-                     
-fApp2pApp (T (Identity (FunApp x args))) = (F (Identity (PredApp x args)))
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
-{-# LINE 1 "<command-line>" #-}
-{-# LINE 11 "<command-line>" #-}
-# 1 "/usr/include/stdc-predef.h" 1 3 4
-
-# 17 "/usr/include/stdc-predef.h" 3 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 47 "/usr/include/stdc-predef.h" 3 4
-
-# 59 "/usr/include/stdc-predef.h" 3 4
-
-
-
-
-
-
-
-
-{-# LINE 11 "<command-line>" #-}
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp 
-
-{-# LINE 13 "templates/GenericTemplate.hs" #-}
-
-
-
-
-
--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
-#if __GLASGOW_HASKELL__ > 706
-#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool)
-#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool)
-#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool)
-#else
-#define LT(n,m) (n Happy_GHC_Exts.<# m)
-#define GTE(n,m) (n Happy_GHC_Exts.>=# m)
-#define EQ(n,m) (n Happy_GHC_Exts.==# m)
-#endif
-{-# LINE 46 "templates/GenericTemplate.hs" #-}
-
-
-data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList
-
-
-
-
-
-{-# LINE 67 "templates/GenericTemplate.hs" #-}
-
-{-# LINE 77 "templates/GenericTemplate.hs" #-}
-
-{-# LINE 86 "templates/GenericTemplate.hs" #-}
-
-infixr 9 `HappyStk`
-data HappyStk a = HappyStk a (HappyStk a)
-
------------------------------------------------------------------------------
--- starting the parse
-
-happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll
-
------------------------------------------------------------------------------
--- Accepting the parse
-
--- If the current token is 0#, it means we've just accepted a partial
--- parse (a %partial parser).  We must ignore the saved token on the top of
--- the stack in this case.
-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =
-        happyReturn1 ans
-happyAccept j tk st sts (HappyStk ans _) = 
-        (happyTcHack j (happyTcHack st)) (happyReturn1 ans)
-
------------------------------------------------------------------------------
--- Arrays only: do the next action
-
-
-
-happyDoAction i tk st
-        = {- nothing -}
-
-
-          case action of
-                0#           -> {- nothing -}
-                                     happyFail i tk st
-                -1#          -> {- nothing -}
-                                     happyAccept i tk st
-                n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}
-
-                                                   (happyReduceArr Happy_Data_Array.! rule) i tk st
-                                                   where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))
-                n                 -> {- nothing -}
-
-
-                                     happyShift new_state i tk st
-                                     where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))
-   where off    = indexShortOffAddr happyActOffsets st
-         off_i  = (off Happy_GHC_Exts.+# i)
-         check  = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))
-                  then EQ(indexShortOffAddr happyCheck off_i, i)
-                  else False
-         action
-          | check     = indexShortOffAddr happyTable off_i
-          | otherwise = indexShortOffAddr happyDefActions st
-
-
-indexShortOffAddr (HappyA# arr) off =
-        Happy_GHC_Exts.narrow16Int# i
-  where
-        i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)
-        high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))
-        low  = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))
-        off' = off Happy_GHC_Exts.*# 2#
-
-
-
-
-
-data HappyAddr = HappyA# Happy_GHC_Exts.Addr#
-
-
-
-
------------------------------------------------------------------------------
--- HappyState data type (not arrays)
-
-{-# LINE 170 "templates/GenericTemplate.hs" #-}
-
------------------------------------------------------------------------------
--- Shifting a token
-
-happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =
-     let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
---     trace "shifting the error token" $
-     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)
-
-happyShift new_state i tk st sts stk =
-     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)
-
--- happyReduce is specialised for the common cases.
-
-happySpecReduce_0 i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happySpecReduce_0 nt fn j tk st@((action)) sts stk
-     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)
-
-happySpecReduce_1 i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')
-     = let r = fn v1 in
-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
-
-happySpecReduce_2 i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')
-     = let r = fn v1 v2 in
-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
-
-happySpecReduce_3 i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')
-     = let r = fn v1 v2 v3 in
-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
-
-happyReduce k i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happyReduce k nt fn j tk st sts stk
-     = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of
-         sts1@((HappyCons (st1@(action)) (_))) ->
-                let r = fn stk in  -- it doesn't hurt to always seq here...
-                happyDoSeq r (happyGoto nt j tk st1 sts1 r)
-
-happyMonadReduce k nt fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happyMonadReduce k nt fn j tk st sts stk =
-      case happyDrop k (HappyCons (st) (sts)) of
-        sts1@((HappyCons (st1@(action)) (_))) ->
-          let drop_stk = happyDropStk k stk in
-          happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))
-
-happyMonad2Reduce k nt fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happyMonad2Reduce k nt fn j tk st sts stk =
-      case happyDrop k (HappyCons (st) (sts)) of
-        sts1@((HappyCons (st1@(action)) (_))) ->
-         let drop_stk = happyDropStk k stk
-
-             off = indexShortOffAddr happyGotoOffsets st1
-             off_i = (off Happy_GHC_Exts.+# nt)
-             new_state = indexShortOffAddr happyTable off_i
-
-
-
-          in
-          happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))
-
-happyDrop 0# l = l
-happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t
-
-happyDropStk 0# l = l
-happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs
-
------------------------------------------------------------------------------
--- Moving to a new state after a reduction
-
-
-happyGoto nt j tk st = 
-   {- nothing -}
-   happyDoAction j tk new_state
-   where off = indexShortOffAddr happyGotoOffsets st
-         off_i = (off Happy_GHC_Exts.+# nt)
-         new_state = indexShortOffAddr happyTable off_i
-
-
-
-
------------------------------------------------------------------------------
--- Error recovery (0# is the error token)
-
--- parse error if we are in recovery and we fail again
-happyFail 0# tk old_st _ stk@(x `HappyStk` _) =
-     let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
---      trace "failing" $ 
-        happyError_ i tk
-
-{-  We don't need state discarding for our restricted implementation of
-    "error".  In fact, it can cause some bogus parses, so I've disabled it
-    for now --SDM
-
--- discard a state
-happyFail  0# tk old_st (HappyCons ((action)) (sts)) 
-                                                (saved_tok `HappyStk` _ `HappyStk` stk) =
---      trace ("discarding state, depth " ++ show (length stk))  $
-        happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))
--}
-
--- Enter error recovery: generate an error token,
---                       save the old token and carry on.
-happyFail  i tk (action) sts stk =
---      trace "entering error recovery" $
-        happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)
-
--- Internal happy errors:
-
-notHappyAtAll :: a
-notHappyAtAll = error "Internal Happy error\n"
-
------------------------------------------------------------------------------
--- Hack to get the typechecker to accept our action functions
-
-
-happyTcHack :: Happy_GHC_Exts.Int# -> a -> a
-happyTcHack x y = y
-{-# INLINE happyTcHack #-}
-
-
------------------------------------------------------------------------------
--- Seq-ing.  If the --strict flag is given, then Happy emits 
---      happySeq = happyDoSeq
--- otherwise it emits
---      happySeq = happyDontSeq
-
-happyDoSeq, happyDontSeq :: a -> b -> b
-happyDoSeq   a b = a `seq` b
-happyDontSeq a b = b
-
------------------------------------------------------------------------------
--- Don't inline any functions from the template.  GHC has a nasty habit
--- of deciding to inline happyGoto everywhere, which increases the size of
--- the generated parser quite a bit.
-
-
-{-# NOINLINE happyDoAction #-}
-{-# NOINLINE happyTable #-}
-{-# NOINLINE happyCheck #-}
-{-# NOINLINE happyActOffsets #-}
-{-# NOINLINE happyGotoOffsets #-}
-{-# NOINLINE happyDefActions #-}
-
-{-# NOINLINE happyShift #-}
-{-# NOINLINE happySpecReduce_0 #-}
-{-# NOINLINE happySpecReduce_1 #-}
-{-# NOINLINE happySpecReduce_2 #-}
-{-# NOINLINE happySpecReduce_3 #-}
-{-# NOINLINE happyReduce #-}
-{-# NOINLINE happyMonadReduce #-}
-{-# NOINLINE happyGoto #-}
-{-# NOINLINE happyFail #-}
-
--- end of Happy Template.
diff --git a/dist/build/ParserC.hs b/dist/build/ParserC.hs
deleted file mode 100644
--- a/dist/build/ParserC.hs
+++ /dev/null
@@ -1,2582 +0,0 @@
-{-# OPTIONS_GHC -w #-}
-{-# OPTIONS -fglasgow-exts -cpp #-}
-module ParserC where
-    
-import Data.Char
-import Data.Data
-import Data.Ratio
-import Control.Monad
-import Data.List as L
-import Lexer
-import Data.Set as S
-import Codec.TPTP.Base
-import System.IO
-import System.IO.Unsafe
-import Control.Monad.Identity
-import Control.Monad.State
-import qualified Data.Array as Happy_Data_Array
-import qualified GHC.Exts as Happy_GHC_Exts
-
--- parser produced by Happy Version 1.19.3
-
-newtype HappyAbsSyn  = HappyAbsSyn HappyAny
-#if __GLASGOW_HASKELL__ >= 607
-type HappyAny = Happy_GHC_Exts.Any
-#else
-type HappyAny = forall a . a
-#endif
-happyIn4 :: ([TPTP_Input_ c]) -> (HappyAbsSyn )
-happyIn4 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn4 #-}
-happyOut4 :: (HappyAbsSyn ) -> ([TPTP_Input_ c])
-happyOut4 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut4 #-}
-happyIn5 :: (TPTP_Input_ c) -> (HappyAbsSyn )
-happyIn5 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn5 #-}
-happyOut5 :: (HappyAbsSyn ) -> (TPTP_Input_ c)
-happyOut5 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut5 #-}
-happyIn6 :: (TPTP_Input_ c) -> (HappyAbsSyn )
-happyIn6 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn6 #-}
-happyOut6 :: (HappyAbsSyn ) -> (TPTP_Input_ c)
-happyOut6 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut6 #-}
-happyIn7 :: (TPTP_Input_ c) -> (HappyAbsSyn )
-happyIn7 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn7 #-}
-happyOut7 :: (HappyAbsSyn ) -> (TPTP_Input_ c)
-happyOut7 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut7 #-}
-happyIn8 :: (TPTP_Input) -> (HappyAbsSyn )
-happyIn8 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn8 #-}
-happyOut8 :: (HappyAbsSyn ) -> (TPTP_Input)
-happyOut8 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut8 #-}
-happyIn9 :: (Annotations) -> (HappyAbsSyn )
-happyIn9 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn9 #-}
-happyOut9 :: (HappyAbsSyn ) -> (Annotations)
-happyOut9 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut9 #-}
-happyIn10 :: (Role) -> (HappyAbsSyn )
-happyIn10 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn10 #-}
-happyOut10 :: (HappyAbsSyn ) -> (Role)
-happyOut10 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut10 #-}
-happyIn11 :: (F c) -> (HappyAbsSyn )
-happyIn11 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn11 #-}
-happyOut11 :: (HappyAbsSyn ) -> (F c)
-happyOut11 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut11 #-}
-happyIn12 :: (F c) -> (HappyAbsSyn )
-happyIn12 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn12 #-}
-happyOut12 :: (HappyAbsSyn ) -> (F c)
-happyOut12 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut12 #-}
-happyIn13 :: (F c) -> (HappyAbsSyn )
-happyIn13 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn13 #-}
-happyOut13 :: (HappyAbsSyn ) -> (F c)
-happyOut13 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut13 #-}
-happyIn14 :: (F c) -> (HappyAbsSyn )
-happyIn14 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn14 #-}
-happyOut14 :: (HappyAbsSyn ) -> (F c)
-happyOut14 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut14 #-}
-happyIn15 :: (F c) -> (HappyAbsSyn )
-happyIn15 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn15 #-}
-happyOut15 :: (HappyAbsSyn ) -> (F c)
-happyOut15 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut15 #-}
-happyIn16 :: ([F c]) -> (HappyAbsSyn )
-happyIn16 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn16 #-}
-happyOut16 :: (HappyAbsSyn ) -> ([F c])
-happyOut16 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut16 #-}
-happyIn17 :: (F c) -> (HappyAbsSyn )
-happyIn17 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn17 #-}
-happyOut17 :: (HappyAbsSyn ) -> (F c)
-happyOut17 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut17 #-}
-happyIn18 :: ([F c]) -> (HappyAbsSyn )
-happyIn18 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn18 #-}
-happyOut18 :: (HappyAbsSyn ) -> ([F c])
-happyOut18 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut18 #-}
-happyIn19 :: (FormulaC) -> (HappyAbsSyn )
-happyIn19 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn19 #-}
-happyOut19 :: (HappyAbsSyn ) -> (FormulaC)
-happyOut19 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut19 #-}
-happyIn20 :: (F c) -> (HappyAbsSyn )
-happyIn20 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn20 #-}
-happyOut20 :: (HappyAbsSyn ) -> (F c)
-happyOut20 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut20 #-}
-happyIn21 :: ([V]) -> (HappyAbsSyn )
-happyIn21 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn21 #-}
-happyOut21 :: (HappyAbsSyn ) -> ([V])
-happyOut21 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut21 #-}
-happyIn22 :: (F c) -> (HappyAbsSyn )
-happyIn22 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn22 #-}
-happyOut22 :: (HappyAbsSyn ) -> (F c)
-happyOut22 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut22 #-}
-happyIn23 :: (F c) -> (HappyAbsSyn )
-happyIn23 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn23 #-}
-happyOut23 :: (HappyAbsSyn ) -> (F c)
-happyOut23 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut23 #-}
-happyIn24 :: (F c) -> (HappyAbsSyn )
-happyIn24 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn24 #-}
-happyOut24 :: (HappyAbsSyn ) -> (F c)
-happyOut24 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut24 #-}
-happyIn25 :: ([F c]) -> (HappyAbsSyn )
-happyIn25 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn25 #-}
-happyOut25 :: (HappyAbsSyn ) -> ([F c])
-happyOut25 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut25 #-}
-happyIn26 :: (FormulaC) -> (HappyAbsSyn )
-happyIn26 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn26 #-}
-happyOut26 :: (HappyAbsSyn ) -> (FormulaC)
-happyOut26 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut26 #-}
-happyIn27 :: (F c) -> (HappyAbsSyn )
-happyIn27 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn27 #-}
-happyOut27 :: (HappyAbsSyn ) -> (F c)
-happyOut27 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut27 #-}
-happyIn28 :: ([V] -> FormulaC -> FormulaC) -> (HappyAbsSyn )
-happyIn28 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn28 #-}
-happyOut28 :: (HappyAbsSyn ) -> ([V] -> FormulaC -> FormulaC)
-happyOut28 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut28 #-}
-happyIn29 :: (FormulaC -> FormulaC -> FormulaC) -> (HappyAbsSyn )
-happyIn29 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn29 #-}
-happyOut29 :: (HappyAbsSyn ) -> (FormulaC -> FormulaC -> FormulaC)
-happyOut29 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut29 #-}
-happyIn30 :: (FormulaC -> FormulaC) -> (HappyAbsSyn )
-happyIn30 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn30 #-}
-happyOut30 :: (HappyAbsSyn ) -> (FormulaC -> FormulaC)
-happyOut30 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut30 #-}
-happyIn31 :: (F c) -> (HappyAbsSyn )
-happyIn31 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn31 #-}
-happyOut31 :: (HappyAbsSyn ) -> (F c)
-happyOut31 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut31 #-}
-happyIn32 :: (F c) -> (HappyAbsSyn )
-happyIn32 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn32 #-}
-happyOut32 :: (HappyAbsSyn ) -> (F c)
-happyOut32 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut32 #-}
-happyIn33 :: (F c) -> (HappyAbsSyn )
-happyIn33 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn33 #-}
-happyOut33 :: (HappyAbsSyn ) -> (F c)
-happyOut33 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut33 #-}
-happyIn34 :: (F c) -> (HappyAbsSyn )
-happyIn34 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn34 #-}
-happyOut34 :: (HappyAbsSyn ) -> (F c)
-happyOut34 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut34 #-}
-happyIn35 :: (F c) -> (HappyAbsSyn )
-happyIn35 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn35 #-}
-happyOut35 :: (HappyAbsSyn ) -> (F c)
-happyOut35 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut35 #-}
-happyIn36 :: (T c -> T c -> F c) -> (HappyAbsSyn )
-happyIn36 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn36 #-}
-happyOut36 :: (HappyAbsSyn ) -> (T c -> T c -> F c)
-happyOut36 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut36 #-}
-happyIn37 :: (TermC -> TermC -> FormulaC) -> (HappyAbsSyn )
-happyIn37 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn37 #-}
-happyOut37 :: (HappyAbsSyn ) -> (TermC -> TermC -> FormulaC)
-happyOut37 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut37 #-}
-happyIn38 :: (TermC -> TermC -> FormulaC) -> (HappyAbsSyn )
-happyIn38 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn38 #-}
-happyOut38 :: (HappyAbsSyn ) -> (TermC -> TermC -> FormulaC)
-happyOut38 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut38 #-}
-happyIn39 :: (F c) -> (HappyAbsSyn )
-happyIn39 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn39 #-}
-happyOut39 :: (HappyAbsSyn ) -> (F c)
-happyOut39 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut39 #-}
-happyIn40 :: (TermC) -> (HappyAbsSyn )
-happyIn40 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn40 #-}
-happyOut40 :: (HappyAbsSyn ) -> (TermC)
-happyOut40 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut40 #-}
-happyIn41 :: (TermC) -> (HappyAbsSyn )
-happyIn41 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn41 #-}
-happyOut41 :: (HappyAbsSyn ) -> (TermC)
-happyOut41 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut41 #-}
-happyIn42 :: (TermC) -> (HappyAbsSyn )
-happyIn42 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn42 #-}
-happyOut42 :: (HappyAbsSyn ) -> (TermC)
-happyOut42 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut42 #-}
-happyIn43 :: (AtomicWord) -> (HappyAbsSyn )
-happyIn43 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn43 #-}
-happyOut43 :: (HappyAbsSyn ) -> (AtomicWord)
-happyOut43 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut43 #-}
-happyIn44 :: (AtomicWord) -> (HappyAbsSyn )
-happyIn44 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn44 #-}
-happyOut44 :: (HappyAbsSyn ) -> (AtomicWord)
-happyOut44 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut44 #-}
-happyIn45 :: (TermC) -> (HappyAbsSyn )
-happyIn45 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn45 #-}
-happyOut45 :: (HappyAbsSyn ) -> (TermC)
-happyOut45 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut45 #-}
-happyIn46 :: (TermC) -> (HappyAbsSyn )
-happyIn46 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn46 #-}
-happyOut46 :: (HappyAbsSyn ) -> (TermC)
-happyOut46 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut46 #-}
-happyIn47 :: (T c) -> (HappyAbsSyn )
-happyIn47 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn47 #-}
-happyOut47 :: (HappyAbsSyn ) -> (T c)
-happyOut47 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut47 #-}
-happyIn48 :: (TermC) -> (HappyAbsSyn )
-happyIn48 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn48 #-}
-happyOut48 :: (HappyAbsSyn ) -> (TermC)
-happyOut48 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut48 #-}
-happyIn49 :: (String) -> (HappyAbsSyn )
-happyIn49 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn49 #-}
-happyOut49 :: (HappyAbsSyn ) -> (String)
-happyOut49 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut49 #-}
-happyIn50 :: (String) -> (HappyAbsSyn )
-happyIn50 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn50 #-}
-happyOut50 :: (HappyAbsSyn ) -> (String)
-happyOut50 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut50 #-}
-happyIn51 :: (TermC) -> (HappyAbsSyn )
-happyIn51 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn51 #-}
-happyOut51 :: (HappyAbsSyn ) -> (TermC)
-happyOut51 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut51 #-}
-happyIn52 :: (String) -> (HappyAbsSyn )
-happyIn52 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn52 #-}
-happyOut52 :: (HappyAbsSyn ) -> (String)
-happyOut52 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut52 #-}
-happyIn53 :: (String) -> (HappyAbsSyn )
-happyIn53 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn53 #-}
-happyOut53 :: (HappyAbsSyn ) -> (String)
-happyOut53 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut53 #-}
-happyIn54 :: (V) -> (HappyAbsSyn )
-happyIn54 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn54 #-}
-happyOut54 :: (HappyAbsSyn ) -> (V)
-happyOut54 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut54 #-}
-happyIn55 :: ([T c]) -> (HappyAbsSyn )
-happyIn55 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn55 #-}
-happyOut55 :: (HappyAbsSyn ) -> ([T c])
-happyOut55 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut55 #-}
-happyIn56 :: (GTerm) -> (HappyAbsSyn )
-happyIn56 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn56 #-}
-happyOut56 :: (HappyAbsSyn ) -> (GTerm)
-happyOut56 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut56 #-}
-happyIn57 :: (UsefulInfo) -> (HappyAbsSyn )
-happyIn57 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn57 #-}
-happyOut57 :: (HappyAbsSyn ) -> (UsefulInfo)
-happyOut57 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut57 #-}
-happyIn58 :: (UsefulInfo) -> (HappyAbsSyn )
-happyIn58 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn58 #-}
-happyOut58 :: (HappyAbsSyn ) -> (UsefulInfo)
-happyOut58 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut58 #-}
-happyIn59 :: (TPTP_Input_ c) -> (HappyAbsSyn )
-happyIn59 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn59 #-}
-happyOut59 :: (HappyAbsSyn ) -> (TPTP_Input_ c)
-happyOut59 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut59 #-}
-happyIn60 :: ([AtomicWord]) -> (HappyAbsSyn )
-happyIn60 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn60 #-}
-happyOut60 :: (HappyAbsSyn ) -> ([AtomicWord])
-happyOut60 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut60 #-}
-happyIn61 :: ([AtomicWord]) -> (HappyAbsSyn )
-happyIn61 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn61 #-}
-happyOut61 :: (HappyAbsSyn ) -> ([AtomicWord])
-happyOut61 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut61 #-}
-happyIn62 :: (GTerm) -> (HappyAbsSyn )
-happyIn62 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn62 #-}
-happyOut62 :: (HappyAbsSyn ) -> (GTerm)
-happyOut62 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut62 #-}
-happyIn63 :: (GData) -> (HappyAbsSyn )
-happyIn63 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn63 #-}
-happyOut63 :: (HappyAbsSyn ) -> (GData)
-happyOut63 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut63 #-}
-happyIn64 :: (GData) -> (HappyAbsSyn )
-happyIn64 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn64 #-}
-happyOut64 :: (HappyAbsSyn ) -> (GData)
-happyOut64 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut64 #-}
-happyIn65 :: ([GTerm]) -> (HappyAbsSyn )
-happyIn65 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn65 #-}
-happyOut65 :: (HappyAbsSyn ) -> ([GTerm])
-happyOut65 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut65 #-}
-happyIn66 :: ([GTerm]) -> (HappyAbsSyn )
-happyIn66 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn66 #-}
-happyOut66 :: (HappyAbsSyn ) -> ([GTerm])
-happyOut66 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut66 #-}
-happyIn67 :: (AtomicWord) -> (HappyAbsSyn )
-happyIn67 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn67 #-}
-happyOut67 :: (HappyAbsSyn ) -> (AtomicWord)
-happyOut67 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut67 #-}
-happyIn68 :: (AtomicWord) -> (HappyAbsSyn )
-happyIn68 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn68 #-}
-happyOut68 :: (HappyAbsSyn ) -> (AtomicWord)
-happyOut68 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut68 #-}
-happyIn69 :: (String) -> (HappyAbsSyn )
-happyIn69 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn69 #-}
-happyOut69 :: (HappyAbsSyn ) -> (String)
-happyOut69 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut69 #-}
-happyIn70 :: (String) -> (HappyAbsSyn )
-happyIn70 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn70 #-}
-happyOut70 :: (HappyAbsSyn ) -> (String)
-happyOut70 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut70 #-}
-happyIn71 :: (Rational) -> (HappyAbsSyn )
-happyIn71 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn71 #-}
-happyOut71 :: (HappyAbsSyn ) -> (Rational)
-happyOut71 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut71 #-}
-happyIn72 :: (Integer) -> (HappyAbsSyn )
-happyIn72 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn72 #-}
-happyOut72 :: (HappyAbsSyn ) -> (Integer)
-happyOut72 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut72 #-}
-happyIn73 :: (Rational) -> (HappyAbsSyn )
-happyIn73 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn73 #-}
-happyOut73 :: (HappyAbsSyn ) -> (Rational)
-happyOut73 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut73 #-}
-happyIn74 :: (String) -> (HappyAbsSyn )
-happyIn74 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn74 #-}
-happyOut74 :: (HappyAbsSyn ) -> (String)
-happyOut74 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut74 #-}
-happyIn75 :: (String) -> (HappyAbsSyn )
-happyIn75 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn75 #-}
-happyOut75 :: (HappyAbsSyn ) -> (String)
-happyOut75 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut75 #-}
-happyIn76 :: (Token) -> (HappyAbsSyn )
-happyIn76 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn76 #-}
-happyOut76 :: (HappyAbsSyn ) -> (Token)
-happyOut76 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut76 #-}
-happyIn77 :: (Token) -> (HappyAbsSyn )
-happyIn77 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn77 #-}
-happyOut77 :: (HappyAbsSyn ) -> (Token)
-happyOut77 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut77 #-}
-happyIn78 :: (Token) -> (HappyAbsSyn )
-happyIn78 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn78 #-}
-happyOut78 :: (HappyAbsSyn ) -> (Token)
-happyOut78 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut78 #-}
-happyIn79 :: (Token) -> (HappyAbsSyn )
-happyIn79 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn79 #-}
-happyOut79 :: (HappyAbsSyn ) -> (Token)
-happyOut79 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut79 #-}
-happyIn80 :: (Token) -> (HappyAbsSyn )
-happyIn80 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn80 #-}
-happyOut80 :: (HappyAbsSyn ) -> (Token)
-happyOut80 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut80 #-}
-happyIn81 :: (Token) -> (HappyAbsSyn )
-happyIn81 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn81 #-}
-happyOut81 :: (HappyAbsSyn ) -> (Token)
-happyOut81 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut81 #-}
-happyIn82 :: (Token) -> (HappyAbsSyn )
-happyIn82 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn82 #-}
-happyOut82 :: (HappyAbsSyn ) -> (Token)
-happyOut82 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut82 #-}
-happyIn83 :: (Token) -> (HappyAbsSyn )
-happyIn83 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn83 #-}
-happyOut83 :: (HappyAbsSyn ) -> (Token)
-happyOut83 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut83 #-}
-happyIn84 :: (Token) -> (HappyAbsSyn )
-happyIn84 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn84 #-}
-happyOut84 :: (HappyAbsSyn ) -> (Token)
-happyOut84 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut84 #-}
-happyIn85 :: (AToken) -> (HappyAbsSyn )
-happyIn85 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn85 #-}
-happyOut85 :: (HappyAbsSyn ) -> (AToken)
-happyOut85 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut85 #-}
-happyIn86 :: (Token) -> (HappyAbsSyn )
-happyIn86 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn86 #-}
-happyOut86 :: (HappyAbsSyn ) -> (Token)
-happyOut86 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut86 #-}
-happyIn87 :: (Token) -> (HappyAbsSyn )
-happyIn87 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn87 #-}
-happyOut87 :: (HappyAbsSyn ) -> (Token)
-happyOut87 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut87 #-}
-happyIn88 :: (Token) -> (HappyAbsSyn )
-happyIn88 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn88 #-}
-happyOut88 :: (HappyAbsSyn ) -> (Token)
-happyOut88 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut88 #-}
-happyIn89 :: (Token) -> (HappyAbsSyn )
-happyIn89 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn89 #-}
-happyOut89 :: (HappyAbsSyn ) -> (Token)
-happyOut89 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut89 #-}
-happyIn90 :: (Token) -> (HappyAbsSyn )
-happyIn90 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn90 #-}
-happyOut90 :: (HappyAbsSyn ) -> (Token)
-happyOut90 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut90 #-}
-happyIn91 :: (Token) -> (HappyAbsSyn )
-happyIn91 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn91 #-}
-happyOut91 :: (HappyAbsSyn ) -> (Token)
-happyOut91 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut91 #-}
-happyIn92 :: (Token) -> (HappyAbsSyn )
-happyIn92 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn92 #-}
-happyOut92 :: (HappyAbsSyn ) -> (Token)
-happyOut92 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut92 #-}
-happyIn93 :: (Token) -> (HappyAbsSyn )
-happyIn93 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn93 #-}
-happyOut93 :: (HappyAbsSyn ) -> (Token)
-happyOut93 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut93 #-}
-happyIn94 :: (Token) -> (HappyAbsSyn )
-happyIn94 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn94 #-}
-happyOut94 :: (HappyAbsSyn ) -> (Token)
-happyOut94 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut94 #-}
-happyIn95 :: (Token) -> (HappyAbsSyn )
-happyIn95 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn95 #-}
-happyOut95 :: (HappyAbsSyn ) -> (Token)
-happyOut95 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut95 #-}
-happyIn96 :: (Token) -> (HappyAbsSyn )
-happyIn96 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn96 #-}
-happyOut96 :: (HappyAbsSyn ) -> (Token)
-happyOut96 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut96 #-}
-happyIn97 :: (Token) -> (HappyAbsSyn )
-happyIn97 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn97 #-}
-happyOut97 :: (HappyAbsSyn ) -> (Token)
-happyOut97 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut97 #-}
-happyIn98 :: (Token) -> (HappyAbsSyn )
-happyIn98 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn98 #-}
-happyOut98 :: (HappyAbsSyn ) -> (Token)
-happyOut98 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut98 #-}
-happyIn99 :: (Token) -> (HappyAbsSyn )
-happyIn99 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn99 #-}
-happyOut99 :: (HappyAbsSyn ) -> (Token)
-happyOut99 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut99 #-}
-happyIn100 :: (Token) -> (HappyAbsSyn )
-happyIn100 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn100 #-}
-happyOut100 :: (HappyAbsSyn ) -> (Token)
-happyOut100 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut100 #-}
-happyIn101 :: (Token) -> (HappyAbsSyn )
-happyIn101 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn101 #-}
-happyOut101 :: (HappyAbsSyn ) -> (Token)
-happyOut101 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut101 #-}
-happyIn102 :: (String) -> (HappyAbsSyn )
-happyIn102 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn102 #-}
-happyOut102 :: (HappyAbsSyn ) -> (String)
-happyOut102 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut102 #-}
-happyIn103 :: (String) -> (HappyAbsSyn )
-happyIn103 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn103 #-}
-happyOut103 :: (HappyAbsSyn ) -> (String)
-happyOut103 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut103 #-}
-happyIn104 :: (String) -> (HappyAbsSyn )
-happyIn104 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn104 #-}
-happyOut104 :: (HappyAbsSyn ) -> (String)
-happyOut104 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut104 #-}
-happyIn105 :: (String) -> (HappyAbsSyn )
-happyIn105 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn105 #-}
-happyOut105 :: (HappyAbsSyn ) -> (String)
-happyOut105 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut105 #-}
-happyIn106 :: (String) -> (HappyAbsSyn )
-happyIn106 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn106 #-}
-happyOut106 :: (HappyAbsSyn ) -> (String)
-happyOut106 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut106 #-}
-happyIn107 :: (String) -> (HappyAbsSyn )
-happyIn107 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn107 #-}
-happyOut107 :: (HappyAbsSyn ) -> (String)
-happyOut107 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut107 #-}
-happyIn108 :: (Integer) -> (HappyAbsSyn )
-happyIn108 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn108 #-}
-happyOut108 :: (HappyAbsSyn ) -> (Integer)
-happyOut108 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut108 #-}
-happyIn109 :: (Integer) -> (HappyAbsSyn )
-happyIn109 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn109 #-}
-happyOut109 :: (HappyAbsSyn ) -> (Integer)
-happyOut109 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut109 #-}
-happyIn110 :: (Rational) -> (HappyAbsSyn )
-happyIn110 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn110 #-}
-happyOut110 :: (HappyAbsSyn ) -> (Rational)
-happyOut110 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut110 #-}
-happyIn111 :: ([String]) -> (HappyAbsSyn )
-happyIn111 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyIn111 #-}
-happyOut111 :: (HappyAbsSyn ) -> ([String])
-happyOut111 x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOut111 #-}
-happyInTok :: (Token) -> (HappyAbsSyn )
-happyInTok x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyInTok #-}
-happyOutTok :: (HappyAbsSyn ) -> (Token)
-happyOutTok x = Happy_GHC_Exts.unsafeCoerce# x
-{-# INLINE happyOutTok #-}
-
-
-happyActOffsets :: HappyAddr
-happyActOffsets = HappyA# "\xe7\x00\x00\x00\x3f\x02\xe7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x02\x4a\x02\x4a\x02\x22\x02\x22\x02\x22\x02\x00\x00\x00\x00\x22\x02\x00\x00\x00\x00\x2d\x02\x21\x02\x93\x00\x93\x00\x00\x00\x40\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1e\x02\x1e\x02\x1e\x02\x2e\x02\x00\x00\x2e\x02\x00\x00\x00\x00\x30\x02\x2c\x02\x09\x02\xde\x00\x00\x00\x00\x00\x00\x00\xde\x00\x28\x02\x00\x00\x28\x02\x00\x00\x93\x00\x07\x02\x16\x02\xd3\x01\x00\x00\x00\x00\xd3\x01\x00\x00\xf3\x01\xf1\x01\x08\x02\xb0\x01\xf1\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x03\x00\x00\x00\x00\x00\x00\xec\x01\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8b\x00\x00\x00\x89\x00\x00\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x87\x00\x00\x00\xe9\x01\x84\x00\x00\x00\xe9\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x01\x00\x00\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xc6\x01\xe4\x01\x00\x00\xc1\x01\x00\x00\x00\x00\x06\x03\xf2\x01\x93\x00\x00\x00\xc2\x01\x00\x00\x00\x00\x00\x00\x00\x00\xc5\x01\xc4\x01\x00\x00\x06\x03\xa0\x01\xbe\x01\xbf\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe\x01\x97\x01\xf2\x01\xf2\x01\xf2\x01\xf2\x01\x00\x00\xf2\x01\x00\x00\x00\x00\x93\x01\x93\x01\x00\x00\x98\x01\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x01\xb0\x01\x91\x01\x91\x01\x91\x01\x91\x01\x91\x01\x91\x01\x91\x01\xb2\x01\xaf\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x01\x9b\x01\x00\x00\xae\x01\xaa\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xaa\x01\xac\x01\xac\x01\xac\x01\x00\x00\x00\x00\x00\x00\xa8\x01\x00\x00\x92\x01\x00\x00\x00\x00\x8f\x01\x00\x00\x63\x02\x00\x00\x8f\x01\x95\x01\x00\x00\x84\x01\x00\x00\x00\x00\x00\x00\xb0\x01\x8e\x01\x8b\x01\x00\x00\xbf\x02\xbf\x02\x69\x01\x00\x00\x8a\x01\x00\x00\x00\x00\x00\x00\xf2\x01\x6c\x01\x71\x01\x00\x00\xb0\x01\x00\x00\xb0\x01\x00\x00\x64\x01\x62\x01\xb0\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x01\x00\x00\xbf\x02\x74\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-
-happyGotoOffsets :: HappyAddr
-happyGotoOffsets = HappyA# "\x48\x00\x00\x00\x00\x00\x33\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x01\x27\x01\x10\x01\x0a\x01\x06\x01\x05\x01\x00\x00\x00\x00\x03\x01\x00\x00\x00\x00\xcd\xff\xfc\x00\xe9\x03\x92\x03\x00\x00\x18\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf2\x00\xf1\x00\xef\x00\x0f\x01\x00\x00\xe4\xff\x00\x00\x00\x00\x0e\x01\x0c\x01\xee\x00\xae\x00\x00\x00\x00\x00\x00\x00\x50\x00\x09\x01\x00\x00\x07\x01\x00\x00\x81\x06\xe9\x00\x04\x01\xd5\x00\x00\x00\x00\x00\xd4\x00\x00\x00\xf3\x00\xe8\x00\x9e\x03\xc2\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x16\x01\x00\x00\x00\x00\x00\x00\xed\x00\x46\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xed\xff\x00\x00\x00\x00\x00\x00\xeb\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xea\x00\x00\x00\x00\x00\xd1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc6\x00\xb4\x00\xb0\x00\xaf\x00\xad\x00\xac\x00\xab\x00\xa9\x00\xa8\x00\x06\x00\x00\x00\xf3\xff\x00\x00\x00\x00\xf5\x03\x9a\x04\x70\x06\x00\x00\xa7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x52\x00\xc7\x00\x00\x00\x4a\x04\xa6\x00\xbf\x00\x30\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb3\x00\x92\x00\x46\x05\x1b\x05\xf0\x04\x9c\x05\x00\x00\x71\x05\x00\x00\x00\x00\x8f\x00\x8e\x00\x00\x00\xec\x00\xea\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x02\x32\x02\x79\x00\x78\x00\x77\x00\x70\x00\x6d\x00\x6b\x00\x65\x00\x8c\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x35\x00\x00\x00\x83\x00\x6f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6e\x00\x69\x00\x5b\x00\x2e\x00\x00\x00\x00\x00\x00\x00\xe5\xff\x00\x00\x02\x00\x00\x00\x00\x00\x2c\x00\x00\x00\xd5\x05\x00\x00\x29\x00\x22\x00\x00\x00\xf1\xff\x00\x00\x00\x00\x00\x00\xfa\xff\x05\x00\x04\x00\x00\x00\x1c\x06\x63\x06\xdc\xff\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xc5\x04\xa5\x00\xdd\xff\x00\x00\xd6\x01\x00\x00\x7a\x01\x00\x00\x0f\x00\x24\x00\x1e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfb\xff\x00\x00\xe9\x05\xef\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
-
-happyDefActions :: HappyAddr
-happyDefActions = HappyA# "\xfe\xff\x00\x00\x00\x00\xfe\xff\xfc\xff\xf9\xff\xf8\xff\xfb\xff\x00\x00\x00\x00\x00\x00\x5a\xff\x5a\xff\x5a\xff\xfa\xff\x64\xff\x5a\xff\x65\xff\x66\xff\x00\x00\x5a\xff\x00\x00\x00\x00\xfd\xff\x00\x00\x8e\xff\x8c\xff\x80\xff\x7f\xff\x7e\xff\x8b\xff\x81\xff\x8d\xff\x5a\xff\x5a\xff\x5a\xff\x00\x00\x7d\xff\x9f\xff\x82\xff\x59\xff\x00\x00\x00\x00\x5a\xff\x00\x00\x5c\xff\x5e\xff\x63\xff\x00\x00\x00\x00\xf3\xff\x00\x00\x79\xff\x00\x00\x5a\xff\x00\x00\x5a\xff\x7c\xff\xa1\xff\x5a\xff\x7b\xff\x00\x00\x9e\xff\x00\x00\x00\x00\xf4\xff\xf2\xff\xf0\xff\xef\xff\xed\xff\xec\xff\xf1\xff\xe5\xff\xe4\xff\xdd\xff\x00\x00\x00\x00\xe3\xff\xca\xff\xc9\xff\xc6\xff\xc5\xff\xc8\xff\x00\x00\xbe\xff\xc7\xff\xb9\xff\xb7\xff\xbb\xff\xb5\xff\xb4\xff\xc4\xff\xb0\xff\xae\xff\xbf\xff\xac\xff\xaa\xff\xbd\xff\xb6\xff\xad\xff\xa9\xff\xb3\xff\x88\xff\x87\xff\x00\x00\xd3\xff\xd2\xff\xcb\xff\xb2\xff\x8a\xff\x89\xff\xa8\xff\x85\xff\x84\xff\x86\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\xf4\xff\xdb\xff\xd9\xff\xd5\xff\xd7\xff\x00\x00\x00\x00\x00\x00\xa0\xff\x5a\xff\x78\xff\x7a\xff\x9d\xff\xd6\xff\x00\x00\x00\x00\xda\xff\x00\x00\x5a\xff\x00\x00\x00\x00\x5b\xff\x5d\xff\x5f\xff\x60\xff\x61\xff\x62\xff\x67\xff\x6a\xff\x6b\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\xff\x00\x00\xc1\xff\xc0\xff\x5a\xff\x5a\xff\xde\xff\x00\x00\x00\x00\xd1\xff\xd0\xff\xce\xff\xcd\xff\xcc\xff\xcf\xff\x00\x00\x00\x00\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x5a\xff\x00\x00\x00\x00\x69\xff\x6e\xff\x6f\xff\x70\xff\x71\xff\x72\xff\x73\xff\xea\xff\xe7\xff\xee\xff\x00\x00\xe0\xff\x6c\xff\x6d\xff\xd4\xff\xbc\xff\xb1\xff\xba\xff\xc3\xff\xa7\xff\x00\x00\x00\x00\x00\x00\x83\xff\xe2\xff\x97\xff\xa3\xff\xa5\xff\x9c\xff\x94\xff\x9a\xff\x99\xff\x96\xff\x00\x00\x95\xff\x00\x00\x00\x00\x68\xff\xd9\xff\xdc\xff\xd8\xff\xf6\xff\x00\x00\x90\xff\x00\x00\x92\xff\x00\x00\x00\x00\x5a\xff\xf5\xff\x00\x00\xab\xff\xaf\xff\xb8\xff\x00\x00\x00\x00\x00\x00\xe8\xff\x00\x00\xeb\xff\x00\x00\xf7\xff\xea\xff\xe7\xff\x00\x00\xdf\xff\xa6\xff\xa4\xff\xa2\xff\x74\xff\x9b\xff\x00\x00\x91\xff\x00\x00\x00\x00\x93\xff\x8f\xff\x98\xff\xe1\xff\xe6\xff\xe9\xff"#
-
-happyCheck :: HappyAddr
-happyCheck = HappyA# "\xff\xff\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x15\x00\x0d\x00\x15\x00\x0f\x00\x10\x00\x05\x00\x12\x00\x20\x00\x21\x00\x22\x00\x05\x00\x17\x00\x18\x00\x46\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x35\x00\x0c\x00\x38\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x0c\x00\x51\x00\x62\x00\x4c\x00\x4c\x00\x0e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x49\x00\x36\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x3d\x00\x47\x00\x48\x00\x0e\x00\x49\x00\x58\x00\x59\x00\x6b\x00\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x4a\x00\x5d\x00\x4b\x00\x5d\x00\x4c\x00\x4c\x00\x51\x00\x5a\x00\x5b\x00\x06\x00\x4c\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\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x37\x00\x0d\x00\x5d\x00\x0f\x00\x10\x00\x4d\x00\x12\x00\x48\x00\x20\x00\x21\x00\x48\x00\x17\x00\x18\x00\x49\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x5d\x00\x37\x00\x5c\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x5c\x00\x5f\x00\x60\x00\x61\x00\x11\x00\x12\x00\x47\x00\x11\x00\x12\x00\x11\x00\x12\x00\x11\x00\x12\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x49\x00\x47\x00\x48\x00\x5f\x00\x60\x00\x61\x00\x58\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x5f\x00\x60\x00\x61\x00\x49\x00\x20\x00\x06\x00\x22\x00\x11\x00\x67\x00\x5a\x00\x5b\x00\x4c\x00\x4c\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\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x4b\x00\x0d\x00\x6b\x00\x0f\x00\x10\x00\x4d\x00\x12\x00\x49\x00\x6b\x00\x32\x00\x6b\x00\x17\x00\x18\x00\x6b\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x6b\x00\x6b\x00\x6b\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x47\x00\x18\x00\x19\x00\x1a\x00\x6b\x00\x6b\x00\x69\x00\x49\x00\x11\x00\x20\x00\x18\x00\x19\x00\x1a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x49\x00\x47\x00\x48\x00\x66\x00\x25\x00\x5f\x00\x60\x00\x61\x00\x49\x00\x6b\x00\x6b\x00\x6b\x00\x6b\x00\x67\x00\x6b\x00\x6b\x00\x6b\x00\x48\x00\x6b\x00\x6b\x00\x5a\x00\x5b\x00\x32\x00\x6b\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\x0f\x00\x10\x00\x19\x00\x12\x00\x6b\x00\x48\x00\x48\x00\x4c\x00\x17\x00\x18\x00\x4a\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x4b\x00\x6b\x00\x6b\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x4d\x00\x66\x00\x4c\x00\x6b\x00\x4c\x00\x4a\x00\x49\x00\x48\x00\x6b\x00\x6b\x00\x4c\x00\x6b\x00\x6b\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x4c\x00\x47\x00\x48\x00\x6b\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x6b\x00\x48\x00\x6b\x00\x6b\x00\x5c\x00\x5d\x00\x48\x00\x6b\x00\x02\x00\x15\x00\x5a\x00\x5b\x00\x16\x00\x0a\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\x0f\x00\x10\x00\x1f\x00\x12\x00\x03\x00\x25\x00\x04\x00\x01\x00\x17\x00\x18\x00\x05\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x16\x00\x06\x00\x0a\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x05\x00\x02\x00\x05\x00\x15\x00\x01\x00\x04\x00\x16\x00\x02\x00\x06\x00\x25\x00\x1f\x00\x25\x00\x22\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x02\x00\x47\x00\x48\x00\x13\x00\x14\x00\x25\x00\x02\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x5a\x00\x5b\x00\x11\x00\x16\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\x0f\x00\x10\x00\x25\x00\x12\x00\x05\x00\x01\x00\x25\x00\x24\x00\x17\x00\x18\x00\x03\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x05\x00\x04\x00\x25\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x01\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x06\x00\x47\x00\x48\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x25\x00\x05\x00\x25\x00\x03\x00\x5a\x00\x5b\x00\x02\x00\x05\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\x0f\x00\x10\x00\x25\x00\x12\x00\x05\x00\x25\x00\x25\x00\x1b\x00\x17\x00\x18\x00\x01\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x26\x00\x03\x00\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\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\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\xff\xff\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\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\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\x15\x00\x16\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5a\x00\x5b\x00\xff\xff\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\x0f\x00\x10\x00\xff\xff\x12\x00\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x18\x00\xff\xff\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\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\x5a\x00\x5b\x00\xff\xff\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\x13\x00\x14\x00\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\x48\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\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\x14\x00\xff\xff\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\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\x16\x00\x17\x00\xff\xff\xff\xff\xff\xff\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\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\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\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\xff\xff\xff\xff\xff\xff\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\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\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x40\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xff\xff\x47\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\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x32\x00\x47\x00\xff\xff\xff\xff\x4a\x00\x4b\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\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\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x32\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x32\x00\x47\x00\x34\x00\xff\xff\x4a\x00\xff\xff\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\xff\xff\x47\x00\xff\xff\xff\xff\x4a\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\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\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x32\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\xff\xff\x3a\x00\x3b\x00\x3c\x00\x3d\x00\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x43\x00\x44\x00\x45\x00\x39\x00\x47\x00\xff\xff\xff\xff\x4a\x00\xff\xff\x3f\x00\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x47\x00\xff\xff\xff\xff\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x3f\x00\x40\x00\x5f\x00\x60\x00\x61\x00\x62\x00\x63\x00\x64\x00\x47\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5f\x00\x60\x00\x61\x00\x62\x00\xff\xff\xff\xff\xff\xff\xff\xff\x67\x00\xff\xff\x69\x00\xff\xff\xff\xff\xff\xff"#
-
-happyTable :: HappyAddr
-happyTable = HappyA# "\x00\x00\x04\x01\x42\x00\x43\x00\x44\x00\x45\x00\xe2\x00\x46\x00\x8c\x00\x47\x00\x48\x00\x8f\x00\x49\x00\x9f\x00\xa0\x00\xa1\x00\xb8\x00\x4a\x00\x4b\x00\x26\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xeb\x00\x0a\x01\x29\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\xf5\x00\xfa\x00\x27\x00\x2a\x00\xec\x00\x09\x01\x17\x00\x03\x00\x04\x00\x05\x00\x06\x00\x05\x01\xfd\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xfe\x00\x1a\x00\x68\x00\xf3\x00\x07\x01\xa2\x00\xa3\x00\xff\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\xdb\x00\x8d\x00\x02\x01\x8d\x00\x03\x01\x90\x00\xe9\x00\x69\x00\x6a\x00\x31\x00\x90\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x9a\x00\x42\x00\x43\x00\x44\x00\x45\x00\x07\x00\x46\x00\xf6\x00\x47\x00\x48\x00\xe3\x00\x49\x00\xe4\x00\x9f\x00\xa0\x00\xe8\x00\x4a\x00\x4b\x00\xed\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xf6\x00\x07\x00\xf4\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\xf4\x00\x08\x00\x09\x00\x0a\x00\xba\xff\xba\xff\x32\x00\xb1\xff\xb1\xff\xbc\xff\xbc\xff\xa5\x00\xa6\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xee\x00\x1a\x00\x68\x00\x08\x00\x09\x00\x0a\x00\xa2\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x1b\x00\x1c\x00\x1d\x00\xef\x00\x23\x00\x33\x00\x24\x00\xfb\x00\x1f\x00\x69\x00\x6a\x00\xf0\x00\xf1\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\xf2\x00\x46\x00\xba\x00\x47\x00\x48\x00\xf7\x00\x49\x00\xb9\x00\xbb\x00\xc5\x00\xbc\x00\x4a\x00\x4b\x00\xbd\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\xbe\x00\xbf\x00\xc0\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\x32\x00\x0c\x00\x0d\x00\x0e\x00\xc6\x00\xc7\x00\xd1\x00\xd2\x00\xc4\x00\x23\x00\x0c\x00\x0d\x00\x0e\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\xde\x00\x1a\x00\x68\x00\x6f\x00\x0f\x00\x1b\x00\x1c\x00\x1d\x00\xe1\x00\xdf\x00\x87\x00\x91\x00\x92\x00\x1f\x00\x93\x00\x94\x00\x95\x00\x9c\x00\x96\x00\x97\x00\x69\x00\x6a\x00\xc5\x00\x98\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x08\x01\x48\x00\xa8\x00\x49\x00\x99\x00\x9d\x00\x9e\x00\x83\x00\x4a\x00\x4b\x00\xa7\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x84\x00\x86\x00\x39\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\x3a\x00\x6f\x00\x3f\x00\x3c\x00\x40\x00\x35\x00\x37\x00\x13\x00\x34\x00\x2d\x00\x2c\x00\x2e\x00\x2f\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x30\x00\x1a\x00\x68\x00\x25\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\x28\x00\x15\x00\x0f\x00\x11\x00\xaf\x00\xb0\x00\x16\x00\x12\x00\x39\x00\xb8\x00\x69\x00\x6a\x00\x8f\x00\xeb\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xf8\x00\x48\x00\x7a\x00\x49\x00\x37\x00\x11\x00\x86\x00\x15\x00\x4a\x00\x4b\x00\x2c\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x8f\x00\x3c\x00\xeb\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\x2c\x00\x39\x00\x2c\x00\xb8\x00\x15\x00\x86\x00\x8f\x00\x39\x00\x3c\x00\x11\x00\x7a\x00\x11\x00\x24\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x39\x00\x1a\x00\x68\x00\x74\x00\x75\x00\x11\x00\x39\x00\x76\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x69\x00\x6a\x00\xa5\x00\x8f\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xf9\x00\x48\x00\x11\x00\x49\x00\x2c\x00\x15\x00\x11\x00\x9c\x00\x4a\x00\x4b\x00\x37\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x2c\x00\x86\x00\x11\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\x15\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x3c\x00\x1a\x00\x68\x00\x76\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x11\x00\x2c\x00\x11\x00\x37\x00\x69\x00\x6a\x00\x39\x00\x2c\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xc1\x00\x48\x00\x11\x00\x49\x00\x2c\x00\x11\x00\x11\x00\x22\x00\x4a\x00\x4b\x00\x15\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\xff\xff\x37\x00\x86\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x00\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xc2\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\x00\x00\x37\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x00\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xc3\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\x76\x00\x0c\x00\x0d\x00\x0e\x00\x22\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x23\x00\x7b\x00\x24\x00\x7c\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x8f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xa6\x00\x48\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4a\x00\x4b\x00\x00\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x00\x6a\x00\x00\x00\x00\x00\x6b\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x7c\x00\x7d\x00\x00\x00\x7e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x80\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\x18\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x81\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x82\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x8b\x00\x00\x00\x7e\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x80\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\x24\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x82\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xe0\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x80\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x82\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x89\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x00\x00\x00\x00\x00\x00\x52\x00\x8a\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xfc\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xce\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xcf\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcd\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\xd0\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x00\x54\x00\xc9\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\xca\x00\x5c\x00\x5d\x00\xcb\x00\x5f\x00\x60\x00\x61\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\xd3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe5\x00\xd6\x00\xd7\x00\xd8\x00\xe6\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\xd3\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\xe7\x00\x00\x00\x00\x00\xe5\x00\xd6\x00\xd7\x00\xd8\x00\x06\x01\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\x00\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\xd3\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\xe5\x00\xd6\x00\xd7\x00\xd8\x00\x01\x01\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\xd3\x00\x1a\x00\xd4\x00\x00\x00\xdb\x00\x00\x00\x00\x00\x00\x00\xd5\x00\xd6\x00\xd7\x00\xd8\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\x00\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\x00\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\xd3\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x00\x00\x00\x01\xd6\x00\xd7\x00\xd8\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\xda\x00\x66\x00\x67\x00\x88\x00\x1a\x00\x00\x00\x00\x00\xdb\x00\x00\x00\x3e\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x3d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x00\x19\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\xdc\x00\xdd\x00\x1a\x00\x6f\x00\x1f\x00\x70\x00\x71\x00\x72\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00"#
-
-happyReduceArr = Happy_Data_Array.array (1, 166) [
-	(1 , happyReduce_1),
-	(2 , happyReduce_2),
-	(3 , happyReduce_3),
-	(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)
-	]
-
-happy_n_terms = 39 :: Int
-happy_n_nonterms = 108 :: Int
-
-happyReduce_1 = happySpecReduce_0  0# happyReduction_1
-happyReduction_1  =  happyIn4
-		 ([]
-	)
-
-happyReduce_2 = happySpecReduce_2  0# happyReduction_2
-happyReduction_2 happy_x_2
-	happy_x_1
-	 =  case happyOut5 happy_x_1 of { happy_var_1 -> 
-	case happyOut4 happy_x_2 of { happy_var_2 -> 
-	happyIn4
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyReduce_3 = happySpecReduce_1  1# happyReduction_3
-happyReduction_3 happy_x_1
-	 =  case happyOut6 happy_x_1 of { happy_var_1 -> 
-	happyIn5
-		 (happy_var_1
-	)}
-
-happyReduce_4 = happySpecReduce_1  1# happyReduction_4
-happyReduction_4 happy_x_1
-	 =  case happyOut59 happy_x_1 of { happy_var_1 -> 
-	happyIn5
-		 (happy_var_1
-	)}
-
-happyReduce_5 = happySpecReduce_1  1# happyReduction_5
-happyReduction_5 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (CommentToken happy_var_1) -> 
-	happyIn5
-		 (Comment happy_var_1
-	)}
-
-happyReduce_6 = happySpecReduce_1  2# happyReduction_6
-happyReduction_6 happy_x_1
-	 =  case happyOut7 happy_x_1 of { happy_var_1 -> 
-	happyIn6
-		 (happy_var_1
-	)}
-
-happyReduce_7 = happySpecReduce_1  2# happyReduction_7
-happyReduction_7 happy_x_1
-	 =  case happyOut8 happy_x_1 of { happy_var_1 -> 
-	happyIn6
-		 (happy_var_1
-	)}
-
-happyReduce_8 = happyReduce 10# 3# happyReduction_8
-happyReduction_8 (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 happyOut67 happy_x_3 of { happy_var_3 -> 
-	case happyOut10 happy_x_5 of { happy_var_5 -> 
-	case happyOut11 happy_x_7 of { happy_var_7 -> 
-	case happyOut9 happy_x_8 of { happy_var_8 -> 
-	happyIn7
-		 (AFormula        happy_var_3               happy_var_5                happy_var_7           happy_var_8
-	) `HappyStk` happyRest}}}}
-
-happyReduce_9 = happyReduce 10# 4# happyReduction_9
-happyReduction_9 (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 happyOut67 happy_x_3 of { happy_var_3 -> 
-	case happyOut10 happy_x_5 of { happy_var_5 -> 
-	case happyOut23 happy_x_7 of { happy_var_7 -> 
-	case happyOut9 happy_x_8 of { happy_var_8 -> 
-	happyIn8
-		 (AFormula          happy_var_3              happy_var_5  (univquant_free_vars happy_var_7) happy_var_8
-	) `HappyStk` happyRest}}}}
-
-happyReduce_10 = happySpecReduce_3  5# happyReduction_10
-happyReduction_10 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut56 happy_x_2 of { happy_var_2 -> 
-	case happyOut57 happy_x_3 of { happy_var_3 -> 
-	happyIn9
-		 (Annotations happy_var_2 happy_var_3
-	)}}
-
-happyReduce_11 = happySpecReduce_0  5# happyReduction_11
-happyReduction_11  =  happyIn9
-		 (NoAnnotations
-	)
-
-happyReduce_12 = happySpecReduce_1  6# happyReduction_12
-happyReduction_12 happy_x_1
-	 =  case happyOut75 happy_x_1 of { happy_var_1 -> 
-	happyIn10
-		 (Role happy_var_1
-	)}
-
-happyReduce_13 = happySpecReduce_1  7# happyReduction_13
-happyReduction_13 happy_x_1
-	 =  case happyOut12 happy_x_1 of { happy_var_1 -> 
-	happyIn11
-		 (happy_var_1
-	)}
-
-happyReduce_14 = happySpecReduce_1  7# happyReduction_14
-happyReduction_14 happy_x_1
-	 =  case happyOut19 happy_x_1 of { happy_var_1 -> 
-	happyIn11
-		 (happy_var_1
-	)}
-
-happyReduce_15 = happySpecReduce_1  8# happyReduction_15
-happyReduction_15 happy_x_1
-	 =  case happyOut13 happy_x_1 of { happy_var_1 -> 
-	happyIn12
-		 (happy_var_1
-	)}
-
-happyReduce_16 = happySpecReduce_1  8# happyReduction_16
-happyReduction_16 happy_x_1
-	 =  case happyOut14 happy_x_1 of { happy_var_1 -> 
-	happyIn12
-		 (happy_var_1
-	)}
-
-happyReduce_17 = happySpecReduce_3  9# happyReduction_17
-happyReduction_17 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut19 happy_x_1 of { happy_var_1 -> 
-	case happyOut29 happy_x_2 of { happy_var_2 -> 
-	case happyOut19 happy_x_3 of { happy_var_3 -> 
-	happyIn13
-		 (happy_var_2 happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_18 = happySpecReduce_1  10# happyReduction_18
-happyReduction_18 happy_x_1
-	 =  case happyOut15 happy_x_1 of { happy_var_1 -> 
-	happyIn14
-		 (happy_var_1
-	)}
-
-happyReduce_19 = happySpecReduce_1  10# happyReduction_19
-happyReduction_19 happy_x_1
-	 =  case happyOut17 happy_x_1 of { happy_var_1 -> 
-	happyIn14
-		 (happy_var_1
-	)}
-
-happyReduce_20 = happyReduce 4# 11# happyReduction_20
-happyReduction_20 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut19 happy_x_1 of { happy_var_1 -> 
-	case happyOut19 happy_x_3 of { happy_var_3 -> 
-	case happyOut16 happy_x_4 of { happy_var_4 -> 
-	happyIn15
-		 (L.foldl (.|.) (happy_var_1 .|. happy_var_3) happy_var_4
-	) `HappyStk` happyRest}}}
-
-happyReduce_21 = happySpecReduce_0  12# happyReduction_21
-happyReduction_21  =  happyIn16
-		 ([]
-	)
-
-happyReduce_22 = happySpecReduce_3  12# happyReduction_22
-happyReduction_22 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut19 happy_x_2 of { happy_var_2 -> 
-	case happyOut16 happy_x_3 of { happy_var_3 -> 
-	happyIn16
-		 (happy_var_2 : happy_var_3
-	)}}
-
-happyReduce_23 = happyReduce 4# 13# happyReduction_23
-happyReduction_23 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut19 happy_x_1 of { happy_var_1 -> 
-	case happyOut19 happy_x_3 of { happy_var_3 -> 
-	case happyOut18 happy_x_4 of { happy_var_4 -> 
-	happyIn17
-		 (L.foldl (.&.) (happy_var_1 .&. happy_var_3) happy_var_4
-	) `HappyStk` happyRest}}}
-
-happyReduce_24 = happySpecReduce_0  14# happyReduction_24
-happyReduction_24  =  happyIn18
-		 ([]
-	)
-
-happyReduce_25 = happySpecReduce_3  14# happyReduction_25
-happyReduction_25 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut19 happy_x_2 of { happy_var_2 -> 
-	case happyOut18 happy_x_3 of { happy_var_3 -> 
-	happyIn18
-		 (happy_var_2 : happy_var_3
-	)}}
-
-happyReduce_26 = happySpecReduce_1  15# happyReduction_26
-happyReduction_26 happy_x_1
-	 =  case happyOut20 happy_x_1 of { happy_var_1 -> 
-	happyIn19
-		 (happy_var_1
-	)}
-
-happyReduce_27 = happySpecReduce_1  15# happyReduction_27
-happyReduction_27 happy_x_1
-	 =  case happyOut22 happy_x_1 of { happy_var_1 -> 
-	happyIn19
-		 (happy_var_1
-	)}
-
-happyReduce_28 = happySpecReduce_1  15# happyReduction_28
-happyReduction_28 happy_x_1
-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> 
-	happyIn19
-		 (happy_var_1
-	)}
-
-happyReduce_29 = happySpecReduce_3  15# happyReduction_29
-happyReduction_29 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut11 happy_x_2 of { happy_var_2 -> 
-	happyIn19
-		 (happy_var_2
-	)}
-
-happyReduce_30 = happyReduce 6# 16# happyReduction_30
-happyReduction_30 (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 happyOut28 happy_x_1 of { happy_var_1 -> 
-	case happyOut21 happy_x_3 of { happy_var_3 -> 
-	case happyOut85 happy_x_5 of { happy_var_5 -> 
-	case happyOut19 happy_x_6 of { happy_var_6 -> 
-	happyIn20
-		 (happy_var_1 happy_var_3 happy_var_6 `withComments` comm happy_var_5
-	) `HappyStk` happyRest}}}}
-
-happyReduce_31 = happySpecReduce_1  17# happyReduction_31
-happyReduction_31 happy_x_1
-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> 
-	happyIn21
-		 ([happy_var_1]
-	)}
-
-happyReduce_32 = happySpecReduce_3  17# happyReduction_32
-happyReduction_32 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> 
-	case happyOut21 happy_x_3 of { happy_var_3 -> 
-	happyIn21
-		 (happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_33 = happySpecReduce_2  18# happyReduction_33
-happyReduction_33 happy_x_2
-	happy_x_1
-	 =  case happyOut30 happy_x_1 of { happy_var_1 -> 
-	case happyOut19 happy_x_2 of { happy_var_2 -> 
-	happyIn22
-		 (happy_var_1 happy_var_2
-	)}}
-
-happyReduce_34 = happySpecReduce_1  18# happyReduction_34
-happyReduction_34 happy_x_1
-	 =  case happyOut27 happy_x_1 of { happy_var_1 -> 
-	happyIn22
-		 (happy_var_1
-	)}
-
-happyReduce_35 = happySpecReduce_3  19# happyReduction_35
-happyReduction_35 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut24 happy_x_2 of { happy_var_2 -> 
-	happyIn23
-		 (happy_var_2
-	)}
-
-happyReduce_36 = happySpecReduce_1  19# happyReduction_36
-happyReduction_36 happy_x_1
-	 =  case happyOut24 happy_x_1 of { happy_var_1 -> 
-	happyIn23
-		 (happy_var_1
-	)}
-
-happyReduce_37 = happySpecReduce_2  20# happyReduction_37
-happyReduction_37 happy_x_2
-	happy_x_1
-	 =  case happyOut26 happy_x_1 of { happy_var_1 -> 
-	case happyOut25 happy_x_2 of { happy_var_2 -> 
-	happyIn24
-		 (L.foldl (.|.) happy_var_1 happy_var_2
-	)}}
-
-happyReduce_38 = happySpecReduce_0  21# happyReduction_38
-happyReduction_38  =  happyIn25
-		 ([]
-	)
-
-happyReduce_39 = happySpecReduce_3  21# happyReduction_39
-happyReduction_39 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut26 happy_x_2 of { happy_var_2 -> 
-	case happyOut25 happy_x_3 of { happy_var_3 -> 
-	happyIn25
-		 (happy_var_2 : happy_var_3
-	)}}
-
-happyReduce_40 = happySpecReduce_1  22# happyReduction_40
-happyReduction_40 happy_x_1
-	 =  case happyOut31 happy_x_1 of { happy_var_1 -> 
-	happyIn26
-		 (happy_var_1
-	)}
-
-happyReduce_41 = happySpecReduce_2  22# happyReduction_41
-happyReduction_41 happy_x_2
-	happy_x_1
-	 =  case happyOut31 happy_x_2 of { happy_var_2 -> 
-	happyIn26
-		 ((.~.) happy_var_2
-	)}
-
-happyReduce_42 = happySpecReduce_1  22# happyReduction_42
-happyReduction_42 happy_x_1
-	 =  case happyOut27 happy_x_1 of { happy_var_1 -> 
-	happyIn26
-		 (happy_var_1
-	)}
-
-happyReduce_43 = happySpecReduce_3  23# happyReduction_43
-happyReduction_43 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut40 happy_x_1 of { happy_var_1 -> 
-	case happyOut38 happy_x_2 of { happy_var_2 -> 
-	case happyOut40 happy_x_3 of { happy_var_3 -> 
-	happyIn27
-		 (happy_var_2 happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_44 = happySpecReduce_1  24# happyReduction_44
-happyReduction_44 happy_x_1
-	 =  happyIn28
-		 (for_all
-	)
-
-happyReduce_45 = happySpecReduce_1  24# happyReduction_45
-happyReduction_45 happy_x_1
-	 =  happyIn28
-		 (exists
-	)
-
-happyReduce_46 = happySpecReduce_1  25# happyReduction_46
-happyReduction_46 happy_x_1
-	 =  happyIn29
-		 ((.<=>.)
-	)
-
-happyReduce_47 = happySpecReduce_1  25# happyReduction_47
-happyReduction_47 happy_x_1
-	 =  happyIn29
-		 ((.=>.)
-	)
-
-happyReduce_48 = happySpecReduce_1  25# happyReduction_48
-happyReduction_48 happy_x_1
-	 =  happyIn29
-		 ((.<=.)
-	)
-
-happyReduce_49 = happySpecReduce_1  25# happyReduction_49
-happyReduction_49 happy_x_1
-	 =  happyIn29
-		 ((.<~>.)
-	)
-
-happyReduce_50 = happySpecReduce_1  25# happyReduction_50
-happyReduction_50 happy_x_1
-	 =  happyIn29
-		 ((.~|.)
-	)
-
-happyReduce_51 = happySpecReduce_1  25# happyReduction_51
-happyReduction_51 happy_x_1
-	 =  happyIn29
-		 ((.~&.)
-	)
-
-happyReduce_52 = happySpecReduce_1  26# happyReduction_52
-happyReduction_52 happy_x_1
-	 =  happyIn30
-		 ((.~.)
-	)
-
-happyReduce_53 = happySpecReduce_1  27# happyReduction_53
-happyReduction_53 happy_x_1
-	 =  case happyOut32 happy_x_1 of { happy_var_1 -> 
-	happyIn31
-		 (happy_var_1
-	)}
-
-happyReduce_54 = happySpecReduce_1  27# happyReduction_54
-happyReduction_54 happy_x_1
-	 =  case happyOut33 happy_x_1 of { happy_var_1 -> 
-	happyIn31
-		 (happy_var_1
-	)}
-
-happyReduce_55 = happySpecReduce_1  27# happyReduction_55
-happyReduction_55 happy_x_1
-	 =  case happyOut39 happy_x_1 of { happy_var_1 -> 
-	happyIn31
-		 (happy_var_1
-	)}
-
-happyReduce_56 = happySpecReduce_1  28# happyReduction_56
-happyReduction_56 happy_x_1
-	 =  case happyOut42 happy_x_1 of { happy_var_1 -> 
-	happyIn32
-		 (fApp2pApp happy_var_1
-	)}
-
-happyReduce_57 = happySpecReduce_1  29# happyReduction_57
-happyReduction_57 happy_x_1
-	 =  case happyOut34 happy_x_1 of { happy_var_1 -> 
-	happyIn33
-		 (happy_var_1
-	)}
-
-happyReduce_58 = happySpecReduce_1  29# happyReduction_58
-happyReduction_58 happy_x_1
-	 =  case happyOut35 happy_x_1 of { happy_var_1 -> 
-	happyIn33
-		 (happy_var_1
-	)}
-
-happyReduce_59 = happySpecReduce_1  30# happyReduction_59
-happyReduction_59 happy_x_1
-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> 
-	happyIn34
-		 (fApp2pApp happy_var_1
-	)}
-
-happyReduce_60 = happySpecReduce_3  31# happyReduction_60
-happyReduction_60 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut40 happy_x_1 of { happy_var_1 -> 
-	case happyOut36 happy_x_2 of { happy_var_2 -> 
-	case happyOut40 happy_x_3 of { happy_var_3 -> 
-	happyIn35
-		 (happy_var_2 happy_var_1 happy_var_3
-	)}}}
-
-happyReduce_61 = happySpecReduce_1  32# happyReduction_61
-happyReduction_61 happy_x_1
-	 =  case happyOut37 happy_x_1 of { happy_var_1 -> 
-	happyIn36
-		 (happy_var_1
-	)}
-
-happyReduce_62 = happySpecReduce_1  33# happyReduction_62
-happyReduction_62 happy_x_1
-	 =  happyIn37
-		 ((.=.)
-	)
-
-happyReduce_63 = happySpecReduce_1  34# happyReduction_63
-happyReduction_63 happy_x_1
-	 =  happyIn38
-		 ((.!=.)
-	)
-
-happyReduce_64 = happySpecReduce_1  35# happyReduction_64
-happyReduction_64 happy_x_1
-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
-	happyIn39
-		 (fApp2pApp happy_var_1
-	)}
-
-happyReduce_65 = happySpecReduce_1  36# happyReduction_65
-happyReduction_65 happy_x_1
-	 =  case happyOut41 happy_x_1 of { happy_var_1 -> 
-	happyIn40
-		 (happy_var_1
-	)}
-
-happyReduce_66 = happySpecReduce_1  36# happyReduction_66
-happyReduction_66 happy_x_1
-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> 
-	happyIn40
-		 (var happy_var_1
-	)}
-
-happyReduce_67 = happySpecReduce_1  37# happyReduction_67
-happyReduction_67 happy_x_1
-	 =  case happyOut42 happy_x_1 of { happy_var_1 -> 
-	happyIn41
-		 (happy_var_1
-	)}
-
-happyReduce_68 = happySpecReduce_1  37# happyReduction_68
-happyReduction_68 happy_x_1
-	 =  case happyOut45 happy_x_1 of { happy_var_1 -> 
-	happyIn41
-		 (happy_var_1
-	)}
-
-happyReduce_69 = happySpecReduce_1  37# happyReduction_69
-happyReduction_69 happy_x_1
-	 =  case happyOut51 happy_x_1 of { happy_var_1 -> 
-	happyIn41
-		 (happy_var_1
-	)}
-
-happyReduce_70 = happySpecReduce_1  38# happyReduction_70
-happyReduction_70 happy_x_1
-	 =  case happyOut43 happy_x_1 of { happy_var_1 -> 
-	happyIn42
-		 (fApp happy_var_1 []
-	)}
-
-happyReduce_71 = happyReduce 4# 38# happyReduction_71
-happyReduction_71 (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 happyOut55 happy_x_3 of { happy_var_3 -> 
-	happyIn42
-		 (fApp happy_var_1 happy_var_3
-	) `HappyStk` happyRest}}
-
-happyReduce_72 = happySpecReduce_1  39# happyReduction_72
-happyReduction_72 happy_x_1
-	 =  case happyOut44 happy_x_1 of { happy_var_1 -> 
-	happyIn43
-		 (happy_var_1
-	)}
-
-happyReduce_73 = happySpecReduce_1  40# happyReduction_73
-happyReduction_73 happy_x_1
-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> 
-	happyIn44
-		 (happy_var_1
-	)}
-
-happyReduce_74 = happySpecReduce_1  41# happyReduction_74
-happyReduction_74 happy_x_1
-	 =  case happyOut46 happy_x_1 of { happy_var_1 -> 
-	happyIn45
-		 (happy_var_1
-	)}
-
-happyReduce_75 = happySpecReduce_1  41# happyReduction_75
-happyReduction_75 happy_x_1
-	 =  case happyOut47 happy_x_1 of { happy_var_1 -> 
-	happyIn45
-		 (happy_var_1
-	)}
-
-happyReduce_76 = happySpecReduce_1  42# happyReduction_76
-happyReduction_76 happy_x_1
-	 =  case happyOut71 happy_x_1 of { happy_var_1 -> 
-	happyIn46
-		 (numberLitTerm happy_var_1
-	)}
-
-happyReduce_77 = happySpecReduce_1  42# happyReduction_77
-happyReduction_77 happy_x_1
-	 =  case happyOut103 happy_x_1 of { happy_var_1 -> 
-	happyIn46
-		 (distinctObjectTerm (stripQuotes '"' happy_var_1)
-	)}
-
-happyReduce_78 = happySpecReduce_1  43# happyReduction_78
-happyReduction_78 happy_x_1
-	 =  case happyOut48 happy_x_1 of { happy_var_1 -> 
-	happyIn47
-		 (happy_var_1
-	)}
-
-happyReduce_79 = happySpecReduce_1  44# happyReduction_79
-happyReduction_79 happy_x_1
-	 =  case happyOut49 happy_x_1 of { happy_var_1 -> 
-	happyIn48
-		 (fApp (AtomicWord happy_var_1) []
-	)}
-
-happyReduce_80 = happyReduce 4# 44# happyReduction_80
-happyReduction_80 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut50 happy_x_1 of { happy_var_1 -> 
-	case happyOut55 happy_x_3 of { happy_var_3 -> 
-	happyIn48
-		 (fApp (AtomicWord happy_var_1) happy_var_3
-	) `HappyStk` happyRest}}
-
-happyReduce_81 = happySpecReduce_1  45# happyReduction_81
-happyReduction_81 happy_x_1
-	 =  case happyOut50 happy_x_1 of { happy_var_1 -> 
-	happyIn49
-		 (happy_var_1
-	)}
-
-happyReduce_82 = happySpecReduce_1  46# happyReduction_82
-happyReduction_82 happy_x_1
-	 =  case happyOut69 happy_x_1 of { happy_var_1 -> 
-	happyIn50
-		 (happy_var_1
-	)}
-
-happyReduce_83 = happySpecReduce_1  47# happyReduction_83
-happyReduction_83 happy_x_1
-	 =  case happyOut52 happy_x_1 of { happy_var_1 -> 
-	happyIn51
-		 (fApp (AtomicWord happy_var_1) []
-	)}
-
-happyReduce_84 = happyReduce 4# 47# happyReduction_84
-happyReduction_84 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut53 happy_x_1 of { happy_var_1 -> 
-	case happyOut55 happy_x_3 of { happy_var_3 -> 
-	happyIn51
-		 (fApp (AtomicWord happy_var_1) happy_var_3
-	) `HappyStk` happyRest}}
-
-happyReduce_85 = happySpecReduce_1  48# happyReduction_85
-happyReduction_85 happy_x_1
-	 =  case happyOut53 happy_x_1 of { happy_var_1 -> 
-	happyIn52
-		 (happy_var_1
-	)}
-
-happyReduce_86 = happySpecReduce_1  49# happyReduction_86
-happyReduction_86 happy_x_1
-	 =  case happyOut70 happy_x_1 of { happy_var_1 -> 
-	happyIn53
-		 (happy_var_1
-	)}
-
-happyReduce_87 = happySpecReduce_1  50# happyReduction_87
-happyReduction_87 happy_x_1
-	 =  case happyOut106 happy_x_1 of { happy_var_1 -> 
-	happyIn54
-		 (V happy_var_1
-	)}
-
-happyReduce_88 = happySpecReduce_1  51# happyReduction_88
-happyReduction_88 happy_x_1
-	 =  case happyOut40 happy_x_1 of { happy_var_1 -> 
-	happyIn55
-		 ([happy_var_1]
-	)}
-
-happyReduce_89 = happySpecReduce_3  51# happyReduction_89
-happyReduction_89 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut40 happy_x_1 of { happy_var_1 -> 
-	case happyOut55 happy_x_3 of { happy_var_3 -> 
-	happyIn55
-		 (happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_90 = happySpecReduce_1  52# happyReduction_90
-happyReduction_90 happy_x_1
-	 =  case happyOut62 happy_x_1 of { happy_var_1 -> 
-	happyIn56
-		 (happy_var_1
-	)}
-
-happyReduce_91 = happySpecReduce_2  53# happyReduction_91
-happyReduction_91 happy_x_2
-	happy_x_1
-	 =  case happyOut58 happy_x_2 of { happy_var_2 -> 
-	happyIn57
-		 (happy_var_2
-	)}
-
-happyReduce_92 = happySpecReduce_0  53# happyReduction_92
-happyReduction_92  =  happyIn57
-		 (NoUsefulInfo
-	)
-
-happyReduce_93 = happySpecReduce_1  54# happyReduction_93
-happyReduction_93 happy_x_1
-	 =  case happyOut65 happy_x_1 of { happy_var_1 -> 
-	happyIn58
-		 (UsefulInfo happy_var_1
-	)}
-
-happyReduce_94 = happyReduce 6# 55# happyReduction_94
-happyReduction_94 (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 happyOut74 happy_x_3 of { happy_var_3 -> 
-	case happyOut60 happy_x_4 of { happy_var_4 -> 
-	happyIn59
-		 (Include happy_var_3 happy_var_4
-	) `HappyStk` happyRest}}
-
-happyReduce_95 = happyReduce 4# 56# happyReduction_95
-happyReduction_95 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut61 happy_x_3 of { happy_var_3 -> 
-	happyIn60
-		 (happy_var_3
-	) `HappyStk` happyRest}
-
-happyReduce_96 = happySpecReduce_0  56# happyReduction_96
-happyReduction_96  =  happyIn60
-		 ([]
-	)
-
-happyReduce_97 = happySpecReduce_1  57# happyReduction_97
-happyReduction_97 happy_x_1
-	 =  case happyOut67 happy_x_1 of { happy_var_1 -> 
-	happyIn61
-		 ([happy_var_1]
-	)}
-
-happyReduce_98 = happySpecReduce_3  57# happyReduction_98
-happyReduction_98 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut67 happy_x_1 of { happy_var_1 -> 
-	case happyOut61 happy_x_3 of { happy_var_3 -> 
-	happyIn61
-		 (happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_99 = happySpecReduce_1  58# happyReduction_99
-happyReduction_99 happy_x_1
-	 =  case happyOut63 happy_x_1 of { happy_var_1 -> 
-	happyIn62
-		 (GTerm happy_var_1
-	)}
-
-happyReduce_100 = happySpecReduce_3  58# happyReduction_100
-happyReduction_100 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut63 happy_x_1 of { happy_var_1 -> 
-	case happyOut62 happy_x_3 of { happy_var_3 -> 
-	happyIn62
-		 (ColonSep happy_var_1 happy_var_3
-	)}}
-
-happyReduce_101 = happySpecReduce_1  58# happyReduction_101
-happyReduction_101 happy_x_1
-	 =  case happyOut65 happy_x_1 of { happy_var_1 -> 
-	happyIn62
-		 (GList happy_var_1
-	)}
-
-happyReduce_102 = happySpecReduce_1  59# happyReduction_102
-happyReduction_102 happy_x_1
-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> 
-	happyIn63
-		 (GWord happy_var_1
-	)}
-
-happyReduce_103 = happyReduce 4# 59# happyReduction_103
-happyReduction_103 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut68 happy_x_1 of { happy_var_1 -> 
-	case happyOut66 happy_x_3 of { happy_var_3 -> 
-	happyIn63
-		 (GApp happy_var_1 happy_var_3
-	) `HappyStk` happyRest}}
-
-happyReduce_104 = happySpecReduce_1  59# happyReduction_104
-happyReduction_104 happy_x_1
-	 =  case happyOut54 happy_x_1 of { happy_var_1 -> 
-	happyIn63
-		 (GVar happy_var_1
-	)}
-
-happyReduce_105 = happySpecReduce_1  59# happyReduction_105
-happyReduction_105 happy_x_1
-	 =  case happyOut71 happy_x_1 of { happy_var_1 -> 
-	happyIn63
-		 (GNumber happy_var_1
-	)}
-
-happyReduce_106 = happySpecReduce_1  59# happyReduction_106
-happyReduction_106 happy_x_1
-	 =  case happyOut103 happy_x_1 of { happy_var_1 -> 
-	happyIn63
-		 (GDistinctObject (stripQuotes '"' happy_var_1)
-	)}
-
-happyReduce_107 = happySpecReduce_1  59# happyReduction_107
-happyReduction_107 happy_x_1
-	 =  case happyOut64 happy_x_1 of { happy_var_1 -> 
-	happyIn63
-		 (happy_var_1
-	)}
-
-happyReduce_108 = happyReduce 4# 60# happyReduction_108
-happyReduction_108 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut104 happy_x_1 of { happy_var_1 -> 
-	case happyOut11 happy_x_3 of { happy_var_3 -> 
-	happyIn64
-		 (GFormulaData happy_var_1 happy_var_3
-	) `HappyStk` happyRest}}
-
-happyReduce_109 = happySpecReduce_2  61# happyReduction_109
-happyReduction_109 happy_x_2
-	happy_x_1
-	 =  happyIn65
-		 ([]
-	)
-
-happyReduce_110 = happySpecReduce_3  61# happyReduction_110
-happyReduction_110 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut66 happy_x_2 of { happy_var_2 -> 
-	happyIn65
-		 (happy_var_2
-	)}
-
-happyReduce_111 = happySpecReduce_1  62# happyReduction_111
-happyReduction_111 happy_x_1
-	 =  case happyOut62 happy_x_1 of { happy_var_1 -> 
-	happyIn66
-		 ([happy_var_1]
-	)}
-
-happyReduce_112 = happySpecReduce_3  62# happyReduction_112
-happyReduction_112 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut62 happy_x_1 of { happy_var_1 -> 
-	case happyOut66 happy_x_3 of { happy_var_3 -> 
-	happyIn66
-		 (happy_var_1 : happy_var_3
-	)}}
-
-happyReduce_113 = happySpecReduce_1  63# happyReduction_113
-happyReduction_113 happy_x_1
-	 =  case happyOut68 happy_x_1 of { happy_var_1 -> 
-	happyIn67
-		 (happy_var_1
-	)}
-
-happyReduce_114 = happySpecReduce_1  63# happyReduction_114
-happyReduction_114 happy_x_1
-	 =  case happyOut109 happy_x_1 of { happy_var_1 -> 
-	happyIn67
-		 (AtomicWord(show happy_var_1)
-	)}
-
-happyReduce_115 = happySpecReduce_1  64# happyReduction_115
-happyReduction_115 happy_x_1
-	 =  case happyOut75 happy_x_1 of { happy_var_1 -> 
-	happyIn68
-		 (AtomicWord happy_var_1
-	)}
-
-happyReduce_116 = happySpecReduce_1  64# happyReduction_116
-happyReduction_116 happy_x_1
-	 =  case happyOut102 happy_x_1 of { happy_var_1 -> 
-	happyIn68
-		 (AtomicWord (stripQuotes '\'' happy_var_1)
-	)}
-
-happyReduce_117 = happySpecReduce_1  65# happyReduction_117
-happyReduction_117 happy_x_1
-	 =  case happyOut104 happy_x_1 of { happy_var_1 -> 
-	happyIn69
-		 (happy_var_1
-	)}
-
-happyReduce_118 = happySpecReduce_1  66# happyReduction_118
-happyReduction_118 happy_x_1
-	 =  case happyOut105 happy_x_1 of { happy_var_1 -> 
-	happyIn70
-		 (happy_var_1
-	)}
-
-happyReduce_119 = happySpecReduce_1  67# happyReduction_119
-happyReduction_119 happy_x_1
-	 =  case happyOut72 happy_x_1 of { happy_var_1 -> 
-	happyIn71
-		 (fromIntegral happy_var_1
-	)}
-
-happyReduce_120 = happySpecReduce_1  67# happyReduction_120
-happyReduction_120 happy_x_1
-	 =  case happyOut73 happy_x_1 of { happy_var_1 -> 
-	happyIn71
-		 (happy_var_1
-	)}
-
-happyReduce_121 = happySpecReduce_1  67# happyReduction_121
-happyReduction_121 happy_x_1
-	 =  case happyOut110 happy_x_1 of { happy_var_1 -> 
-	happyIn71
-		 (happy_var_1
-	)}
-
-happyReduce_122 = happySpecReduce_1  68# happyReduction_122
-happyReduction_122 happy_x_1
-	 =  case happyOut108 happy_x_1 of { happy_var_1 -> 
-	happyIn72
-		 (happy_var_1
-	)}
-
-happyReduce_123 = happySpecReduce_1  68# happyReduction_123
-happyReduction_123 happy_x_1
-	 =  case happyOut109 happy_x_1 of { happy_var_1 -> 
-	happyIn72
-		 (happy_var_1
-	)}
-
-happyReduce_124 = happySpecReduce_3  69# happyReduction_124
-happyReduction_124 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut72 happy_x_1 of { happy_var_1 -> 
-	case happyOut109 happy_x_3 of { happy_var_3 -> 
-	happyIn73
-		 (happy_var_1 % happy_var_3
-	)}}
-
-happyReduce_125 = happySpecReduce_1  70# happyReduction_125
-happyReduction_125 happy_x_1
-	 =  case happyOut102 happy_x_1 of { happy_var_1 -> 
-	happyIn74
-		 (stripQuotes '\'' happy_var_1
-	)}
-
-happyReduce_126 = happySpecReduce_1  71# happyReduction_126
-happyReduction_126 happy_x_1
-	 =  case happyOut107 happy_x_1 of { happy_var_1 -> 
-	happyIn75
-		 (happy_var_1
-	)}
-
-happyReduce_127 = happySpecReduce_1  71# happyReduction_127
-happyReduction_127 happy_x_1
-	 =  happyIn75
-		 ("fof"
-	)
-
-happyReduce_128 = happySpecReduce_1  71# happyReduction_128
-happyReduction_128 happy_x_1
-	 =  happyIn75
-		 ("cnf"
-	)
-
-happyReduce_129 = happySpecReduce_1  71# happyReduction_129
-happyReduction_129 happy_x_1
-	 =  happyIn75
-		 ("include"
-	)
-
-happyReduce_130 = happySpecReduce_2  72# happyReduction_130
-happyReduction_130 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn76
-		 (happy_var_1
-	)}
-
-happyReduce_131 = happySpecReduce_2  73# happyReduction_131
-happyReduction_131 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn77
-		 (happy_var_1
-	)}
-
-happyReduce_132 = happySpecReduce_2  74# happyReduction_132
-happyReduction_132 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn78
-		 (happy_var_1
-	)}
-
-happyReduce_133 = happySpecReduce_2  75# happyReduction_133
-happyReduction_133 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn79
-		 (happy_var_1
-	)}
-
-happyReduce_134 = happySpecReduce_2  76# happyReduction_134
-happyReduction_134 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn80
-		 (happy_var_1
-	)}
-
-happyReduce_135 = happySpecReduce_2  77# happyReduction_135
-happyReduction_135 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn81
-		 (happy_var_1
-	)}
-
-happyReduce_136 = happySpecReduce_2  78# happyReduction_136
-happyReduction_136 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn82
-		 (happy_var_1
-	)}
-
-happyReduce_137 = happySpecReduce_2  79# happyReduction_137
-happyReduction_137 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn83
-		 (happy_var_1
-	)}
-
-happyReduce_138 = happySpecReduce_2  80# happyReduction_138
-happyReduction_138 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn84
-		 (happy_var_1
-	)}
-
-happyReduce_139 = happySpecReduce_2  81# happyReduction_139
-happyReduction_139 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	case happyOut111 happy_x_2 of { happy_var_2 -> 
-	happyIn85
-		 (AToken happy_var_1 happy_var_2
-	)}}
-
-happyReduce_140 = happySpecReduce_2  82# happyReduction_140
-happyReduction_140 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn86
-		 (happy_var_1
-	)}
-
-happyReduce_141 = happySpecReduce_2  83# happyReduction_141
-happyReduction_141 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn87
-		 (happy_var_1
-	)}
-
-happyReduce_142 = happySpecReduce_2  84# happyReduction_142
-happyReduction_142 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn88
-		 (happy_var_1
-	)}
-
-happyReduce_143 = happySpecReduce_2  85# happyReduction_143
-happyReduction_143 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn89
-		 (happy_var_1
-	)}
-
-happyReduce_144 = happySpecReduce_2  86# happyReduction_144
-happyReduction_144 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn90
-		 (happy_var_1
-	)}
-
-happyReduce_145 = happySpecReduce_2  87# happyReduction_145
-happyReduction_145 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn91
-		 (happy_var_1
-	)}
-
-happyReduce_146 = happySpecReduce_2  88# happyReduction_146
-happyReduction_146 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn92
-		 (happy_var_1
-	)}
-
-happyReduce_147 = happySpecReduce_2  89# happyReduction_147
-happyReduction_147 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn93
-		 (happy_var_1
-	)}
-
-happyReduce_148 = happySpecReduce_2  90# happyReduction_148
-happyReduction_148 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn94
-		 (happy_var_1
-	)}
-
-happyReduce_149 = happySpecReduce_2  91# happyReduction_149
-happyReduction_149 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn95
-		 (happy_var_1
-	)}
-
-happyReduce_150 = happySpecReduce_2  92# happyReduction_150
-happyReduction_150 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn96
-		 (happy_var_1
-	)}
-
-happyReduce_151 = happySpecReduce_2  93# happyReduction_151
-happyReduction_151 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn97
-		 (happy_var_1
-	)}
-
-happyReduce_152 = happySpecReduce_2  94# happyReduction_152
-happyReduction_152 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn98
-		 (happy_var_1
-	)}
-
-happyReduce_153 = happySpecReduce_2  95# happyReduction_153
-happyReduction_153 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn99
-		 (happy_var_1
-	)}
-
-happyReduce_154 = happySpecReduce_2  96# happyReduction_154
-happyReduction_154 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn100
-		 (happy_var_1
-	)}
-
-happyReduce_155 = happySpecReduce_2  97# happyReduction_155
-happyReduction_155 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn101
-		 (happy_var_1
-	)}
-
-happyReduce_156 = happySpecReduce_2  98# happyReduction_156
-happyReduction_156 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (SingleQuoted happy_var_1) -> 
-	happyIn102
-		 (happy_var_1
-	)}
-
-happyReduce_157 = happySpecReduce_2  99# happyReduction_157
-happyReduction_157 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (DoubleQuoted happy_var_1) -> 
-	happyIn103
-		 (happy_var_1
-	)}
-
-happyReduce_158 = happySpecReduce_2  100# happyReduction_158
-happyReduction_158 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (DollarWord happy_var_1) -> 
-	happyIn104
-		 (happy_var_1
-	)}
-
-happyReduce_159 = happySpecReduce_2  101# happyReduction_159
-happyReduction_159 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (DollarDollarWord happy_var_1) -> 
-	happyIn105
-		 (happy_var_1
-	)}
-
-happyReduce_160 = happySpecReduce_2  102# happyReduction_160
-happyReduction_160 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (UpperWord happy_var_1) -> 
-	happyIn106
-		 (happy_var_1
-	)}
-
-happyReduce_161 = happySpecReduce_2  103# happyReduction_161
-happyReduction_161 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (LowerWord happy_var_1) -> 
-	happyIn107
-		 (happy_var_1
-	)}
-
-happyReduce_162 = happySpecReduce_2  104# happyReduction_162
-happyReduction_162 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (SignedInt happy_var_1) -> 
-	happyIn108
-		 (happy_var_1
-	)}
-
-happyReduce_163 = happySpecReduce_2  105# happyReduction_163
-happyReduction_163 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (UnsignedInt happy_var_1) -> 
-	happyIn109
-		 (happy_var_1
-	)}
-
-happyReduce_164 = happySpecReduce_2  106# happyReduction_164
-happyReduction_164 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (Real happy_var_1) -> 
-	happyIn110
-		 (happy_var_1
-	)}
-
-happyReduce_165 = happySpecReduce_0  107# happyReduction_165
-happyReduction_165  =  happyIn111
-		 ([]
-	)
-
-happyReduce_166 = happySpecReduce_2  107# happyReduction_166
-happyReduction_166 happy_x_2
-	happy_x_1
-	 =  case happyOutTok happy_x_1 of { (CommentToken happy_var_1) -> 
-	case happyOut111 happy_x_2 of { happy_var_2 -> 
-	happyIn111
-		 (happy_var_1 : happy_var_2
-	)}}
-
-happyNewToken action sts stk [] =
-	happyDoAction 38# notHappyAtAll action sts stk []
-
-happyNewToken action sts stk (tk:tks) =
-	let cont i = happyDoAction i tk action sts stk tks in
-	case tk of {
-	LP -> cont 1#;
-	RP -> cont 2#;
-	Lbrack -> cont 3#;
-	Rbrack -> cont 4#;
-	Comma -> cont 5#;
-	Dot -> cont 6#;
-	Star -> cont 7#;
-	Plus -> cont 8#;
-	Rangle -> cont 9#;
-	Oper ":" -> cont 10#;
-	Oper "<=>" -> cont 11#;
-	Oper "=>" -> cont 12#;
-	Oper "<~>" -> cont 13#;
-	Oper "~|" -> cont 14#;
-	Oper "~&" -> cont 15#;
-	Oper "<=" -> cont 16#;
-	Oper "=" -> cont 17#;
-	Oper "!=" -> cont 18#;
-	Oper "!" -> cont 19#;
-	Oper "?" -> cont 20#;
-	Oper "&" -> cont 21#;
-	Oper "|" -> cont 22#;
-	Oper "~" -> cont 23#;
-	LowerWord "fof" -> cont 24#;
-	LowerWord "cnf" -> cont 25#;
-	LowerWord "include" -> cont 26#;
-	SingleQuoted happy_dollar_dollar -> cont 27#;
-	DoubleQuoted happy_dollar_dollar -> cont 28#;
-	DollarWord happy_dollar_dollar -> cont 29#;
-	DollarDollarWord happy_dollar_dollar -> cont 30#;
-	UpperWord happy_dollar_dollar -> cont 31#;
-	LowerWord happy_dollar_dollar -> cont 32#;
-	SignedInt happy_dollar_dollar -> cont 33#;
-	UnsignedInt happy_dollar_dollar -> cont 34#;
-	Real happy_dollar_dollar -> cont 35#;
-	Slash -> cont 36#;
-	CommentToken happy_dollar_dollar -> cont 37#;
-	_ -> happyError' (tk:tks)
-	}
-
-happyError_ 38# tk tks = happyError' tks
-happyError_ _ tk tks = happyError' (tk:tks)
-
-newtype HappyIdentity a = HappyIdentity a
-happyIdentity = HappyIdentity
-happyRunIdentity (HappyIdentity a) = a
-
-instance Monad HappyIdentity where
-    return = HappyIdentity
-    (HappyIdentity p) >>= q = q p
-
-happyThen :: () => HappyIdentity a -> (a -> HappyIdentity b) -> HappyIdentity b
-happyThen = (>>=)
-happyReturn :: () => a -> HappyIdentity a
-happyReturn = (return)
-happyThen1 m k tks = (>>=) m (\a -> k a tks)
-happyReturn1 :: () => a -> b -> HappyIdentity a
-happyReturn1 = \a tks -> (return) a
-happyError' :: () => [(Token)] -> HappyIdentity a
-happyError' = HappyIdentity . ((\xs -> case xs of
-                    xs -> error ("Parse error, pos: "++show (take 25 xs))))
-
-parseTPTPwithComment tks = happyRunIdentity happySomeParser where
-  happySomeParser = happyThen (happyParse 0# tks) (\x -> happyReturn (happyOut4 x))
-
-happySeq = happyDontSeq
-
-
-data AToken = AToken { tok :: Token, comm :: [String] }
-
-class Commented c where
-  withComments :: F c -> [String] -> F c
-
-instance Commented Identity where
-  withComments = const
-
-instance Commented (State [String]) where
-  withComments (F mf) s = F $ do { f <- mf; put s; return f }
-
-
-stripQuotes which (x:xs) = go xs
-                      where
-                        go [x] = []
-                        go ('\\':'\\':xs) = '\\':go xs
-                        go ('\\':which:xs) = which:go xs
-                        go (x:xs) = x:go xs
-
-fApp2pApp (T mf) = F $ do FunApp x args <- mf
-                          return $ PredApp x args
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
-{-# LINE 1 "<command-line>" #-}
-{-# LINE 11 "<command-line>" #-}
-# 1 "/usr/include/stdc-predef.h" 1 3 4
-
-# 17 "/usr/include/stdc-predef.h" 3 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 47 "/usr/include/stdc-predef.h" 3 4
-
-# 59 "/usr/include/stdc-predef.h" 3 4
-
-
-
-
-
-
-
-
-{-# LINE 11 "<command-line>" #-}
-{-# LINE 1 "templates/GenericTemplate.hs" #-}
--- Id: GenericTemplate.hs,v 1.26 2005/01/14 14:47:22 simonmar Exp 
-
-{-# LINE 13 "templates/GenericTemplate.hs" #-}
-
-
-
-
-
--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.
-#if __GLASGOW_HASKELL__ > 706
-#define LT(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.<# m)) :: Bool)
-#define GTE(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.>=# m)) :: Bool)
-#define EQ(n,m) ((Happy_GHC_Exts.tagToEnum# (n Happy_GHC_Exts.==# m)) :: Bool)
-#else
-#define LT(n,m) (n Happy_GHC_Exts.<# m)
-#define GTE(n,m) (n Happy_GHC_Exts.>=# m)
-#define EQ(n,m) (n Happy_GHC_Exts.==# m)
-#endif
-{-# LINE 46 "templates/GenericTemplate.hs" #-}
-
-
-data Happy_IntList = HappyCons Happy_GHC_Exts.Int# Happy_IntList
-
-
-
-
-
-{-# LINE 67 "templates/GenericTemplate.hs" #-}
-
-{-# LINE 77 "templates/GenericTemplate.hs" #-}
-
-{-# LINE 86 "templates/GenericTemplate.hs" #-}
-
-infixr 9 `HappyStk`
-data HappyStk a = HappyStk a (HappyStk a)
-
------------------------------------------------------------------------------
--- starting the parse
-
-happyParse start_state = happyNewToken start_state notHappyAtAll notHappyAtAll
-
------------------------------------------------------------------------------
--- Accepting the parse
-
--- If the current token is 0#, it means we've just accepted a partial
--- parse (a %partial parser).  We must ignore the saved token on the top of
--- the stack in this case.
-happyAccept 0# tk st sts (_ `HappyStk` ans `HappyStk` _) =
-        happyReturn1 ans
-happyAccept j tk st sts (HappyStk ans _) = 
-        (happyTcHack j (happyTcHack st)) (happyReturn1 ans)
-
------------------------------------------------------------------------------
--- Arrays only: do the next action
-
-
-
-happyDoAction i tk st
-        = {- nothing -}
-
-
-          case action of
-                0#           -> {- nothing -}
-                                     happyFail i tk st
-                -1#          -> {- nothing -}
-                                     happyAccept i tk st
-                n | LT(n,(0# :: Happy_GHC_Exts.Int#)) -> {- nothing -}
-
-                                                   (happyReduceArr Happy_Data_Array.! rule) i tk st
-                                                   where rule = (Happy_GHC_Exts.I# ((Happy_GHC_Exts.negateInt# ((n Happy_GHC_Exts.+# (1# :: Happy_GHC_Exts.Int#))))))
-                n                 -> {- nothing -}
-
-
-                                     happyShift new_state i tk st
-                                     where new_state = (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#))
-   where off    = indexShortOffAddr happyActOffsets st
-         off_i  = (off Happy_GHC_Exts.+# i)
-         check  = if GTE(off_i,(0# :: Happy_GHC_Exts.Int#))
-                  then EQ(indexShortOffAddr happyCheck off_i, i)
-                  else False
-         action
-          | check     = indexShortOffAddr happyTable off_i
-          | otherwise = indexShortOffAddr happyDefActions st
-
-
-indexShortOffAddr (HappyA# arr) off =
-        Happy_GHC_Exts.narrow16Int# i
-  where
-        i = Happy_GHC_Exts.word2Int# (Happy_GHC_Exts.or# (Happy_GHC_Exts.uncheckedShiftL# high 8#) low)
-        high = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr (off' Happy_GHC_Exts.+# 1#)))
-        low  = Happy_GHC_Exts.int2Word# (Happy_GHC_Exts.ord# (Happy_GHC_Exts.indexCharOffAddr# arr off'))
-        off' = off Happy_GHC_Exts.*# 2#
-
-
-
-
-
-data HappyAddr = HappyA# Happy_GHC_Exts.Addr#
-
-
-
-
------------------------------------------------------------------------------
--- HappyState data type (not arrays)
-
-{-# LINE 170 "templates/GenericTemplate.hs" #-}
-
------------------------------------------------------------------------------
--- Shifting a token
-
-happyShift new_state 0# tk st sts stk@(x `HappyStk` _) =
-     let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
---     trace "shifting the error token" $
-     happyDoAction i tk new_state (HappyCons (st) (sts)) (stk)
-
-happyShift new_state i tk st sts stk =
-     happyNewToken new_state (HappyCons (st) (sts)) ((happyInTok (tk))`HappyStk`stk)
-
--- happyReduce is specialised for the common cases.
-
-happySpecReduce_0 i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happySpecReduce_0 nt fn j tk st@((action)) sts stk
-     = happyGoto nt j tk st (HappyCons (st) (sts)) (fn `HappyStk` stk)
-
-happySpecReduce_1 i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happySpecReduce_1 nt fn j tk _ sts@((HappyCons (st@(action)) (_))) (v1`HappyStk`stk')
-     = let r = fn v1 in
-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
-
-happySpecReduce_2 i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happySpecReduce_2 nt fn j tk _ (HappyCons (_) (sts@((HappyCons (st@(action)) (_))))) (v1`HappyStk`v2`HappyStk`stk')
-     = let r = fn v1 v2 in
-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
-
-happySpecReduce_3 i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happySpecReduce_3 nt fn j tk _ (HappyCons (_) ((HappyCons (_) (sts@((HappyCons (st@(action)) (_))))))) (v1`HappyStk`v2`HappyStk`v3`HappyStk`stk')
-     = let r = fn v1 v2 v3 in
-       happySeq r (happyGoto nt j tk st sts (r `HappyStk` stk'))
-
-happyReduce k i fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happyReduce k nt fn j tk st sts stk
-     = case happyDrop (k Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) sts of
-         sts1@((HappyCons (st1@(action)) (_))) ->
-                let r = fn stk in  -- it doesn't hurt to always seq here...
-                happyDoSeq r (happyGoto nt j tk st1 sts1 r)
-
-happyMonadReduce k nt fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happyMonadReduce k nt fn j tk st sts stk =
-      case happyDrop k (HappyCons (st) (sts)) of
-        sts1@((HappyCons (st1@(action)) (_))) ->
-          let drop_stk = happyDropStk k stk in
-          happyThen1 (fn stk tk) (\r -> happyGoto nt j tk st1 sts1 (r `HappyStk` drop_stk))
-
-happyMonad2Reduce k nt fn 0# tk st sts stk
-     = happyFail 0# tk st sts stk
-happyMonad2Reduce k nt fn j tk st sts stk =
-      case happyDrop k (HappyCons (st) (sts)) of
-        sts1@((HappyCons (st1@(action)) (_))) ->
-         let drop_stk = happyDropStk k stk
-
-             off = indexShortOffAddr happyGotoOffsets st1
-             off_i = (off Happy_GHC_Exts.+# nt)
-             new_state = indexShortOffAddr happyTable off_i
-
-
-
-          in
-          happyThen1 (fn stk tk) (\r -> happyNewToken new_state sts1 (r `HappyStk` drop_stk))
-
-happyDrop 0# l = l
-happyDrop n (HappyCons (_) (t)) = happyDrop (n Happy_GHC_Exts.-# (1# :: Happy_GHC_Exts.Int#)) t
-
-happyDropStk 0# l = l
-happyDropStk n (x `HappyStk` xs) = happyDropStk (n Happy_GHC_Exts.-# (1#::Happy_GHC_Exts.Int#)) xs
-
------------------------------------------------------------------------------
--- Moving to a new state after a reduction
-
-
-happyGoto nt j tk st = 
-   {- nothing -}
-   happyDoAction j tk new_state
-   where off = indexShortOffAddr happyGotoOffsets st
-         off_i = (off Happy_GHC_Exts.+# nt)
-         new_state = indexShortOffAddr happyTable off_i
-
-
-
-
------------------------------------------------------------------------------
--- Error recovery (0# is the error token)
-
--- parse error if we are in recovery and we fail again
-happyFail 0# tk old_st _ stk@(x `HappyStk` _) =
-     let i = (case Happy_GHC_Exts.unsafeCoerce# x of { (Happy_GHC_Exts.I# (i)) -> i }) in
---      trace "failing" $ 
-        happyError_ i tk
-
-{-  We don't need state discarding for our restricted implementation of
-    "error".  In fact, it can cause some bogus parses, so I've disabled it
-    for now --SDM
-
--- discard a state
-happyFail  0# tk old_st (HappyCons ((action)) (sts)) 
-                                                (saved_tok `HappyStk` _ `HappyStk` stk) =
---      trace ("discarding state, depth " ++ show (length stk))  $
-        happyDoAction 0# tk action sts ((saved_tok`HappyStk`stk))
--}
-
--- Enter error recovery: generate an error token,
---                       save the old token and carry on.
-happyFail  i tk (action) sts stk =
---      trace "entering error recovery" $
-        happyDoAction 0# tk action sts ( (Happy_GHC_Exts.unsafeCoerce# (Happy_GHC_Exts.I# (i))) `HappyStk` stk)
-
--- Internal happy errors:
-
-notHappyAtAll :: a
-notHappyAtAll = error "Internal Happy error\n"
-
------------------------------------------------------------------------------
--- Hack to get the typechecker to accept our action functions
-
-
-happyTcHack :: Happy_GHC_Exts.Int# -> a -> a
-happyTcHack x y = y
-{-# INLINE happyTcHack #-}
-
-
------------------------------------------------------------------------------
--- Seq-ing.  If the --strict flag is given, then Happy emits 
---      happySeq = happyDoSeq
--- otherwise it emits
---      happySeq = happyDontSeq
-
-happyDoSeq, happyDontSeq :: a -> b -> b
-happyDoSeq   a b = a `seq` b
-happyDontSeq a b = b
-
------------------------------------------------------------------------------
--- Don't inline any functions from the template.  GHC has a nasty habit
--- of deciding to inline happyGoto everywhere, which increases the size of
--- the generated parser quite a bit.
-
-
-{-# NOINLINE happyDoAction #-}
-{-# NOINLINE happyTable #-}
-{-# NOINLINE happyCheck #-}
-{-# NOINLINE happyActOffsets #-}
-{-# NOINLINE happyGotoOffsets #-}
-{-# NOINLINE happyDefActions #-}
-
-{-# NOINLINE happyShift #-}
-{-# NOINLINE happySpecReduce_0 #-}
-{-# NOINLINE happySpecReduce_1 #-}
-{-# NOINLINE happySpecReduce_2 #-}
-{-# NOINLINE happySpecReduce_3 #-}
-{-# NOINLINE happyReduce #-}
-{-# NOINLINE happyMonadReduce #-}
-{-# NOINLINE happyGoto #-}
-{-# NOINLINE happyFail #-}
-
--- end of Happy Template.
diff --git a/logic-TPTP.cabal b/logic-TPTP.cabal
--- a/logic-TPTP.cabal
+++ b/logic-TPTP.cabal
@@ -1,5 +1,5 @@
-name: logic-TPTP    
-version: 0.4.2.0
+name: logic-TPTP
+version: 0.4.3.0
 cabal-version: >= 1.6
 build-type: Simple
 license: GPL
@@ -7,7 +7,7 @@
 maintainer: Ahn, Ki Yung <kya@pdx.edu>, Daniel Schüssler <daniels@community.haskell.org>
 bug-reports: http://github.com/DanielSchuessler/logic-TPTP/issues
 synopsis: Import, export etc. for TPTP, a syntax for first-order logic
-description: 
+description:
  For information about the TPTP format, see <http://www.cs.miami.edu/~tptp/>.
  .
  Components:
@@ -19,19 +19,19 @@
  - Pretty-printer ('pretty')
  .
  - QuickCheck instances (generation of random formulae)
- .  
+ .
  - 'diff' : Get a \"formula\" which represents the differences between two given formulae (equal subexpressions are truncated; so are the subexpressions of subexpressions whose heads already differ)
  .
  Tests passed:
  .
  - For randomly generated formulae, @parse . toTPTP == id@
  .
- - For all files in the TPTP (v 5.2.0) distribution's @Problems@ subtree which don't match the regex \"^(thf|tff)\(\", @parse . toTPTP . parse == parse@ 
+ - For all files in the TPTP (v 5.2.0) distribution's @Problems@ subtree which don't match the regex \"^(thf|tff)\(\", @parse . toTPTP . parse == parse@
  .
  Not yet implemented: The new /thf/ and /tff/ formula types.
  .
- 
- 
+
+
 category: Codec,Math,Theorem Provers
 author: Daniel Schüssler
 cabal-version: >= 1.6
@@ -40,6 +40,7 @@
                     testing/TestImportExportImportFile.hs
                     testing/PrettyPrintFile.hs
                     testing/ParseRandom.hs
+                    changelog.markdown
 
 tested-with: GHC==7.4.1
 tested-with: GHC==7.2.1
@@ -48,12 +49,12 @@
 source-repository head
  type: git
  location: http://github.com/DanielSchuessler/logic-TPTP.git
- 
- 
 
+
+
 Library
  ghc-options: -Wall -O2
- 
+
  build-depends:      base >=4 && < 5
                    , array
                    , syb
@@ -64,20 +65,19 @@
                    , pointed
                    , transformers
                    , transformers-compat >= 0.3
- 
+
  exposed-modules:   Codec.TPTP.Import
                   , Codec.TPTP.Base
                   , Codec.TPTP
                   , Codec.TPTP.Pretty
                   , Codec.TPTP.Export
                   , Codec.TPTP.Diff
- 
+
  other-modules:
-                    Lexer     
+                    Lexer
                   , Parser
                   , ParserC
                   , Codec.TPTP.QuickCheck
                   , Util
 
  build-tools: alex, happy
-
diff --git a/testing/ParseRandom.hs b/testing/ParseRandom.hs
--- a/testing/ParseRandom.hs
+++ b/testing/ParseRandom.hs
@@ -1,10 +1,10 @@
-{-# OPTIONS 
- -fglasgow-exts 
- -XCPP 
- -XTemplateHaskell 
- -XNamedFieldPuns 
- -XRecordWildCards 
- -XDeriveDataTypeable 
+{-# OPTIONS
+ -fglasgow-exts
+ -XCPP
+ -XTemplateHaskell
+ -XNamedFieldPuns
+ -XRecordWildCards
+ -XDeriveDataTypeable
  -XOverlappingInstances
  -XPackageImports
  -fwarn-incomplete-patterns
@@ -34,12 +34,12 @@
 import System.Exit
 import Text.Regex.PCRE.Light.Char8
 import Common
-    
+
 import "logic-TPTP" Codec.TPTP
 
 infilename = getArgs
 parseRes = return . parse =<< readFile =<< infilename
-         
+
 --main = forever $ quickCheck prop_test_ie --iei_i
 
 --main = stressTestParser
diff --git a/testing/PrettyPrintFile.hs b/testing/PrettyPrintFile.hs
--- a/testing/PrettyPrintFile.hs
+++ b/testing/PrettyPrintFile.hs
@@ -1,10 +1,10 @@
-{-# OPTIONS 
- -fglasgow-exts 
- -XCPP 
- -XTemplateHaskell 
- -XNamedFieldPuns 
- -XRecordWildCards 
- -XDeriveDataTypeable 
+{-# OPTIONS
+ -fglasgow-exts
+ -XCPP
+ -XTemplateHaskell
+ -XNamedFieldPuns
+ -XRecordWildCards
+ -XDeriveDataTypeable
  -XOverlappingInstances
  -XPackageImports
  -fwarn-incomplete-patterns
@@ -34,9 +34,8 @@
 import Text.PrettyPrint.ANSI.Leijen
 import System.Exit
 import Text.Regex.PCRE.Light.Char8
-    
+
 import "logic-TPTP" Codec.TPTP
 
 
 main = putStrLn . prettySimple . parse =<< readFile =<< getArgs
-
diff --git a/testing/TestImportExportImportFile.hs b/testing/TestImportExportImportFile.hs
--- a/testing/TestImportExportImportFile.hs
+++ b/testing/TestImportExportImportFile.hs
@@ -12,7 +12,7 @@
 import Text.PrettyPrint.ANSI.Leijen
 import System.Exit
 import Common
-    
+
 import "logic-TPTP" Codec.TPTP
 
 
@@ -25,13 +25,13 @@
   print_export <- getArgs
   forM_ files (diff_once_twice print_export)
   exitWith ExitSuccess
-         
+
 diff_once_twice ::  Bool -> String -> IO ()
 diff_once_twice print_export infilename'  = do
   --let tmp = "/tmp/tmp.tptp"
   putStrLn infilename'
   input <- readFile infilename'
-  case findUnsupportedFormulaType input of 
+  case findUnsupportedFormulaType input of
      Just x -> putStrLn . prettySimple . yellow . text $ ("Skipping unsupported formula type "++x)
      Nothing -> do
 
@@ -42,8 +42,8 @@
       let dif = mconcat (zipWith diffAFormula once twice)
       let success = (putStrLn . prettySimple . dullgreen . text $ "Ok")
 
-      -- case dif of 
-      --   OtherSame -> success 
+      -- case dif of
+      --   OtherSame -> success
       --   FormulaDiff (F Same) -> success
       --   _ -> do
       --     putStrLn . prettySimple $ dif
@@ -54,4 +54,3 @@
          else do
            putStrLn . prettySimple $ dif
            exitWith (ExitFailure 1)
-
diff --git a/testing/TestImportExportRandom.hs b/testing/TestImportExportRandom.hs
--- a/testing/TestImportExportRandom.hs
+++ b/testing/TestImportExportRandom.hs
@@ -7,7 +7,7 @@
 import Test.QuickCheck
 import Common
 import Data.Functor.Identity
-    
+
 import "logic-TPTP" Codec.TPTP
 
 main ::  IO ()
@@ -19,18 +19,18 @@
 
       (let
           [g] = parse tptp -- $ trace tptp tptp
-    
+
           dif = diffAFormula f g
        in
           whenFail
-          (putStrLn . prettySimple $ dif) 
-          
+          (putStrLn . prettySimple $ dif)
+
            (f==g)
-          
-          -- (case dif of 
+
+          -- (case dif of
           --    OtherSame -> True
           --    FormulaDiff (F Same) -> True
           --    _ -> False
           -- ))
-                
+
       )
diff --git a/testing/compileTests.sh b/testing/compileTests.sh
--- a/testing/compileTests.sh
+++ b/testing/compileTests.sh
@@ -6,8 +6,8 @@
 mkdir -p obj
 
 for x in TestImportExportImportFile TestImportExportRandom PrettyPrintFile ParseRandom; do
-    
+
 #    ghc -prof -auto-all -outputdir obj -o bin/$x --make -O2 -main-is $x $x
     ghc -outputdir obj -o bin/$x --make -O2 -main-is $x $x
-    
+
 done
